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 네이티브 라이브러리입니다. 이 라이브러리의 목적은 대규모 모델을 위한 두 가지 주요 생태계 사이의 가교 역할을 하는 것입니다.

  1. 🤗 Hugging Face 모델 형식 (오픈소스 LLM, 시각-언어 모델 등의 사실상 표준)
  2. 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/ 디렉토리.

일반적인 워크플로우 (퀵스타트 스타일)

  1. 모델 선택 – 예: Hugging Face의 meta-llama/Llama-3.2-1B.
  2. from megatron.bridge import AutoBridge
    bridge = AutoBridge.from_hf_pretrained("meta-llama/Llama-3.2-1B", trust_remote_code=True)
    
  3. Megatron 공급자 생성, 병렬 크기 설정 및 모델 구체화.
  4. 학습 – 제공된 레시피(pretrain(cfg, forward_step))를 실행하거나 자신만의 학습 루프 작성.
  5. 내보내기 – 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
  • 프로젝트
  • 프로젝트