meta-pytorch/torchtune
PyTorch native post-training library
torchtune – 用于训练和微调大语言模型的 PyTorch 库
是什么 – torchtune 是一个基于 PyTorch 构建的开源 Python 包。它为大语言模型(LLM)的整个后训练生命周期提供即用型的 配方(配置驱动脚本):监督微调、LoRA/QLoRA、知识蒸馏、基于人类反馈的强化学习(DPO、PPO、GRPO)、量化感知训练,以及推理/量化。该库还提供了许多前沿 LLM 架构的轻量级 PyTorch 实现(Llama 3.x、Llama 4、Gemma 2、Mistral、Phi、Qwen 2/2.5/3 等)。
为何重要 – 训练或适配现代 LLM 通常是一项繁重的工程工作:你需要同时处理分布式训练、内存节省技巧(激活检查点、卸载、8 位优化器),以及模型特定的分词器。torchtune 将这些复杂性封装在简单的 CLI(tune)和一组 YAML 配置文件之后,使研究人员和工程师能够仅用一条命令,在单个 GPU 或多节点集群上快速启动实验。
主要特性(如 README 所述)
- 配方驱动的工作流 –
tune run <recipe> --config <yaml>可运行全量微调、LoRA/QLoRA、DPO、PPO、GRPO、KD、QAT 等。使用tune ls查看所有配方列表。 - 跨硬件可扩展 – 支持单 GPU、多 GPU 和多节点训练;可在 CUDA、XPU、ROCm、Apple MPS 和 Ascend NPU 上运行。
- 内存效率调节选项 – 打包数据集、torch-compile、分块交叉熵、激活检查点/卸载、融合优化器步进、8 位 AdamW、LoRA/QLoRA。README 中提供了 Llama 3.2 3B 的内存与吞吐量对比表。
- 模型目录 – 提供数十种 LLM 家族的预构建模型构建器和配置文件夹(Llama 4、Llama 3.3 70B、Llama 3.2-Vision、Gemma 2、Phi 4、Qwen 3、Qwen 2.5 等)。
- 与生态系统的集成 – Hugging Face Hub(权重)、Datasets(训练数据)、LM-Eval Harness(评估)、torch-ao(量化)、FSDP2(分布式训练)、Weights & Biases/Comet(日志记录)、ExecuTorch(设备端推理)。
- 安装 – 使用
pip install torchtune(稳定版),并搭配对应版本的 PyTorch/torchvision/torchao;也提供夜间构建版本。 - 文档与社区 – 完整文档在
pytorch.org/torchtune,Discord 社区,以及引用指南。
典型工作流
- 下载模型(例如:
tune download meta-llama/Meta-Llama-3.1-8B-Instruct)。 - 选择一个配方 – 例如:在单个 GPU 上使用 LoRA 的
lora_finetune_single_device。 - 运行 –
tune run lora_finetune_single_device --config llama3_1/8B_lora_single_device。 - 扩展 – 前缀添加
torchrun标志或使用--nproc_per_node进行分布式运行。 - 自定义 – 在命令行中覆盖任意配置字段,或使用
tune cp将 YAML 复制到本地并编辑。
状态 – 该项目已不再积极维护(2025 年开发已停止),但代码库仍可供需要一个稳固、PyTorch 原生 LLM 微调栈的用户使用。
以上所有信息均直接取自仓库的 README,未添加任何外部假设。
相关
- 项目
- 项目
- 项目
- 项目
- 项目