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 社群,以及引用指南。

典型工作流程

  1. 下載模型(例如:tune download meta-llama/Meta-Llama-3.1-8B-Instruct)。
  2. 選擇一個配方 – 例如:在單一 GPU 上使用 LoRA 的 lora_finetune_single_device
  3. 執行tune run lora_finetune_single_device --config llama3_1/8B_lora_single_device
  4. 擴展 – 前綴加入 torchrun 標誌或使用 --nproc_per_node 進行分散式執行。
  5. 自訂 – 在命令列中覆蓋任意設定欄位,或使用 tune cp 將 YAML 複製到本機並編輯。

狀態 – 此專案已不再積極維護(2025 年開發已停止),但程式碼庫仍可供需要穩固、PyTorch 原生 LLM 微調堆疊的使用者使用。


以上所有資訊均直接取自倉儲的 README,未添加任何外部假設。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案