あらゆる規模の機械学習実験を追跡・可視化・管理するために W&B をインストールしてください。
マシンをW&Bに対して認証するには、APIキーが必要です。
APIキーを作成するには、Personal API key または Service Account API key タブを選択して詳細を確認します。
Personal API key
Service account API key
ユーザーIDに紐づく個人用APIキーを作成するには、次の手順を実行します。
- W&B にログインし、ユーザープロフィールアイコンをクリックしてから User Settings をクリックします。
- Create new API key をクリックします。
- APIキーのわかりやすい名前を入力します。
- Create をクリックします。
- 表示されたAPIキーをすぐにコピーし、安全な場所に保管します。
サービスアカウントが所有するAPIキーを作成するには、次の手順を実行します。
- チームまたは組織の設定の Service Accounts タブに移動します。
- 一覧から対象のサービスアカウントを探します。
- アクションメニュー(
...)をクリックし、Create API key をクリックします。
- APIキーの名前を入力し、Create をクリックします。
- 表示されたAPIキーをすぐにコピーして、安全な場所に保管します。
- Done をクリックします。
異なる環境やワークフローをサポートするために、1つのサービスアカウントに対して複数のAPIキーを作成できます。
完全なAPIキーは作成時に一度だけ表示されます。ダイアログを閉じると、完全なAPIキーを再度表示することはできません。設定で表示されるのは、キーID(キーの先頭部分)のみです。完全なAPIキーを紛失した場合は、新しいAPIキーを作成する必要があります。
安全に保管する方法については、APIキーを安全に保管するを参照してください。
このクイックスタートは、Colabノートブックとしても利用できます。
wandb ライブラリをインストールしてログインする
コマンドライン
Python
Python ノートブック
-
WANDB_API_KEY 環境変数 を設定します。
export WANDB_API_KEY=<your_api_key>
-
wandb ライブラリをインストールして、ログインします。
pip install wandb
wandb login
import wandb
wandb.login()
!pip install wandb
import wandb
wandb.login()
Python スクリプトまたはノートブック内で、wandb.init() を使って W&B の run オブジェクトを初期化します。config パラメータには辞書を使用して、
ハイパーパラメータ名とその値を指定します。with 文のブロック内では、メトリクスやその他の情報を W&B に記録できます。
import wandb
wandb.login()
# runが記録されるプロジェクト
project = "my-awesome-project"
# ハイパーパラメータの辞書
config = {
'epochs' : 10,
'lr' : 0.01
}
with wandb.init(project=project, config=config) as run:
# 学習コードをここに記述
# run.log() でW&Bに値を記録する
run.log({"accuracy": 0.9, "loss": 0.1})
次のセクションでは、学習 run をシミュレートし、精度と損失のメトリクスを W&B にログする完全な例を紹介します。
このモック学習スクリプトでは、シミュレートされた精度 (accuracy) と損失 (loss) のメトリクスを W&B にログします。次のコードを Python スクリプトまたはノートブックセルにコピーして貼り付け、実行してください。
import wandb
import random
wandb.login()
# runの記録先プロジェクト
project = "my-awesome-project"
# ハイパーパラメータの辞書
config = {
'epochs' : 10,
'lr' : 0.01
}
with wandb.init(project=project, config=config) as run:
offset = random.random() / 5
print(f"lr: {config['lr']}")
# 学習runをシミュレートする
for epoch in range(2, config['epochs']):
acc = 1 - 2**-config['epochs'] - random.random() / config['epochs'] - offset
loss = 2**-config['epochs'] + random.random() / config['epochs'] + offset
print(f"epoch={config['epochs']}, accuracy={acc}, loss={loss}")
run.log({"accuracy": acc, "loss": loss})
wandb.ai/home にアクセスして、accuracy や loss などの記録されたメトリクスと、それらが各学習ステップでどのように変化したかを確認します。次の画像は、各 run で追跡された loss と accuracy を示しています。各 run オブジェクトは、生成された名前とともに Runs 列に表示されます。
W&B エコシステムのその他の機能も試してみてください:
- PyTorch のようなフレームワーク、Hugging Face のようなライブラリ、SageMaker のようなサービスと W&B を組み合わせた W&B Integration チュートリアル を読んでください。
- W&B Reports を使って run を整理し、可視化を自動化し、知見を要約し、共同作業者と最新情報を共有します。
- 機械学習パイプライン全体にわたってデータセット、モデル、依存関係、結果を追跡するために W&B Artifacts を作成します。
- W&B Sweeps を使ってハイパーパラメータ探索を自動化し、モデルを最適化します。
- 共通ダッシュボード 上で run を分析し、モデルの予測を可視化し、インサイトを共有します。
- W&B AI Academy にアクセスして、ハンズオンのコースを通じて LLM、MLOps、および W&B Models について学びます。
- weave-docs.wandb.ai にアクセスして、Weave を使って LLM ベースのアプリケーションを追跡、実験、評価、デプロイ、および改善する方法を学びます。