メインコンテンツへスキップ
Colab で試す シームレスな W&B インテグレーションを使って、Hugging Face モデルの性能をすばやく可視化できます。 ハイパーパラメータ、出力メトリクス、GPU 使用率などのシステム統計情報をモデル同士で比較できます。

なぜ W&B を使うべきですか?

W&B を使う利点
  • 統合ダッシュボード: すべてのモデルのメトリクスと予測結果の一元的なリポジトリ
  • 軽量: Hugging Face とのインテグレーションにコードの変更は不要
  • 利用しやすい: 個人およびアカデミックチームは無料で利用可能
  • セキュア: すべてのプロジェクトはデフォルトで非公開
  • 信頼性: OpenAI、Toyota、Lyft などの機械学習チームに信頼されて利用されています
W&B は機械学習モデル向けの GitHub のようなものだと考えてください。機械学習の実験をプライベートでホストされたダッシュボードに保存できます。スクリプトをどこで実行していても、すべてのモデルのバージョンが保存されるという安心感を持って、高速に実験を回すことができます。 W&B の軽量なインテグレーションは、どのような Python スクリプトでも動作し、無料の W&B アカウントに登録するだけで、モデルの追跡と可視化を開始できます。 Hugging Face Transformers レポジトリでは、Trainer に計測処理を追加しており、各ログ出力ステップごとに学習および評価のメトリクスを自動的に W&B に記録します。 インテグレーションの詳しい仕組みは、次のレポートを参照してください: Hugging Face + W&B Report

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

このチュートリアル用に、Hugging Face と W&B のライブラリに加え、GLUE データセットと学習スクリプトをインストールします。
!pip install datasets wandb evaluate accelerate -qU
!wget https://raw.githubusercontent.com/huggingface/transformers/refs/heads/main/examples/pytorch/text-classification/run_glue.py
# run_glue.py スクリプトには transformers の開発版が必要です
!pip install -q git+https://github.com/huggingface/transformers
続行する前に、無料アカウントに登録してください。

APIキーを入力する

サインアップが済んだら、次のセルを実行し、表示されたリンクをクリックしてAPIキーを取得し、このノートブックを認証してください。
import wandb
wandb.login()
必要に応じて環境変数を設定し、W&B のログ出力をカスタマイズできます。Hugging Face インテグレーションガイドを参照してください。
# オプション: 勾配とパラメータの両方をログに記録する
%env WANDB_WATCH=all

モデルを学習する

次に、ダウンロードした学習スクリプト run_glue.py を実行し、学習が自動的に W&B ダッシュボードに記録されることを確認します。このスクリプトは、Microsoft Research Paraphrase Corpus(文が意味的に等価かどうかを人手で注釈した文ペアからなるコーパス)上で BERT をファインチューニングします。
%env WANDB_PROJECT=huggingface-demo
%env TASK_NAME=MRPC

!python run_glue.py \
  --model_name_or_path bert-base-uncased \
  --task_name $TASK_NAME \
  --do_train \
  --do_eval \
  --max_seq_length 256 \
  --per_device_train_batch_size 32 \
  --learning_rate 2e-4 \
  --num_train_epochs 3 \
  --output_dir /tmp/$TASK_NAME/ \
  --overwrite_output_dir \
  --logging_steps 50

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

上に表示されたリンクをクリックするか、wandb.ai にアクセスして、結果がリアルタイムでストリーミングされる様子を確認します。ブラウザで run を表示するためのリンクは、すべての依存関係が読み込まれた後に表示されます。次のような出力を探してください: “wandb: View run at [URL to your unique run]” モデル性能の可視化 多数の実験結果を俯瞰し、興味深い結果にズームインし、高次元データを可視化することが簡単にできます。
Model metrics dashboard
アーキテクチャの比較 こちらは BERT と DistilBERT の比較の例です。自動生成される折れ線グラフの可視化により、異なるアーキテクチャが学習全体を通して評価精度にどのような影響を与えるかを簡単に確認できます。
BERT vs DistilBERT comparison

重要な情報をデフォルトで手間なく記録

W&B は各実験ごとに新しい run を作成します。デフォルトで次の情報が保存されます:
  • Hyperparameters: モデルの設定は Config に保存されます
  • Model Metrics: ストリーミングされるメトリクスの時系列データは Log に保存されます
  • Terminal Logs: コマンドライン出力が保存され、タブから参照できます
  • System Metrics: GPU と CPU の使用率、メモリ、温度などが自動的に記録されます

さらに学ぶ