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,未添加任何外部假設。
相關
- 專案
- 專案
- 專案
- 專案
- 專案