torchtune は、大規模言語モデル(LLM)の作成、ファインチューニング、および実験プロセスを効率化するために設計された PyTorch ベースのライブラリです。さらに、torchtune は W&B によるロギング を標準でサポートしており、トレーニングプロセスの追跡と可視化を強化できます。Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-update-training-api-26.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.

W&B ロギングをすぐに利用する
- コマンドライン
- レシピ
ローンンチ時にコマンドライン引数をオーバーライドします:
W&B メトリクスロガーの使用
レシピの設定ファイルのmetric_logger セクションを修正することで、W&B ロギングを有効にできます。 _component_ を torchtune.utils.metric_logging.WandBLogger クラスに変更します。また、 project 名や log_every_n_steps を渡して、ロギングの振る舞いをカスタマイズすることも可能です。
また、 wandb.init() メソッドと同様に、他の任意の kwargs を渡すことができます。例えば、チームで作業している場合は、 WandBLogger クラスに entity 引数を渡してチーム名を指定できます。
- レシピ
- コマンドライン
何がログ記録されますか?
W&B ダッシュボードでログ記録されたメトリクスを確認できます。デフォルトでは、W&B は設定ファイルおよびローンンチ時のオーバーライドからのすべての ハイパーパラメーター をログ記録します。 W&B は確定した設定を Overview タブにキャプチャします。また、W&B は Files タブ に YAML 形式で設定を保存します。
ログ記録されるメトリクス
各レシピには独自のトレーニングループがあります。ログ記録されるメトリクスについては各レシピを確認してください。デフォルトでは以下の項目が含まれます:| メトリクス | 説明 |
|---|---|
loss | モデルの損失(loss) |
lr | 学習率(learning rate) |
tokens_per_second | モデルの秒間トークン数 |
grad_norm | モデルの勾配ノルム |
global_step | トレーニングループ内の現在のステップに対応。勾配蓄積(gradient accumulation)を考慮します。基本的には、オプティマイザーステップが実行されるたびにモデルが更新され、 gradient_accumulation_steps ごとに勾配が蓄積されてモデルが更新されます。 |
global_step はトレーニングステップ数と同じではありません。これはトレーニングループ内の現在のステップに対応します。勾配蓄積を考慮し、基本的にはオプティマイザーステップが実行されるたびに global_step が 1 増加します。例えば、データローダーに 10 バッチあり、勾配蓄積ステップが 2 で 3 エポック実行する場合、オプティマイザーは 15 回ステップを実行するため、この場合 global_step は 1 から 15 の範囲になります。current_epoch を全エポック数に対するパーセンテージとしてログ記録するように計算できます:
このライブラリは急速に進化しているため、現在のメトリクスは変更される可能性があります。カスタムメトリクスを追加したい場合は、レシピを修正して対応する
self._metric_logger.* 関数を呼び出してください。チェックポイントの保存とロード
torchtune ライブラリは、さまざまな チェックポイント形式 をサポートしています。使用しているモデルのオリジンに応じて、適切な checkpointer クラス に切り替える必要があります。 モデルのチェックポイントを W&B Artifacts に保存したい場合、最も簡単な解決策は、対応するレシピ内のsave_checkpoint 関数をオーバーライドすることです。
以下は、モデルのチェックポイントを W&B Artifacts に保存するために save_checkpoint 関数をオーバーライドする方法の例です。