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 サポートを提供し、クラスタスケールでのシームレスなデプロイを実現。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト