NVIDIA-NeMo/Megatron-Bridge
Training library for Megatron-based models with bidirectional Hugging Face conversion capability
NVIDIA‑NeMo / Megatron‑Bridge – 개요
NeMo Megatron Bridge는 NVIDIA의 NeMo 프레임워크 내부에 위치한 PyTorch 네이티브 라이브러리입니다. 이 라이브러리의 목적은 대규모 모델을 위한 두 가지 주요 생태계 사이의 가교 역할을 하는 것입니다.
- 🤗 Hugging Face 모델 형식 (오픈소스 LLM, 시각-언어 모델 등의 사실상 표준)
- Megatron‑Core (NVIDIA의 Megatron‑LM 프로젝트에서 파생된 고성능 텐서 및 파이프라인 병렬 학습 엔진).
이 브리지를 사용하면 체크포인트를 양방향으로 변환하고, 변환의 정확성을 검증한 다음, Megatron‑Core의 강력한 병렬 처리(텐서, 파이프라인 및 혼합 정밀도 지원)를 활용하여 모델을 학습하거나 미세 조정할 수 있습니다. 또한 많은 최신 모델(Llama 3.2, GLM‑5, Qwen‑3, Nemotron‑3, Gemma‑4 VL 등)을 위한 즉시 사용 가능한 학습 "레시피"도 함께 제공됩니다.
왜 중요한가
- 속도 및 규모 – Megatron‑Core는 CUDA‑graph 실행, FP8/MXFP4 양자화, 컨텍스트 병렬 처리와 같은 고급 기능을 통해 수십 개의 GPU에서 조 단위 파라미터 모델을 실행할 수 있습니다. 이 브리지를 통해 모든 Hugging Face 모델을 해당 환경으로 가져올 수 있습니다.
- 원스톱 워크플로우 – 공개된 HF 체크포인트 변환 → Megatron 체크포인트 → 학습/미세 조정 → HF로 다시 내보내기까지 모두 동일한 Python API로 수행합니다.
- 광범위한 모델 지원 – 리포지토리는 수십 개의 최신 LLM, 멀티모달 모델 및 확산 모델에 대한 Day-0 지원을 추적하며 자주 업데이트됩니다(뉴스 섹션 참조).
- 커뮤니티 준비 완료 – Docker 컨테이너, CI, 코드 커버리지 배지 및 AI 코딩 어시스턴트가 새로운 모델을 추가하는 데 도움을 줄 수 있는 "skills" 디렉토리가 포함되어 있습니다.
핵심 기능 (README 설명 기준)
| 카테고리 | 브리지의 역할 |
|---|---|
| 변환 | Hugging Face와 Megatron 형식 간의 양방향 체크포인트 변환; 가중치 일치성 검증. |
| 학습 | Megatron‑Core 기반의 PyTorch 네이티브 학습 루프; 사전 학습, 지도 미세 조정(SFT) 및 LoRA/PEFT 미세 조정 지원. |
| 병렬 처리 | 텐서 모델 병렬, 파이프라인 모델 병렬 및 컨텍스트 병렬 실행; 단일 GPU 또는 다중 GPU 클러스터에서 작동. |
| 정밀도 | 혼합 정밀도 학습/추론: BF16, FP8, FP4, MXFP4 등. |
| 레시피 | 많은 모델을 위한 즉시 사용 가능한 설정 파일 (예: llama32_1b_pretrain_1gpu_h100_bf16_config). |
| 멀티모달 | 시각-언어, 오디오 및 확산 모델 지원 (예: Gemma‑4 VL, Nemotron‑Diffusion). |
| PEFT | LoRA 및 기타 파라미터 효율적인 미세 조정 워크플로우가 레시피에 포함됨. |
| 성능 도구 | 성능 레시피, 결정론적 실행, CUDA‑graph 최적화 및 MLPerf 스타일 벤치마크와의 통합. |
| 컨테이너 지원 | 공식 NeMo Framework Docker 이미지가 "최고의 경험"을 제공. |
| 확장성 | Megatron‑Core용 하위 모듈 (main과 dev 간 전환 가능); AI 어시스턴트 가이드를 위한 skills/ 디렉토리. |
일반적인 워크플로우 (퀵스타트 스타일)
- 모델 선택 – 예: Hugging Face의
meta-llama/Llama-3.2-1B. from megatron.bridge import AutoBridge bridge = AutoBridge.from_hf_pretrained("meta-llama/Llama-3.2-1B", trust_remote_code=True)- Megatron 공급자 생성, 병렬 크기 설정 및 모델 구체화.
- 학습 – 제공된 레시피(
pretrain(cfg, forward_step))를 실행하거나 자신만의 학습 루프 작성. - 내보내기 –
bridge.save_hf_pretrained(...)로 전체 HF 폴더를 쓰거나export_hf_weights로 가중치 스트리밍.
이 모든 작업은 NeMo 컨테이너 내에서 torch.distributed.run을 사용하여 시작할 수 있습니다.
누가 사용해야 하는가?
- 연구원: 최신 LLM을 대규모로 실험해야 하며 모델을 다시 작성하지 않고 NVIDIA의 병렬 처리를 활용하려는 분.
- 엔지니어: 다중 GPU 클러스터에서 실행해야 하는 사용자 지정 미세 조정 파이프라인(SFT, LoRA)을 구축하는 분.
- ML‑ops 팀: 대규모 학습 및 체크포인트 변환을 위한 재현 가능하고 컨테이너화된 환경을 원하는 분.
설치 및 시작하기
- 권장: 공식 NeMo Framework Docker 이미지(
nvcr.io/nvidia/nemo:<TAG>)를 가져와 README에 표시된 대로 컨테이너를 실행합니다. - 개발: 리포지토리를 복제하고 Megatron‑Core 하위 모듈을 초기화한 다음
uv sync(또는pip install -e .)를 사용하여 Python 패키지를 설치합니다. - Megatron‑Core 버전 전환 –
scripts/switch_mcore.sh를 사용하여 안정적인main커밋과 실험적인dev브랜치 간에 전환할 수 있습니다.
현재 모델 지원 범위 (선택)
- LLMs: Llama 3.2, GLM‑5.2, Qwen 3.5/3.6, DeepSeek V4, Falcon H1, Gemma 4, Nemotron‑3 Super/Ultra/Nano Omni, K‑EXAONE‑2, MiniMax‑M2.5, Kimi‑K2.5 VL 등.
- 멀티모달: Gemma 4 VL, Nemotron‑Diffusion, Qwen‑3 ASR, Bailing MoE V2.
- "Nemotron‑Labs Diffusion" 컬렉션을 통한 확산 및 생성형 비전 모델.
라이선스 및 커뮤니티
- 리포지토리는 NVIDIA Software License에 따라 오픈소스입니다(
LICENSE참조). - CI 배지는 테스트 커버리지와 CI 상태를 보여주며,
CONTRIBUTING.md가이드를 통해 기여를 환영합니다.
결론: NeMo Megatron Bridge는 NVIDIA의 Megatron‑Core 엔진을 사용하여 최신 LLM 및 멀티모달 모델에 대한 대규모 학습, 미세 조정 및 체크포인트 변환을 가능하게 하는 활발하게 유지 관리되는 오픈소스 프로젝트입니다.
관련
- Dispatch
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트