대규모 모델의 분산 학습과 추론을 더 쉽고 효율적으로 지원하는 딥러닝 최적화 라이브러리입니다.
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
uv로 Python 가상 환경 만들기
uv venv nanotron --python 3.11 && source nanotron/bin/activate && uv pip install --upgrade pip - 2
PyTorch 설치하기
uv pip install torch --index-url https://download.pytorch.org/whl/cu124 - 3
핵심 종속성 설치하기
uv pip install -e . - 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 통계는 매일 갱신됩니다.
관련 프로젝트
대규모 AI 모델의 학습과 추론을 위한 PyTorch 기반 분산 시스템으로, 병렬화, 메모리 최적화, 이기종 학습을 지원합니다.
트랜스포머 LLM 학습 과정을 처음부터 구현하고 안내하는 PyTorch 코드베이스로, 사전 학습, SFT, 보상 모델링, DPO/PPO/GRPO와 텍스트 생성을 다룹니다.
PyTorch와 Triton 기반의 오픈소스 라이브러리로, 3D 병렬 처리와 ZeRO 메모리 최적화, Hugging Face 연동을 지원해 대규모 언어 모델을 학습합니다.
Megatron-LM과 DeepSpeed를 기반으로 모델·파이프라인·데이터 병렬화를 지원하는 GPU 대규모 자기회귀 언어 모델 학습 라이브러리입니다.
다차원 병렬 처리로 대규모 Transformer 모델을 학습하기 위한 GPU 최적화 라이브러리와 학습 레퍼런스 스크립트입니다.