nanotron

极简代码跑通千亿模型3D并行训练

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 模型训练 🍴 复刻 342 🐛 待处理 159 👀 关注 52
GitHub ↗
GitHub 星标 ★ 2854
维护状态 维护中
是否开源 开源
定价模式 🏷️完全免费 开源免费,需自行部署

项目预览

nanotron 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类模型训练
开发团队huggingface
定价模式🏷️完全免费
价格说明开源免费,需自行部署
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
GitHub 星标★ 2854
上线时间2023-09-11 00:00:00
代码更新2026-10-08
仓库体积15.5 MB
本站数据更新2026-11-08
维护状态维护中
收录时间2026-09-25
浏览次数1

项目介绍

nanotron 是 Hugging Face 开源的大语言模型训练框架,核心目标是用极简代码实现 3D 并行训练(数据并行、张量并行、流水线并行),让研究者和工程团队能在多机多卡集群上高效训练百亿到千亿参数级模型。它把分布式训练中繁琐的通信、切分、调度逻辑封装成清晰模块,同时集成 FlashAttention、ZeRO 优化、混合精度、梯度检查点等常用加速手段,并支持从 Hugging Face 生态加载数据集与模型权重。相比 Megatron-LM 等重型方案,nanotron 代码量小、可读性高,便于二次开发和实验验证,适合作为大模型预训练与微调的轻量级基座。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-25 · 当前星标 ★ 2854

使用教程

难度:入门 约 10 分钟 部署方式:本地安装 5 步

环境要求

  • Python 3.11(README 使用 --python 3.11 创建虚拟环境)
  • uv(用于创建虚拟环境和安装依赖)
  • 带 CUDA 的 PyTorch(README 安装的是 cu124 版本,需 NVIDIA GPU 环境)
  • 已训练好的 checkpoint 目录(运行生成脚本时需要)

安装与启动步骤

  1. 1创建虚拟环境

    用 uv 创建名为 nanotron 的 Python 3.11 虚拟环境并激活,同时升级 pip。HF 集群用户建议设置 UV_LINK_MODE=copy。

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

    从 PyTorch 官方 cu124 索引安装 PyTorch,默认适配 CUDA 12.4 环境。

    uv pip install torch --index-url https://download.pytorch.org/whl/cu124
  3. 3安装核心依赖

    在项目根目录以可编辑模式安装 nanotron 本体及核心依赖。

    uv pip install -e .
  4. 4安装示例依赖

    要运行示例脚本,再安装数据集、模型加载、日志等可选依赖。

    uv pip install datasets transformers datatrove[io] numba wandb
  5. 5运行文本生成

    用 torchrun 从已有 checkpoint 启动生成脚本;1 张卡时 tp、pp 都设为 1。

    torchrun --nproc_per_node=1 run_generate.py --ckpt-path checkpoints/{checkpoint_number}/ --tp 1 --pp 1

关键配置

配置项必填说明示例
--ckpt-path是指定要加载的 checkpoint 目录路径checkpoints/{checkpoint_number}/
--tp否张量并行度,增大可用多卡加速生成1
--pp否流水线并行度,超大模型可设更大值1
--nproc_per_node否torchrun 使用的单机进程(GPU)数量1

如何确认成功

torchrun 命令正常退出且无报错,并输出模型生成的文本结果。

常见问题

Q:安装 torch 时下载很慢或失败怎么办?

A:README 指定从 https://download.pytorch.org/whl/cu124 索引安装,请保留 --index-url 参数并确认网络可访问该地址。

Q:生成速度慢,怎么加速?

A:README 说明可增大 --tp(张量并行)值,用多张 GPU 加速生成。

Q:模型特别大,显存不够怎么办?

A:README 建议对非常大的模型使用更大的 --pp(流水线并行)值。

Q:运行时提示缺少 datasets、transformers 等模块?

A:说明只装了核心依赖,需补装示例依赖:uv pip install datasets transformers datatrove[io] numba wandb。

Q:uv 出现缓存警告怎么处理?

A:Hugging Face 集群用户可在 .bashrc 中加入 export UV_LINK_MODE=copy 以抑制 uv 的缓存警告。

注意事项

  • 所有命令需先激活虚拟环境(source nanotron/bin/activate)后再执行。
  • 命令中的 checkpoints/{checkpoint_number}/ 要替换成你实际的 checkpoint 目录。
  • --tp、--pp 的取值需与可用 GPU 数量匹配,否则可能启动失败。
  • README 只给出了生成脚本 run_generate.py 的示例,其余训练脚本请自行查阅仓库文档。

核心亮点

  • 代码极简可读,3D并行逻辑清晰,便于二次开发与教学
  • 原生集成FlashAttention、ZeRO、混合精度与梯度检查点等加速特性
  • 与Hugging Face生态打通,数据集和权重加载方便

不足之处

  • 文档与示例相对精简,复杂并行配置需读源码理解
  • 社区规模较小,遇到问题可参考的案例和讨论有限

适用场景

  • 多机多卡集群上预训练百亿参数级大语言模型
  • 研究团队做并行策略对比实验与消融研究
  • 在有限算力下微调或继续训练开源大模型

替代项目

Megatron-LM、DeepSpeed

上一篇:halo

下一篇:Fairy-plus-minus-i

同类项目推荐

AlphaEdit 开源

不改模型结构,精准修改大模型知识,性能不塌方

AlphaEdit: Null-Space Constrained Knowledge Editing for Language Models, ICLR 2025 (···

★ 469 2026-08-09
RLCSD 开源

用对比自蒸馏强化 RL 训练,让策略更稳更高效

Source code of paper "RLCSD: Reinforcement Learning with Contrastive On-Policy Self-···

★ 116 2026-08-09
MPO 开源

让LLM智能体先学会定计划,再动手执行,提升复杂任务成功率

MPO: Boosting LLM Agents with Meta Plan Optimization (EMNLP 2025 Findings)

★ 82 2026-08-09
SIM-CoT 开源

让模型在内部悄悄思考,推理更快更省token

[ICLR 2026] An official implementation of "SIM-CoT: Supervised Implicit Chain-of-Tho···

★ 219 2026-08-09
finetrainers 开源

用有限显存微调视频扩散模型,多卡也能跑

Scalable and memory-optimized training of diffusion models

★ 1364 2026-10-12
OneTrainer 开源

图形化界面搞定扩散模型训练,从 LoRA 到全量微调一站式完成。

OneTrainer is a one-stop solution for all your Diffusion training needs.

★ 3262 2026-08-10
AwesomeOPD 开源

一站式速览在线策略蒸馏,紧跟LLM前沿

Awesome List for On-Policy Distillation

★ 883 2026-08-09
self-refine 开源

让大模型自己挑错改错,越改越好

LLMs can generate feedback on their work, use it to improve the output, and repeat t···

★ 849 2026-08-09