面向大模型分布式训练与推理的深度学习优化库,提升效率并降低使用门槛。
huggingface/nanotron
Hugging Face 推出的极简库,用于在多 GPU 集群上以 3D 并行(DP、TP、PP)预训练 Transformer 大模型。
- Star
- 2,854
- Fork
- 342
- 未关闭 Issue
- 159
- 最近提交
- 上个月
这是什么?
Nanotron 是一个用于在自定义数据集上预训练 Transformer 语言模型的 Python 库。它力求保持训练接口简洁易读,同时能扩展到大规模的多 GPU、多节点环境。
库中实现了数据并行、张量并行和流水线并行,并支持 MoE 模型的专家并行。它提供 AFAB 和 1F1B 两种流水线调度、ZeRO-1 优化器、FP32 梯度累积,以及便于调试的显式 TP 和 PP 接口。示例涵盖微型 Llama、Mamba、MoE、DoReMi 以及谱 µTransfer 扩展等场景。
训练通过 YAML 配置文件加 torchrun 启动,训练完成后可用独立脚本从检查点生成文本。项目还提供了基于不同模型规模和节点数的基准数据。
核心功能
- 01结合数据、张量和流水线的 3D 并行
- 02支持 MoE 模型的专家并行
- 03提供 AFAB 和 1F1B 两种流水线调度
- 04ZeRO-1 优化器并支持 FP32 梯度累积
- 05支持谱 µTransfer 参数化以扩展模型
适用场景
- 在多 GPU 硬件上从零预训练自定义的 Llama 类语言模型
- 小规模试验 MoE 或 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
在单节点 8 块 GPU 上训练一个微型 Llama 模型
CUDA_DEVICE_MAX_CONNECTIONS=1 torchrun --nproc_per_node=8 run_train.py --config-file examples/config_tiny_llama.yaml
使用前须知
- 训练示例假定使用多块 NVIDIA GPU,例如 8 块 H100 的节点。
- 安装需要多个额外步骤,包括 PyTorch CUDA 版本及 flash-attn 的编译。
- FP8 训练和 ZeRO-3 等功能仍在路线图中。
标签
常见问题
- nanotron 是什么?
- Hugging Face 推出的极简库,用于在多 GPU 集群上以 3D 并行(DP、TP、PP)预训练 Transformer 大模型。 Nanotron 是一个用于在自定义数据集上预训练 Transformer 语言模型的 Python 库。它力求保持训练接口简洁易读,同时能扩展到大规模的多 GPU、多节点环境。
- nanotron 可以免费使用吗?用的什么许可证?
- nanotron 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- nanotron 还在维护吗?
- 半年内有更新。nanotron 最近一次提交是在 2026年10月8日。
- nanotron 适合用来做什么?
- 在多 GPU 硬件上从零预训练自定义的 Llama 类语言模型 小规模试验 MoE 或 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 . 在单节点 8 块 GPU 上训练一个微型 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
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 PyTorch 的大模型分布式训练与推理系统,提供并行策略和显存优化等能力。
用 PyTorch 从零实现的 Transformer 大模型训练教程与代码库,涵盖预训练、SFT、奖励模型、DPO/PPO/GRPO 与文本生成。
基于 PyTorch 和 Triton 的开源大语言模型训练库,支持 3D 并行与 ZeRO 显存优化。
基于 Megatron 和 DeepSpeed 的 GPU 大规模自回归语言模型训练库,支持多种并行方式。
面向大规模 Transformer 模型训练的 GPU 优化库与参考训练脚本,支持多维并行。