メインコンテンツへスキップ
このチュートリアルでは、Hugging Face Transformers と W&B のインテグレーションを使用して、モデルのファインチューニング中にトレーニングおよび評価メトリクス、ハイパーパラメーター、システム統計を自動的にトラッキングする方法を紹介します。このチュートリアルに沿って進めることで、W&B ダッシュボードでモデルのパフォーマンスを可視化し、実験を比較しながら、自信を持ってモデルを改善していく方法を学べます。 ハイパーパラメーター、出力メトリクス、GPU 使用率などのシステム統計を、モデル間で比較できます。

W&B を使用する理由

W&B を使用する利点
  • 統合ダッシュボード: すべてのモデルのメトリクスと予測を一元管理できます。
  • 軽量: Hugging Face と統合するためにコードを変更する必要はありません。
  • 利用しやすい: 個人および学術チームは無料で利用できます。
  • 安全: すべての Projects はデフォルトで非公開です。
  • 信頼性: OpenAI、Toyota、Lyft などの機械学習チームで利用されています。
W&B は、機械学習モデル向けの GitHub のようなものです。機械学習の実験を、非公開のホスト型ダッシュボードに保存できます。スクリプトをどこで実行しても、W&B がモデルのすべてのバージョンを保存するため、安心して実験を進められます。 W&B の軽量なインテグレーションは、あらゆる Python スクリプトで動作します。モデルのトラッキングと可視化を始めるには、無料の W&B アカウントに登録してください。 Hugging Face Transformers リポジトリでは、W&B が Trainer をインストルメントしており、ログ記録のたびにトレーニングと評価メトリクスを自動的に W&B にログします。 このインテグレーションの仕組みについて詳しくは、こちらをご覧ください: Hugging Face + W&B Report.

インストール、インポート、ログイン

このセクションでは、チュートリアルの実行に必要な環境をセットアップします。Hugging Face と W&B のライブラリをインストールし、このチュートリアル用の GLUE データセットとトレーニング スクリプトをダウンロードします。
  • Hugging Face Transformers: 自然言語向けのモデルとデータセット。
  • W&B: 実験管理と可視化。
  • GLUE dataset: 言語理解のベンチマーク データセット。
  • GLUE script: シーケンス分類用のモデル トレーニング スクリプト。
続行する前に、無料アカウントにサインアップする必要があります。runデータを W&B ダッシュボードに送信するには、アカウントが必要です。

APIキーを追加する

APIキーを使用して認証すると、このノートブックが W&B アカウントにリンクされ、Runs が Projects にログされるようになります。サインアップ後、次のセルを実行し、リンクをクリックして APIキーを取得し、このノートブックを認証してください。
必要に応じて、環境変数を設定して、トレーニング中に W&B がログする内容をカスタマイズできます。たとえば、WANDB_WATCH=all を設定すると、勾配とパラメーターの両方をログできます。利用可能なオプションの一覧については、Hugging Face インテグレーションガイドを参照してください。

モデルをトレーニングする

環境の設定と認証が完了したら、トレーニング run を開始する準備は完了です。次に、ダウンロードしたトレーニングスクリプト run_glue.py を実行し、トレーニングの内容が自動的に W&B ダッシュボードにトラッキングされることを確認します。このスクリプトは、意味的に同等かどうかを示す人によるアノテーションが付いた文のペアで構成される Microsoft Research Paraphrase Corpus で、BERT をファインチューニングします。

ダッシュボードで結果を可視化する

トレーニングが始まると、メトリクスをリアルタイムでモニターできます。前のセルで出力されたリンクをクリックするか、wandb.aiにアクセスすると、結果がリアルタイムで反映される様子を確認できます。ブラウザでrunを表示するためのリンクは、すべての依存関係が読み込まれたあとに表示されます。次の出力を探してください: “wandb: View run at [固有のrunへのURL]“

モデル性能を可視化する

Experimentsを横断して確認し、発見に注目し、高次元データを可視化します。
モデルのメトリクス ダッシュボード

アーキテクチャを比較する

これは、BERT と DistilBERT の比較の例です。自動生成される折れ線グラフにより、トレーニング全体を通して異なるアーキテクチャが評価精度にどのような影響を与えるかを確認できます。
BERT と DistilBERT の比較

デフォルトで主要な情報をトラッキング

このセクションでは、追加の設定をしなくてもダッシュボードでどのデータを利用できるのかがわかるように、W&B が自動的に取得する情報について説明します。W&B は実験ごとに新しい run を保存します。デフォルトで保存される情報は次のとおりです。
  • ハイパーパラメーター: W&B はモデルの設定を Config に保存します。
  • モデルのメトリクス: W&B は Log にストリーミングされるメトリクスの時系列データを保存します。
  • ターミナルログ: W&B はコマンドライン出力を保存し、タブで確認できるようにします。
  • システムメトリクス: GPU と CPU の使用率、メモリ、温度。

詳細はこちら