Megatron Core 설치

Megatron Core 설치

Megatron Core는 PyPI에서 설치하거나, 소스에서 빌드하거나, NGC 컨테이너 안에서 실행할 수 있어요. 대부분의 사용자에게 PyPI가 가장 간단하고, 활발한 개발에는 소스 설치가, 수동 의존성 관리가 필요 없는 완전한 환경은 NGC 컨테이너가 좋아요.

출처: Megatron Core Installation (공식)

시스템 요구 사항

하드웨어: NVIDIA Turing 아키텍처 이상 권장. FP8 지원에는 NVIDIA Hopper, Ada, Blackwell GPU가 필요해요.

소프트웨어:

  • Python: >= 3.10 (3.12 권장)
  • PyTorch: >= 2.6.0
  • CUDA Toolkit: 최신 안정 버전

먼저 빠른 Python 패키지 설치 도구인 uv를 설치해요.

curl -LsSf https://astral.sh/uv/install.sh | sh

옵션 A: pip 설치 (권장)

PyPI에서 최신 안정 릴리스를 설치해요. 소스를 빌드하지 않고 바로 시작할 수 있어요.

uv pip install megatron-core

Weights & Biases, SentencePiece, Hugging Face Transformers 같은 선택 학습 의존성을 포함하려면:

uv pip install "megatron-core[training]"

Transformer Engine을 포함한 모든 extras를 쓰려면:

uv pip install --group build
uv pip install --no-build-isolation "megatron-core[training,dev]"

--no-build-isolation은 build 의존성이 환경에 미리 설치돼 있어야 해요. 여러 [dev] 패키지가 빌드 시에 torch를 import해 CUDA 커널을 컴파일하기 때문이에요. 하드웨어에 따라 이 단계는 20분 이상 걸릴 수 있어요. 미리 빌드된 바이너리를 원한다면 NGC 컨테이너를 쓰세요.

빌드는 메모리를 많이 쓸 수 있어요. 기본적으로 CPU 코어당 컴파일 작업이 하나라, 코어가 많은 머신에서는 OOM이 날 수 있어요. MAX_JOBS 환경변수로 제한하세요 (예: MAX_JOBS=4).

옵션 B: 소스에서 설치

변경 사항을 기여하거나, 릴리스 안 된 기능을 쓰거나, 코드를 디버깅할 때 사용해요. 저장소를 클론하고 editable 모드로 설치해요.

git clone https://github.com/NVIDIA/Megatron-LM.git
cd Megatron-LM
uv pip install -e .

모든 개발 의존성을 포함해 설치하려면:

uv pip install --group build
uv pip install --no-build-isolation -e ".[training,dev]"

메모리가 부족하면 MAX_JOBS=4 uv pip install --no-build-isolation -e ".[training,dev]"처럼 제한하세요.

옵션 C: NGC 컨테이너

모든 의존성(PyTorch, CUDA, cuDNN, NCCL, Transformer Engine)이 미리 설치된 완전한 환경을 원한다면 PyTorch NGC 컨테이너를 사용해요. 현재 Megatron Core 릴리스·테스트 매트릭스와의 호환성을 위해 최신 컨테이너보다 이전 달 컨테이너를 쓰는 걸 권장해요.

docker run --gpus all -it --rm \
  -v /path/to/dataset:/workspace/dataset \
  -v /path/to/checkpoints:/workspace/checkpoints \
  -e PIP_CONSTRAINT= \
  nvcr.io/nvidia/pytorch:26.01-py3

NGC PyTorch 컨테이너는 PIP_CONSTRAINT로 Python 환경을 전역 제약해요. 위의 -e PIP_CONSTRAINT= 플래그는 이 제약을 풀어서 Megatron Core와 의존성이 올바르게 설치되게 해요.

컨테이너 안에서(torch는 이미 NGC 이미지에 있음) Megatron Core를 설치해요.

pip install uv
uv pip install --no-build-isolation "megatron-core[training,dev]"

더 알아보기