WandBLogger メトリクスロガーを設定する方法、torchtune がデフォルトでトラッキングするメトリクス、およびモデル チェックポイントを W&B Artifacts に保存する方法を説明します。

W&B ロギングを有効にする
W&B ロギングを有効にする方法は 2 つあります。起動時にコマンドラインから引数を上書きするか、レシピの設定ファイルを編集します。ワークフローに合った方法を選択してください。- Command Line
- レシピ
起動時にコマンドライン引数を上書きします。
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 は設定ファイルと Launch のオーバーライドに含まれるすべてのハイパーパラメーターをログするため、各 run の設定をメトリクスとともに記録できます。 W&B は、解決済みの設定を Overview タブで取得します。また、Files タブに設定を YAML 形式で保存します。
ログされたメトリクス
各レシピには独自のトレーニングループがあります。ログされるメトリクスについては、個々のレシピを確認してください。デフォルトでは、次のメトリクスが含まれます。global_step はトレーニングステップ数とは異なります。トレーニングループの現在のステップに対応し、勾配累積を考慮します。オプティマイザーのステップが実行されるたびに、global_step は1増加します。たとえば、データローダーに10バッチがあり、勾配累積ステップ数が2で、3エポック実行する場合、オプティマイザーは15回ステップを実行するため、global_step の範囲は1から15になります。current_epoch を総エポック数に対する割合としてログすることができます。
ログされるメトリクスの種類は、torchtune のリリースによって変わる場合があります。カスタムメトリクスを追加するには、レシピを変更し、対応する
self._metric_logger.* 関数を呼び出してください。チェックポイントの保存と読み込み
チェックポイントを W&B Artifacts に保存すると、各 run のメトリクスや設定とともにモデルの重みをバージョン管理でき、後から結果を再現したりモデルのバージョンを比較したりできます。 torchtune ライブラリは、複数のチェックポイント形式をサポートしています。使用するモデルの入手元に応じて、適切なチェックポインタークラスに切り替える必要があります。 モデル チェックポイントを W&B Artifacts に保存するには、対応するレシピ内のsave_checkpoint 関数を上書きする方法を推奨します。
次の例では、save_checkpoint 関数を上書きして、モデル チェックポイントを W&B Artifacts に保存する方法を示します。