Repolode
huggingface

huggingface/nanotron

Hugging Face의 미니멀한 라이브러리로, 멀티 GPU 클러스터에서 3D 병렬화(DP, TP, PP)를 사용해 transformer LLM을 사전 학습합니다.

스타
2,855
포크
342
열린 이슈
159
마지막 커밋
지난달

어떤 프로젝트인가요?

Nanotron은 커스텀 데이터셋으로 transformer 언어 모델을 사전 학습하는 Python 라이브러리입니다. 학습 API를 단순하고 이해하기 쉽게 유지하면서 대규모 멀티 GPU 및 멀티 노드 환경으로 확장하는 것을 목표로 합니다.

이 라이브러리는 데이터, 텐서, 파이프라인 병렬화와 Mixture-of-Experts 모델을 위한 expert 병렬화를 구현합니다. AFAB 및 1F1B 파이프라인 스케줄, ZeRO-1 옵티마이저, FP32 그래디언트 누적을 제공하며, 디버깅을 쉽게 할 수 있도록 명시적인 TP 및 PP API를 갖췄습니다. 예제 구성에는 소형 Llama 모델, Mamba, MoE, DoReMi, spectral µTransfer 스케일링이 포함됩니다.

학습은 torchrun으로 실행하는 YAML 구성 파일을 통해 진행되며, 별도 스크립트로 체크포인트를 생성할 수 있습니다. 프로젝트에서는 다양한 모델 크기와 노드 수에 대한 벤치마크 데이터가 담긴 Ultrascale Playbook도 안내합니다.

핵심 기능

  • 01데이터, 텐서, 파이프라인 병렬화를 결합한 3D 병렬화
  • 02Mixture-of-Experts 모델을 위한 expert 병렬화
  • 03AFAB 및 1F1B 파이프라인 스케줄
  • 04FP32 그래디언트 누적을 지원하는 ZeRO-1 옵티마이저
  • 05모델 스케일링을 위한 Spectral µTransfer 파라미터화

활용 사례

  • 멀티 GPU 하드웨어에서 커스텀 Llama 스타일 언어 모델 사전 학습
  • 소규모로 Mixture-of-Experts 또는 Mamba 아키텍처 실험
  • Slurm을 사용해 여러 노드에 걸쳐 transformer 학습 확장

빠른 시작

  1. 1

    uv로 Python 가상 환경 만들기

    uv venv nanotron --python 3.11 && source nanotron/bin/activate && uv pip install --upgrade pip
  2. 2

    PyTorch 설치하기

    uv pip install torch --index-url https://download.pytorch.org/whl/cu124
  3. 3

    핵심 종속성 설치하기

    uv pip install -e .
  4. 4

    GPU 8개가 탑재된 단일 노드에서 작은 Llama 모델 학습하기

    CUDA_DEVICE_MAX_CONNECTIONS=1 torchrun --nproc_per_node=8 run_train.py --config-file examples/config_tiny_llama.yaml

사용 전 알아둘 점

  • 학습 예제는 H100 8개가 장착된 노드와 같은 다중 GPU NVIDIA 하드웨어를 전제로 합니다.
  • 설정에는 PyTorch CUDA 휠 및 flash-attn 빌드 등 몇 가지 추가 단계가 필요합니다.
  • FP8 학습 및 ZeRO-3와 같은 일부 기능은 아직 로드맵에 있습니다.

토픽

자주 묻는 질문

nanotron은(는) 무엇인가요?
Hugging Face의 미니멀한 라이브러리로, 멀티 GPU 클러스터에서 3D 병렬화(DP, TP, PP)를 사용해 transformer LLM을 사전 학습합니다. Nanotron은 커스텀 데이터셋으로 transformer 언어 모델을 사전 학습하는 Python 라이브러리입니다. 학습 API를 단순하고 이해하기 쉽게 유지하면서 대규모 멀티 GPU 및 멀티 노드 환경으로 확장하는 것을 목표로 합니다.
nanotron은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
nanotron은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
nanotron은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. nanotron의 마지막 커밋은 2026년 10월 8일입니다.
nanotron은(는) 어디에 사용할 수 있나요?
멀티 GPU 하드웨어에서 커스텀 Llama 스타일 언어 모델 사전 학습 소규모로 Mixture-of-Experts 또는 Mamba 아키텍처 실험 Slurm을 사용해 여러 노드에 걸쳐 transformer 학습 확장
nanotron는 어떻게 설치하나요?
uv로 Python 가상 환경 만들기: uv venv nanotron --python 3.11 && source nanotron/bin/activate && uv pip install --upgrade pip PyTorch 설치하기: uv pip install torch --index-url https://download.pytorch.org/whl/cu124 핵심 종속성 설치하기: uv pip install -e . GPU 8개가 탑재된 단일 노드에서 작은 Llama 모델 학습하기: CUDA_DEVICE_MAX_CONNECTIONS=1 torchrun --nproc_per_node=8 run_train.py --config-file examples/config_tiny_llama.yaml
nanotron은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/huggingface/nanotron

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트