wisent-ai/ster

解決的問題

Ster 是一個專為控制和修改開放權重語言模型行為而設計的原生 Rust 工具包。它解決了在無需大量計算資源或複雜分散式訓練設置的情況下,精確地將模型輸出引導至特定特徵(如真實性)或微調其權重以提升效能的問題。

運作原理

Ster 使用基於 Candle 執行時構建的自訂 Llama 解碼器循環,使其能夠與模型的內部隱藏狀態進行交互。它透過兩種主要機制發揮作用:

  1. 激活引導:從 Transformer 層讀取隱藏狀態,並從對比範例(正負文本對)中學習「方向」。這些方向隨後被添加到生成過程中的殘差流中,以將模型推向期望的特徵。
  2. 微調:使用各種目標函數訓練低秩適配器(LoRA),包括監督微調、直接偏好優化(DPO)和組相對策略優化(GRPO)。它還可以訓練 Bradley-Terry 獎勵模型。

適用人群

旨在為處理開放權重模型(特別是 Llama 系列)並希望執行表示讀取、激活引導和高效本地微調的開發人員和研究人員提供服務。

亮點

  • 原生 Rust 實現:基於 Candle 構建,支援高效能以及 CPU、Metal 和 CUDA。
  • 對比學習:用於合成、檢查和評估用於引導的對比對集合的工具。
  • 靈活調優:支援用於本地訓練的 LoRA、DPO、IPO 和 GRPO 目標函數。
  • cedores:能夠將適配器合併到基礎權重中,或在生成過程中將其作為凍結工件應用。
  • 整合工作流:一個完整的 CLI,用於訓練方向、評估向量和執行引導生成。

相關

  • 專案
  • Dispatch
  • 專案
  • 專案
  • 專案