EvolvingLMMs-Lab/lmms-engine
A simple, unified multimodal models training engine. Lean, flexible, and built for hacking at scale.
解決的問題
LMMs-Engine 提供一個統一、輕量的框架,用於大規模訓練多模態模型。它消除了對碎片化訓練腳本的需求,透過單一引擎即可處理視覺-語言模型(VLM)、擴散模型和標準大語言模型(LLM),同時整合高效率的分散式訓練與記憶體優化。
工作原理
該引擎採用建構者模式來組合訓練流程,允許使用者從預訓練權重初始化模型,應用自訂資料處理器,並選擇特定的訓練器(例如用於通用 VLM 的 hf_trainer 或用於影片生成的 wan_trainer)。它使用工廠模式處理資料集與處理器,以確保可擴展性。
為實現可擴展性與高效性,它整合了多種先進技術:
- 分散式訓練:使用 FSDP2(基於 PyTorch DTensor 的分片)與 Ulysses Sequence Parallelism 來處理超長上下文。
- 內核優化:實作 Liger 內核(Triton 融合運算)與 Flash Attention,以減少記憶體使用並消除填充計算。
- 高階優化:包含 Muon 優化器,該優化器使用牛頓-舒爾茨正交化,相比 AdamW 具有更快的收斂速度。
- 靈活的修補機制:透過猴子補丁系統,可在不修改原始原始碼的情況下於執行階段注入模型特定的優化。
適用對象
專為需要進行大規模多模態模型預訓練或微調的 AI 研究人員與工程師設計,特別適用於處理高解析度影像、長影片或複雜多模態(影像、音訊、文字)輸入的場景。
主要亮點
- 廣泛的模型支援:支援 20+ 種架構,包括 Qwen2.5-VL、Qwen3-VL MoE、WanVideo 與 LLaVA-OneVision。
- 高效率:採用序列打包(首次適應裝箱)與原生稀疏注意力(NSA),實現高效的長上下文處理。
- 統一的模態支援:能夠訓練將視覺、音訊與文字統一於單一框架中的模型。
- 生產級工具鏈:提供 Docker 鏡像與原生
torchrun支援,實現無縫的叢集級部署。
相關
- 專案
- 專案
- 專案
- 專案
- 專案