Try in Colab

W&B のログ記録が手の届くところに
- Command line
- Recipe
ローンチ時にコマンドライン引数をオーバーライドします:
W&B メトリックロガーの使用
metric_logger セクションを変更して、レシピの設定ファイルで W&B ログ記録を有効にします。_component_ を torchtune.utils.metric_logging.WandBLogger にクラスを変更します。また、project 名と log_every_n_steps を渡してログ記録の振る舞いをカスタマイズすることもできます。
wandb.init メソッドに渡すのと同様に、他の kwargs を渡すこともできます。例えば、チームで作業している場合、WandBLogger クラスに entity 引数を渡してチーム名を指定することができます。
- Recipe
- Command Line
何がログされますか?
W&B ダッシュボードを探索して、ログされたメトリックを見ることができます。デフォルトでは、W&B は設定ファイルとローンチのオーバーライドからすべてのハイパーパラメーターをログします。 W&B は Overview タブで解決された設定をキャプチャします。W&B は YAML 形式で設定を Files タブ にも保存します。
ログされたメトリック
各レシピにはそれぞれのトレーニングループがあります。個別のレシピを確認して、そのログされたメトリックを見ることができます。これにはデフォルトで以下が含まれています:| Metric | 説明 |
|---|---|
loss | モデルのロス |
lr | 学習率 |
tokens_per_second | モデルのトークン毎秒 |
grad_norm | モデルの勾配ノルム |
global_step | トレーニングループの現在のステップに対応します。勾配の累積を考慮に入れ、オプティマイザーステップが取られるたびにモデルが更新され、勾配が累積され、gradient_accumulation_steps ごとに1回モデルが更新されます。 |
global_step はトレーニングステップの数と同じではありません。トレーニングループの現在のステップに対応します。勾配の累積を考慮に入れ、オプティマイザーステップが取られるたびに global_step が1増加します。例えば、データローダーに10バッチあり、勾配の累積ステップが2で3エポック走行する場合、オプティマイザーは15回ステップし、この場合 global_step は1から15までの範囲になります。current_epoch を全エポック数のパーセンテージとして記録するだけで十分です。
これは急速に進化しているライブラリであり、現在のメトリクスは変更される可能性があります。カスタムメトリクスを追加したい場合は、レシピを変更し、対応する
self._metric_logger.* 関数を呼び出す必要があります。チェックポイントの保存とロード
torchtune ライブラリは様々な チェックポイントフォーマット をサポートしています。使用しているモデルの出所に応じて、適切な チェックポインタークラス に切り替えるべきです。 もしモデルのチェックポイントを W&B Artifacts に保存したい場合は、対応するレシピ内のsave_checkpoint 関数をオーバーライドするのが最も簡単です。
ここにモデルのチェックポイントを W&B Artifacts に保存するために save_checkpoint 関数をオーバーライドする方法の例を示します。