Запуск lmms-engine v0.1: что это и зачем нужно
Команда EvolvingLMMs-Lab выпустила первую стабильную версию lmms-engine v0.1. Это не просто обертка, а специализированный движок для обучения унифицированных мультимодальных моделей (LMMs) на масштабе. Проект позиционируется как «lean, flexible, and built for hacking at scale» — легкий, гибкий и созданный для агрессивной разработки.
Ключевая особенность платформы — поддержка более 20 архитектур, охватывающих не только Vision-Language модели, но и диффузионные генеративные модели (WanVideo, SiT), а также языковые модели нового поколения. Фреймворк позволяет обучать модели, объединяющие текст, изображение и аудио (например, Qwen2.5-Omni и Qwen3-Omni MoE), в едином контуре.
Поддерживаемые модели и ключевые возможности
Движок обеспечивает нативную поддержку самых актуальных архитектур, включая Qwen3-VL (с контекстом 10K+ токенов) и Qwen3-VL MoE (с Expert Parallelism). Особое внимание уделено оптимизациям для длинных контекстов и смешанной точности.
| Категория | Модель / Технология | Ключевая характеристика |
|---|---|---|
| Vision-Language | Qwen3-VL / Qwen2.5-VL | SOTA производительность, нативное разрешение, длинный контекст |
| Qwen3-VL MoE / Qwen3-MoE | Expert Parallelism (EP), эффективное масштабирование | |
| Omni (Мультимодальность) | Qwen3-Omni MoE / Qwen2.5-Omni | Объединение текста, изображения и аудио |
| Генерация видео | WanVideo (1.3B/14B) | Text-to-Video, Image-to-Video, Video-to-Video |
| Оптимизация памяти | Liger Kernel | Снижение потребления памяти на 30% (Triton fused kernels) |
| Параллелизм | FSDP2 + Ulysses SP | Шардинг параметров и последовательностей для кластеров |
Производительность и оптимизации: цифры и метрики
В октябре 2025 года команда опубликовала отчет по эффективности, где представлены метрики Model FLOPs Utilization (MFU). Использование техники Sequence Packing (упаковка последовательностей) позволяет достичь MFU на уровне 35-40% при дообучении (finetuning) Qwen2.5-VL, по сравнению с типичными 20-25% без этой оптимизации.
Фреймворк внедряет ряд передовых техник:
- Liger Kernel: Использование Triton-ядер для CrossEntropy, RMSNorm, RoPE и SwiGLU, что снижает потребление памяти за счет избегания промежуточных материализаций.
- Muon Optimizer: Продвинутый оптимизатор с ортогонализацией Ньютона-Шульца, который в некоторых сценариях превосходит AdamW по скорости сходимости.
- Native Sparse Attention (NSA): Гибридный механизм внимания для эффективной обработки длинных контекстов (используется в модели BAGEL).
- Flash Attention + Unpadding: Устранение вычислений на пустых токенах (padding) через tiled attention.
Архитектура и запуск
lmms-engine построен на базе PyTorch 2.0+ с использованием DTensor для шардинга параметров, градиентов и состояний оптимизатора (FSDP2). Поддерживается составной параллелизм: TP × Ulysses SP/CP × DP, что критично для обучения моделей с десятками миллиардов параметров на кластерах GPU.
Установка и запуск максимально упрощены через менеджер пакетов uv и Docker-образы. Для запуска достаточно указать YAML-конфигурацию:
torchrun --nproc_per_node=8 --nnodes=1 --node_rank=0 \
--master_addr=127.0.0.1 --master_port=12355 \
-m lmms_engine.launch.cli config_yaml=examples/qwen3_vl/example_config.yaml
Система также поддерживает «monkey patching» — инъекцию оптимизаций на лету без изменения исходного кода моделей, что ускоряет эксперименты с новыми архитектурами.
Источник: Github ↗
