torchtitan

GitHub
5.2k 771 较难 1 次阅读 3天前BSD-3-Clause语言模型开发框架
AI 解读 由 AI 自动生成,仅供参考

torchtitan 是 PyTorch 官方推出的原生平台,专为生成式 AI 模型的大规模训练与快速实验而设计。它旨在解决开发者在构建大模型时面临的分布式训练复杂度高、代码修改繁琐以及基础设施难以灵活扩展等痛点。

通过提供一套极简且干净的代码实现,torchtitan 让用户在应用多维并行策略(如 FSDP2 分片、张量并行及异步张量并行)时,几乎无需改动原有的模型代码。这种“开箱即用”的特性极大地降低了大规模训练的门槛,同时保留了高度的可定制性,支持用户通过扩展点轻松集成自定义组件。目前,它已成功应用于 Llama 3.1 等系列大模型的预训练验证中。

这款工具非常适合 AI 研究人员、深度学习工程师以及对大模型底层训练架构感兴趣的开发者使用。如果你希望深入探索最新的分布式训练技术,或者需要一个灵活的基座来验证新的模型架构与基础设施方案,torchtitan 将是一个理想的选择。它不仅展示了 PyTorch 在分布式领域的最新成果,更致力于通过简洁高效的设计,加速生成式 AI 领域的创新步伐。

使用场景

某初创 AI 实验室的研究团队正试图在有限的 8 卡集群上从头预训练一个定制化的 Llama 3.1 变体,以验证新的架构假设。

没有 torchtitan 时

  • 并行策略实现复杂:手动组合 FSDP2 与张量并行(Tensor Parallel)需要编写大量样板代码,稍有不慎就会导致显存溢出或通信死锁。
  • 模型修改成本高:为了适配分布式训练,不得不大幅重构原有的模型定义代码,导致实验迭代周期从几天延长至数周。
  • 调试门槛极高:缺乏原生的可观测性支持,排查多卡环境下的梯度同步问题如同“黑盒摸象”,严重拖慢研发进度。
  • 扩展性受限:现有脚本难以灵活切换异步张量并行等高级特性,无法充分利用硬件算力进行大规模探索。

使用 torchtitan 后

  • 开箱即用的并行组合:直接调用 torchtitan 内置的多维并行组件,无需修改核心模型代码即可一键启用 FSDP2 分片与异步张量并行。
  • 极简的代码侵入:保持模型结构干净清晰,仅通过配置即可应用复杂的分布式策略,让研究人员专注于算法创新而非工程琐事。
  • 原生可观测与调试:依托 PyTorch 原生生态,轻松监控训练状态与资源消耗,快速定位并解决分布式训练中的瓶颈。
  • 灵活的特性拓展:利用其清晰的扩展点机制,团队迅速集成了自定义优化器,顺利完成了从单节点到多节点的大规模训练验证。

torchtitan 通过提供最小化且原生的分布式训练基座,将大模型预训练的工程复杂度降至最低,让团队能以前所未有的速度验证生成式 AI 的新架构想法。

运行环境要求

操作系统
  • Linux
GPU
  • 必需
  • 支持 NVIDIA GPU (CUDA 12.8/nightly) 或 AMD GPU (ROCm 6.3,需使用优化分支)
  • 文档提及在 8 至 512 张 GPU 上运行,支持 Blackwell 架构进行 MXFP8 训练
  • 具体显存需求取决于模型大小(如 Llama 3.1 8B/70B/405B)和并行策略
内存

未说明

依赖
notes1. 强烈建议使用最新的 PyTorch nightly 版本以获取最新功能。 2. 若使用 PyTorch nightly,必须从 nightly 索引安装对应的 torchdata。 3. 支持通过 Slurm 或多节点集群进行分布式训练。 4. 训练 Llama 3.1 模型前需手动下载 Tokenizer 和权重。 5. AMD 用户需使用专门的优化分支 (torchtitan-amd)。
python未说明
torch (nightly build 推荐)
torchdata (nightly build)
torchao (稳定版中固定版本)
torchtitan hero image

快速开始

torchtitan

一个原生基于 PyTorch 的生成式 AI 模型训练平台

8 GPU 功能测试 8 GPU 模型测试 arXiv ICLR 论坛 许可证 pip conda

torchtitan 目前正处于大规模开发中。为了使用 torchtitan 的最新功能,我们建议您使用最新的 PyTorch 夜间版本。

最新消息

  • [2025年11月] AMD 发布了针对 AMD 显卡的 torchtitan 优化分支
  • [2025年10月] 我们发布了 torchtitan v0.2.0
  • [2025年10月] SkyPilot 现已支持 torchtitan!请参阅教程 这里
  • [2025年7月] 我们发布了关于如何将模型添加到 torchtitan说明
  • [2025年4月] 我们的论文已被 ICLR 2025 接受。
  • [2024年12月] GPU MODE 讲座 讲解 torchtitan。
  • [2024年7月] 在 PyTorch 2024 大会上进行了 演讲

概述

torchtitan 是一个原生基于 PyTorch 的平台,专为生成式 AI 模型的 快速实验和大规模训练 而设计。作为 PyTorch 原生扩展技术的一个极简、干净的实现,torchtitan 为开发者提供了一个灵活的基础,便于在此之上进行构建。借助 torchtitan扩展点,用户可以轻松创建满足特定需求的自定义扩展。

我们的使命是通过赋能研究人员和开发者探索新的模型架构与基础设施技术,加速生成式 AI 领域的创新。

构建 torchtitan 时的指导原则:

  • 设计简洁易懂,易于使用且可针对不同训练目的进行扩展。
  • 应用多维并行时对模型代码的改动最小化。
  • 偏向于保持代码库的整洁与精简,同时提供基础的可重用或可替换组件。

torchtitan 已通过支持预训练各种规模的 Llama 3.1 LLM,展示了 PyTorch 最新的分布式训练特性。

参与贡献

我们期待您的贡献!

  • 为了加速对 torchtitan 的贡献及围绕它的创新,我们设立了 experiments 文件夹。新想法应从那里开始。如需贡献,请遵循 experiments 指南
  • 对核心部分的修复与贡献,请遵循这些 指南

Llama 3.1 训练

可用的关键特性

  1. 多维可组合并行
  2. Meta device 初始化
  3. 按操作选择性及全激活检查点保存
  4. 分布式检查点(包括异步检查点)
  5. torch.compile 支持
  6. Float8 支持(使用方法
  7. Blackwell GPU 上的 MXFP8 训练,适用于密集型和 MoE 模型
  8. DDP 和 HSDP
  9. TorchFT 集成
  10. 可检查点的数据加载,预配置了 C4 数据集(1.44亿条记录),并支持 自定义数据集
  11. 梯度累积,可通过在命令行中添加额外的 --training.global_batch_size 参数来启用
  12. 灵活的学习率调度器(预热-稳定-衰减)
  13. 损失、GPU 内存、吞吐量(tokens/sec)、TFLOPs 和 MFU 会通过 TensorBoard 或 Weights & Biases 进行显示和记录
  14. 调试工具,包括 CPU/GPU 性能分析、内存分析、Flight Recorder 等
  15. 所有选项均可通过 Python 配置注册表 轻松配置,只需使用 --module--config 命令行参数
  16. 辅助脚本 用于:
    • 从 Hugging Face 下载分词器
    • 将原始 Llama 3 检查点转换为预期的 DCP 格式
    • 在不实例化模型的情况下估算 FSDP/HSDP 的内存占用
    • 使用张量并行运行分布式推理

我们报告了在最多 512 张 GPU 上的 性能,并验证了各种技术的 损失收敛 正确性。

深入代码

你可能想了解模型是如何定义的,或者并行化技术是如何应用的。为了更好地理解,可以先查看以下文件:

安装

你可以直接运行源代码,也可以从 nightly 构建版本或稳定版中安装 torchtitan

从源码安装

此方法需要 PyTorch 的 nightly 构建版本,或者从 源码 构建的最新 PyTorch 版本。

git clone https://github.com/pytorch/torchtitan
cd torchtitan
pip install -r requirements.txt
pip install --pre torchdata --index-url https://download.pytorch.org/whl/nightly/cpu

注意: 使用 PyTorch 的 nightly 版本时,需要 torchdata 的 nightly 构建版本。请按照上述方式从 nightly 索引中安装。

Nightly 构建版本

此方法需要 PyTorch 的 nightly 构建版本。你可以将 cu128 替换为其他版本的 CUDA 或 AMD GPU(例如 rocm6.3)。

pip3 install --pre torch --index-url https://download.pytorch.org/whl/nightly/cu128 --force-reinstall
pip install --pre torchtitan --index-url https://download.pytorch.org/whl/nightly/cu128

安装稳定版

你可以通过 pipconda 安装 torchtitan 的最新 稳定版

pip install torchtitan
conda install conda-forge::torchtitan

请注意,每个稳定版都会锁定 torchtorchao 的 nightly 版本。更多详情请参阅 release.md 文件。

下载分词器

torchtitan 目前开箱即用地支持训练 Llama 3.1(8B、70B、405B)。要开始训练这些模型,我们需要下载分词器。请按照官方 meta-llama 仓库中的说明操作,以确保你有权访问 Llama 模型权重。

确认权限后,你可以运行以下命令将 Llama 3.1 分词器下载到本地机器上。

# 从 https://huggingface.co/settings/tokens 获取你的 HF 令牌

# Llama 3.1 分词器
python scripts/download_hf_assets.py --repo_id meta-llama/Llama-3.1-8B --assets tokenizer --hf_token=...

开始训练

在 8 张 GPU 上本地训练 Llama 3 8B 模型

MODULE=llama3 CONFIG=llama3_8b ./run_train.sh

多节点训练

对于 ParallelCluster/Slurm 类型的配置,你可以使用 multinode_trainer.slurm 文件提交 sbatch 作业。

首先调整节点和 GPU 的数量:

#SBATCH --ntasks=2
#SBATCH --nodes=2

然后启动一个运行,其中 nnodes 是你的总节点数,与上面的 sbatch 节点数一致。

srun torchrun --nnodes 2

如果你每节点的 GPU 数量不是 8 张,请相应调整 torchrun 命令中的 --nproc_per_node 以及 SBATCH 命令部分的 #SBATCH --gpus-per-task

引用

我们详细介绍了 torchtitan 中可用的并行化和优化技术,并总结了何时使用各种技术的建议。

TorchTitan:面向生产级 LLM 预训练的一站式 PyTorch 原生解决方案

@inproceedings{
   liang2025torchtitan,
   title={TorchTitan: One-stop PyTorch native solution for production ready {LLM} pretraining},
   author={Wanchao Liang and Tianyu Liu and Less Wright and Will Constable and Andrew Gu and Chien-Chin Huang and Iris Zhang and Wei Feng and Howard Huang and Junjie Wang and Sanket Purandare and Gokul Nadathur and Stratos Idreos},
   booktitle={The Thirteenth International Conference on Learning Representations},
   year={2025},
   url={https://openreview.net/forum?id=SFN6Wm7YBI}
}

许可证

源代码根据 BSD 3 许可证 提供,但你可能还需遵守其他法律义务,这些义务适用于本仓库中链接的其他内容,例如第三方数据和模型的许可证或服务条款。

版本历史

v0.2.22026/02/20
v0.2.12025/12/26
v0.2.02025/10/18
v0.1.02025/06/18

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

140.4k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|昨天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架