AI・機械学習
中級
TorchTune(トーチチューン)
MetaがPyTorchチームと共同開発したLLMファインチューニングライブラリ。PyTorchのネイティブAPIを直接使い、依存ライブラリを最小限に抑えた透明性の高い実装で、研究者がアルゴリズムを深く理解・カスタマイズしやすい設計が特徴。
0 回閲覧
0 いいね
2026/6/5 更新
関連タグ
ai
llm
fine-tuning
pytorch
meta
llama
research
TorchTuneとは
2024年3月にMetaのPyTorchチームがオープンソースとして公開したLLMファインチューニング専用ライブラリ。Hugging Face TransformersやPEFTなど外部ライブラリへの依存を最小化し、PyTorchのAPIのみで実装された透明性の高い設計が特徴。「How fine-tuning works」を自分で確認・カスタマイズできる研究者・エンジニア向けのツール。
設計哲学
一般的なファインチューニングフレームワーク:
HuggingFace Transformers → PEFT → Accelerate → DeepSpeed
(多くの抽象化層 = ブラックボックス化しやすい)
TorchTune:
PyTorch + torchdata + torchao(最小限の依存)
(学習ループが直接見える、デバッグしやすい)
インストールと基本使用
pip install torchtune
# 利用可能なレシピ一覧
tune ls
# モデルダウンロード
tune download meta-llama/Meta-Llama-3.1-8B-Instruct \
--output-dir /tmp/Meta-Llama-3.1-8B-Instruct
tune cp llama3_1/8B_lora_single_device ./my_lora_config.yaml
設定ファイル例(Llama 3.1 8B LoRA)
tokenizer:
_component_: torchtune.models.llama3.llama3_tokenizer
path: /tmp/Meta-Llama-3.1-8B-Instruct/original/tokenizer.model
model:
_component_: torchtune.models.llama3_1.lora_llama3_1_8b
lora_attn_modules: ["q_proj", "v_proj"]
apply_lora_to_mlp: False
lora_rank: 8
lora_alpha: 16
checkpointer:
_component_: torchtune.training.FullModelMetaCheckpointer
checkpoint_dir: /tmp/Meta-Llama-3.1-8B-Instruct/original/
checkpoint_files: [consolidated.00.pth]
output_dir: /tmp/torchtune_output/
dataset:
_component_: torchtune.datasets.alpaca_cleaned_dataset
train_on_input: False
seed: null
shuffle: True
batch_size: 2
gradient_accumulation_steps: 8
num_epochs: 1
optimizer:
_component_: torch.optim.AdamW
lr: 2e-5
fused: True
実行
# シングルGPU LoRA
tune run lora_finetune_single_device --config my_lora_config.yaml
# マルチGPU(4 GPU)
tune run --nproc_per_node 4 full_finetune_distributed \
--config llama3_1/8B_full
# DPO学習
tune run dpo_full_finetune_single_device \
--config llama3_1/8B_dpo_single_device
対応レシピ(Recipe)一覧
| レシピ名 | 学習手法 | マルチGPU |
|---|---|---|
| full_finetune_single_device | Full FT | × |
| full_finetune_distributed | Full FT | ✓ |
| lora_finetune_single_device | LoRA | × |
| lora_finetune_distributed | LoRA | ✓ |
| qlora_finetune_single_device | QLoRA | × |
| dpo_full_finetune_single_device | DPO | × |
他ツールとの差別化
| 比較軸 | TorchTune | Axolotl | Unsloth |
|---|---|---|---|
| 開発元 | Meta公式 | コミュニティ | 個人 |
| 透明性 | 最高 | 中 | 中 |
| 速度 | 標準 | 標準 | 最速 |
| Llama対応 | 最優先 | 広く対応 | 広く対応 |
| 研究向け | ◎ | ○ | △ |