meta-pytorch/torchtune

PyTorch native post-training library

torchtune – 大規模言語モデルの学習・ファインチューニング用PyTorchライブラリ

何であるか – torchtuneはPyTorch上で構築されたオープンソースのPythonパッケージです。大規模言語モデル(LLM)の後学習ライフサイクル全体に対応する、事前構成済みのレシピ(設定駆動型スクリプト)を提供します:教師付きファインチューニング、LoRA/QLoRA、知識蒸留、人間からのフィードバックによる強化学習(DPO、PPO、GRPO)、量子化対応学習、推論/量子化。このライブラリは、Llama 3.x、Llama 4、Gemma 2、Mistral、Phi、Qwen 2/2.5/3など、多数の最先端LLMアーキテクチャの軽量PyTorch実装も同梱しています。

なぜ重要か – 現代のLLMを訓練または適応させるには、通常、重いエンジニアリング作業が必要です。分散学習、メモリ節約テクニック(活性化チェックポイント、オフロード、8ビットオプティマイザ)、モデル固有のトークナイザの管理など、複数の課題を同時に扱う必要があります。torchtuneは、シンプルなCLI(tune)とYAML設定ファイルの背後でこれらの課題を抽象化し、単一GPUまたはマルチノードクラスタ上で1つのコマンドで実験を開始できるようにします。

主な特徴(READMEに記載)

  • レシピ駆動ワークフローtune run <レシピ> --config <yaml>で、フルファインチューニング、LoRA/QLoRA、DPO、PPO、GRPO、KD、QATなどを実行。レシピ一覧は tune ls で確認可能。
  • ハードウェアに応じたスケーラビリティ – 1GPU、マルチ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. レシピの選択 – 例:1GPUでの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から直接取得しており、外部の仮定は一切加えていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト