あらゆる規模の機械学習実験をトラッキング、可視化、管理するには、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 タブにアクセスします。
- 一覧からサービスアカウントを検索します。
- action () メニューをクリックし、Create API key をクリックします。
- APIキーの名を入力し、Create をクリックします。
- 表示されたAPIキーをすぐにコピーして、安全な場所に保管します。
- Done をクリックします。
異なる環境やワークフローに対応するため、1つのサービスアカウントに対して複数のAPIキーを作成できます。
APIキー全体が表示されるのは、作成時の一度だけです。ダイアログを閉じた後は、APIキー全体を再度表示できません。Settings に表示されるのはキーID (キーの先頭部分) のみです。APIキー全体を紛失した場合は、新しいAPIキーを作成する必要があります。
安全な保管方法については、APIキーを安全に保管するを参照してください。
このクイックスタートは、Colabノートブックとしても利用できます。
wandb ライブラリをインストールしてログインする
コマンドライン
Python
Python notebook
-
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()
run を初期化してハイパーパラメーターをトラッキングする
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 にログする完全な例については、次のセクションを参照してください。
このモックのトレーニングスクリプトは、シミュレートした精度と損失のメトリクスを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 にアクセスして、精度 や損失などの記録されたメトリクスと、それらが各トレーニング step でどのように変化したかを確認します。次の画像は、各 run でトラッキングされた損失と 精度 を示しています。各 run オブジェクトは、自動生成された名とともに Runs 列に表示されます。
W&B エコシステムのさらに多くの機能を見てみましょう。
- PyTorch などのフレームワーク、Hugging Face などのライブラリ、SageMaker などのサービスと W&B を組み合わせる W&B Integration チュートリアル をお読みください。
- W&B Reports を使って、Runs を整理し、可視化を自動化し、知見を要約し、共同作業者と更新内容を共有しましょう。
- W&B Artifacts を作成して、機械学習パイプライン全体を通してデータセット、モデル、依存関係、結果をトラッキングしましょう。
- W&B Sweeps でハイパーパラメーター探索を自動化し、モデルを最適化しましょう。
- 一元管理ダッシュボード で Runs を分析し、モデルの予測を可視化し、知見を共有しましょう。
- W&B AI Academy にアクセスして、実践的なコースを通じて LLM、MLOps、W&B Models について学びましょう。
- weave-docs.wandb.ai にアクセスして、Weave を使って LLM ベースのアプリケーションをトラッキングし、実験し、評価し、デプロイし、改善する方法を学びましょう。