Composer 주요 기능 — 확장성·커스터마이즈·워크플로우
Composer 주요 기능
Composer(모토: "Supercharge Your Model Training")는 모델 훈련을 확장·커스터마이즈하고 워크플로우를 개선하는 기능을 중심으로 설계됐어요. 각 기능이 실제로 무엇을 바꾸는지 살펴볼게요.
확장성 (Scalability)
- FSDP — GPU에 맞지 않는 큰 모델을 위해 PyTorch의 FullyShardedDataParallelism을 트레이너에 통합했어요.
- 탄력적 샤딩 체크포인트(Elastic sharded checkpointing) — 8 GPU에서 저장하고 16 GPU에서 재개할 수 있어요. 저장한 샤딩 상태가 새 하드웨어 구성과 호환되는지 걱정할 필요가 없어요.
커스터마이즈 (Customizability)
Composer의 훈련 루프는 훈련 과정의 각 단계에서 발생하는 일련의 이벤트를 가져요. 예를 들어 Learning Rate Monitor Callback은 매 BATCH_END 이벤트마다 학습률을 로그해요.
- 콜백(Callbacks) — 훈련 루프의 어느 지점에서든 커스텀 로직을 넣을 수 있는 콜백 시스템
예를 들어 composer.callbacks.LRMonitor를 쓰면 학습률을 관찰할 수 있어요.
더 나은 워크플로우 (Better workflows)
- 자동 재개(Auto-resumption) — 훈련이 실패해도 두려워할 필요가 없어요. 코드를 다시 실행하면 Composer가 가장 최근 저장된 체크포인트에서 자동으로 재개해요.
생태계 내 사용
MosaicML 생태계(Composer + StreamingDataset + Mosaic AI Training) 안에서 쓰는 걸 권장해요. LLM 훈련·평가 튜토리얼은 llm-foundry의 TUTORIAL을 참고해요. MPT(상업적 사용 가능한 오픈소스 LLM)도 Composer로 훈련됐어요.