invergent-ai/surogate
Training/Fine-tuning at the speed of light
解決的問題
Surogate Trainer 是一款高性能訓練引擎,旨在加速大規模模型的預訓練、微調與強化學習 (RL)。它解決了現有框架的效能瓶頸,特別針對在本地或雲端運行的開發人員與企業,針對速度與 VRAM 效率進行了優化。
工作原理
該專案利用原生 C++/CUDA 引擎實現接近光速的吞吐量。它採用帶有 AOT 自動微分的 Python DSL,允許新增模型架構。為了優化記憶體與速度,它具備針對權重、梯度與激活值的智慧 CPU 卸載功能,並支援包括 BF16、FP8 與 NVFP4(專門針對 Blackwell GPU)在內的廣泛精度格式。它還透過多執行緒後端與 Ray 支援原生的多 GPU 與多節點訓練。
適用對象
專為需要在各種 NVIDIA GPU 架構(從 SM80 到 SM121)上對 LLM 與 MoE 模型進行快速實驗與高性能訓練的 AI 開發人員與企業而建。
亮點
- 極致精度支援:原生支援 BF16、FP8 與 NVFP4 訓練,包含針對 Blackwell GPU 的專用方案。
- 進階 RL 能力:支援具備確定性環境的 GRPO 與 DPO 強化學習。
- 記憶體效率:智慧 CPU 卸載允許以原生 bf16 精度進行微調,旨在取代對 QLoRA 的需求。
- 自適應訓練:內建具備階段檢測、提前停止與動態 epoch 調整的自動化監控。
- MoE 專項優化:混合專家模型 (MoE) 的專用功能,包括專家並行 (Expert Parallelism) 與不平衡檢測。
- Stacked LoRA:能夠在不進行離線合併的情況下,在另一個 LoRA 适配器之上訓練 LoRA 适配器的能力。