wisent-ai/ster
解決的問題
Ster 是一個專為控制和修改開放權重語言模型行為而設計的原生 Rust 工具包。它解決了在無需大量計算資源或複雜分散式訓練設置的情況下,精確地將模型輸出引導至特定特徵(如真實性)或微調其權重以提升效能的問題。
運作原理
Ster 使用基於 Candle 執行時構建的自訂 Llama 解碼器循環,使其能夠與模型的內部隱藏狀態進行交互。它透過兩種主要機制發揮作用:
- 激活引導:從 Transformer 層讀取隱藏狀態,並從對比範例(正負文本對)中學習「方向」。這些方向隨後被添加到生成過程中的殘差流中,以將模型推向期望的特徵。
- 微調:使用各種目標函數訓練低秩適配器(LoRA),包括監督微調、直接偏好優化(DPO)和組相對策略優化(GRPO)。它還可以訓練 Bradley-Terry 獎勵模型。
適用人群
旨在為處理開放權重模型(特別是 Llama 系列)並希望執行表示讀取、激活引導和高效本地微調的開發人員和研究人員提供服務。
亮點
- 原生 Rust 實現:基於 Candle 構建,支援高效能以及 CPU、Metal 和 CUDA。
- 對比學習:用於合成、檢查和評估用於引導的對比對集合的工具。
- 靈活調優:支援用於本地訓練的 LoRA、DPO、IPO 和 GRPO 目標函數。
- cedores:能夠將適配器合併到基礎權重中,或在生成過程中將其作為凍結工件應用。
- 整合工作流:一個完整的 CLI,用於訓練方向、評估向量和執行引導生成。
相關
- 專案
- Dispatch
- 專案
- 專案
- 專案