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을 구현하여 메모리 사용량을 줄이고 패딩 계산을 제거합니다.
  • 고급 최적화: AdamW보다 빠른 수렴을 보장하는 뉴턴-슐츠 직교화를 사용하는 Muon 최적화기를 포함합니다.
  • 유연한 패치 적용: 원본 소스 코드를 수정하지 않고도 런타임에 모델별 최적화를 삽입할 수 있는 마니 페치 시스템을 제공합니다.

대상 사용자

대규모 멀티모달 모델의 사전 학습 또는 미세조정이 필요한 AI 연구자 및 엔지니어, 특히 고해상도 이미지, 긴 동영상, 또는 복잡한 멀티모달(이미지, 오디오, 텍스트) 입력을 다루는 분들에게 적합합니다.

주요 특징

  • 광범위한 모델 지원: Qwen2.5-VL, Qwen3-VL MoE, WanVideo, LLaVA-OneVision 등 20개 이상의 아키텍처를 지원합니다.
  • 고효율성: 최초 적합 비닝 패킹을 사용한 시퀀스 패킹과 네이티브 스파스 어텐션(NSA)으로 장문맥 처리를 효율적으로 수행합니다.
  • 통합된 모달리티: 하나의 프레임워크에서 시각, 오디오, 텍스트를 통합하여 학습 가능한 모델을 훈련할 수 있습니다.
  • 생산 수준의 도구: Docker 이미지와 네이티브 torchrun 지원을 제공하여 클러스터 규모의 배포를 원활하게 합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트