EvolvingLMMs-Lab/lmms-engine
A simple, unified multimodal models training engine. Lean, flexible, and built for hacking at scale.
何を解決するか
LMMs-Engine は、スケールの大きなマルチモーダルモデルの学習に向けた統合的で軽量なフレームワークを提供します。断片化された学習スクリプトの必要性を排除し、1つのエンジンで視覚言語モデル(VLM)、拡散モデル、および標準的な大規模言語モデル(LLM)の処理が可能になります。また、高性能な分散学習とメモリ最適化を統合しています。
動作方法
エンジンはビルダーパターンを使用して学習パイプラインを構成し、事前学習済み重みからモデルを初期化し、カスタムデータプロセッサを適用し、特定のトレーナー(例:一般のVLM向けの hf_trainer や動画生成向けの wan_trainer)を選択できます。データセットとプロセッサにはファクトリーパターンを採用しており、拡張性を確保しています。
スケーラビリティと効率性を実現するために、以下の高度な技術を統合しています:
- 分散学習:FSDP2(PyTorch DTensorベースのシャーディング)とUlysses Sequence Parallelism を使用し、超長文脈を処理可能にします。
- カーネル最適化:Ligerカーネル(Triton融合演算)とFlash Attention を実装し、メモリ使用量を削減し、パディング計算を排除します。
- 高度な最適化:AdamWより高速な収束を実現するニュートン・シュルツ直交化を用いる Muon オプティマイザーを含みます。
- 柔軟なパッチ適用:ランタイム時にモデル固有の最適化を挿入できるマネー・パッチシステムにより、元のソースコードを変更せずに最適化が可能になります。
対象ユーザー
大規模なマルチモーダルモデルの事前学習や微調整が必要なAI研究者およびエンジニア、特に高解像度画像、長時間動画、または複雑なマルチモーダル(画像、音声、テキスト)入力に取り組む方々に最適です。
主な特徴
- 広範なモデル対応:Qwen2.5-VL、Qwen3-VL MoE、WanVideo、LLaVA-OneVisionなど20以上のアーキテクチャをサポート。
- 高効率性:最初の適合ビンパッキングによるシーケンスパッキングとネイティブスパースアテンション(NSA)で、長文脈処理を効率化。
- 統合されたモダリティ:視覚、音声、テキストを1つのフレームワークで統合して学習可能なモデルの訓練が可能。
- プロダクションレベルのツールキット:Dockerイメージとネイティブ
torchrunサポートを提供し、クラスタスケールでのシームレスなデプロイを実現。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト