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強化学習のサポート。
- メモリ効率: ネイティブのbf16精度での微調整を可能にするスマートなCPUオフロードにより、QLoRAの必要性を置き換えることを目指しています。
- 適応型トレーニング: フェーズ検出、早期停止、動的なエポック調整を備えた組み込みの自動モニタリング。
- MoE特化: Expert Parallelismや不均衡検出を含む、Mixture-of-Experts専用機能。
- Stacked LoRA: オフラインマージなしで、別のLoRAアダプターの上にLoRAアダプターをトレーニングする機能。