Repolode
EvolvingLMMs-Lab

EvolvingLMMs-Lab/lmms-engine

Motor de entrenamiento unificado para modelos multimodales, compatible con VLM, difusión y entrenamiento de LLM con FSDP2, Muon y kernels de Liger.

Estrellas
832
Forks
38
Issues abiertos
11
Último commit
anteayer

¿Qué es?

LMMs Engine es un framework de entrenamiento en Python para modelos multimodales. Está dirigido a desarrolladores que quieren preentrenar o ajustar modelos de visión y lenguaje, modelos omni-modales (imagen, audio y texto), modelos de difusión y modelos de lenguaje mediante un único pipeline configurado con archivos de configuración, que se ejecuta con torchrun, Accelerate o una sola GPU.

El proyecto incluye configuraciones de ejemplo para diversos modelos, como Qwen2.5-VL, Qwen3-VL, Qwen3-Omni MoE, BAGEL, WanVideo y SiT. Ofrece entrenamiento distribuido mediante FSDP2, paralelismo tensorial, de secuencia Ulysses y de expertos, además de opciones para mejorar el uso de memoria y la velocidad, como el empaquetado de secuencias, la eliminación del padding de Flash Attention y los kernels fusionados de Liger.

Se pueden añadir modelos, datasets y procesadores mediante decoradores de registro, y los entrenadores se eligen según la tarea, desde el entrenamiento general de VLM/LM hasta la generación de video mediante flow matching.

Funciones clave

  • 01Admite FSDP2 y paralelismo tensorial, de secuencia Ulysses y de expertos para el entrenamiento distribuido.
  • 02Incluye el optimizador Muon con ortogonalización Newton-Schulz y kernels de Triton.
  • 03Ofrece empaquetado de secuencias y eliminación del padding de Flash Attention para reducir los cálculos de padding.
  • 04Aplica kernels fusionados de Liger, como CrossEntropy, RMSNorm, RoPE y SwiGLU.
  • 05Proporciona registros para modelos, datasets y procesadores personalizados.
  • 06Incluye configuraciones de ejemplo y scripts de ejecución para varios modelos VLM, MoE y de difusión.

Casos de uso

  • Preentrenar o ajustar modelos de visión y lenguaje, como Qwen-VL o LLaVA, con grandes datasets multimodales.
  • Entrenar modelos de difusión o generación de video, como WanVideo o SiT, en clústeres con varias GPU.
  • Realizar ajustes multimodales con contextos largos mediante el empaquetado y el paralelismo de secuencias.
  • Experimentar con modelos MoE mediante el paralelismo de expertos.

Inicio rápido

  1. 1

    Clona el repositorio

    git clone https://github.com/EvolvingLMMs-Lab/lmms-engine.git
  2. 2

    Entra en el directorio del proyecto

    cd lmms-engine
  3. 3

    Instala el paquete en modo editable con todos los extras

    uv pip install -e ".[all]"
  4. 4

    Inicia el entrenamiento en una sola GPU

    python -m lmms_engine.launch.cli config_yaml=examples/qwen3_vl/example_config.yaml

Antes de usarlo

  • El README no indica una licencia, aunque una insignia enlaza a Apache 2.0; comprueba el archivo LICENSE antes de usarlo.
  • Los ejemplos completos de entrenamiento presuponen una configuración multi-GPU, y algunas funciones, como FlashAttention y NSA, requieren instalaciones adicionales.

Temas

Preguntas frecuentes

¿Qué es lmms-engine?
Motor de entrenamiento unificado para modelos multimodales, compatible con VLM, difusión y entrenamiento de LLM con FSDP2, Muon y kernels de Liger. LMMs Engine es un framework de entrenamiento en Python para modelos multimodales. Está dirigido a desarrolladores que quieren preentrenar o ajustar modelos de visión y lenguaje, modelos omni-modales (imagen, audio y texto), modelos de difusión y modelos de lenguaje mediante un único pipeline configurado con archivos de configuración, que se ejecuta con torchrun, Accelerate o una sola GPU.
¿lmms-engine es gratuito? ¿Qué licencia tiene?
lmms-engine no declara ninguna licencia. Su código es público, pero sin licencia no tienes permiso explícito para reutilizarlo; consulta al autor antes de depender de él.
¿lmms-engine sigue mantenido?
Mantenimiento activo. El último commit de lmms-engine fue el 18 oct 2026.
¿Para qué puedo usar lmms-engine?
Preentrenar o ajustar modelos de visión y lenguaje, como Qwen-VL o LLaVA, con grandes datasets multimodales. Entrenar modelos de difusión o generación de video, como WanVideo o SiT, en clústeres con varias GPU. Realizar ajustes multimodales con contextos largos mediante el empaquetado y el paralelismo de secuencias. Experimentar con modelos MoE mediante el paralelismo de expertos.
¿Cómo se instala lmms-engine?
Clona el repositorio: git clone https://github.com/EvolvingLMMs-Lab/lmms-engine.git Entra en el directorio del proyecto: cd lmms-engine Instala el paquete en modo editable con todos los extras: uv pip install -e ".[all]" Inicia el entrenamiento en una sola GPU: python -m lmms_engine.launch.cli config_yaml=examples/qwen3_vl/example_config.yaml
¿Dónde consigo lmms-engine?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/EvolvingLMMs-Lab/lmms-engine

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados