WandBは機械学習のログ管理に便利なツールです。
WandBを利用することで、モデル学習のログ収集やグラフ表示が簡単にできるようになります。
この記事では、WandBのアカウント作成から使い方まで解説していきます。
WandBとは

WandB(Weights&Biases)は、機械学習のログ管理が簡単にできる無料のツールです。
WandBを使って、次のようなことができます。
- モデルの学習ログの自動収集
- ログのグラフをリアルタイム表示
- ログと連動したアラート通知(Slackまたはメール)
- モデル・データセットのバージョン管理
ログはWandBのサイトから閲覧できます。

WandBのアカウント作成

WandBを利用するには、アカウント作成が必要になります。
アカウント作成の手順は以下のとおりです。
WandBのサイトにアクセスします。

ヘッダーの「サインアップ」ボタンをクリックします。

メールアドレスとパスワードを入力し、「SIGN UP」ボタンをクリックします。

入力したメールアドレスにメールが届いたら、「Verify email」リンクをクリックして認証します。

登録したメールアドレスのアカウントをクリックしてログインします。

ユーザー情報を入力して、利用規約・プライバシーポリシーに同意し、「Continue」ボタンをクリックします。
ここまででアカウント作成は完了です。

APIキーの取得

WandBはコマンドラインを通じて、WandB APIと連携して簡単にログのアップロードができます。
外部環境からWandBにアクセスする際に、APIキーの認証が求められます。
認証に必要なAPIキーの取得方法は以下のとおりです。
WandBのサイトにログインした後に、ヘッダー右上にある「アカウント名」をクリックし、「User settings」を選択します。

「Danger zone」のセクションから「Reveal」ボタンをクリックすると、APIキーが表示されます。

表示されたAPIキーをコピーします。

WandBのインストール・ログイン

お使いの環境にWandBをインストールし、ログインします。
WandBはPythonライブラリとしてお使いの環境にインストールできます。
Jupyter notebook / Google Colabをお使いの場合
以下のコマンドを実行して、wandbをインストールします。
!pip install wandb
インストールが完了したら、wandbにログインします。
import wandb
wandb.login()
APIキーの入力が求められますので、WandBのダッシュボードでコピーしたAPIキーを入力します。

コマンドラインをお使いの場合
以下のコマンドを実行して、wandbをインストールします。
pip install wandb
インストールが完了したら、wandbをログインします。
wandb login
APIキーの入力が求められますので、WandBのダッシュボードでコピーしたAPIキーを入力します。
WandBの使い方(学習ログの記録)
WandBへログインが完了したら、サンプルコードを使って、学習ログを記録してみます。
import wandb
import random
#エポックと学習率を指定
epochs = 30
lr = 0.01
#プロジェクトの作成とハイパーパラメータの設定
run = wandb.init(
project="sample-project",
config={
"learning_rate": lr,
"epochs": epochs,
},
)
# ランダムな値で損失と精度を擬似的に計算
offset = random.random() / 5
print(f"lr: {lr}")
for epoch in range(2, epochs):
acc = 1 - 2**-epoch - random.random() / epoch - offset
loss = 2**-epoch + random.random() / epoch + offset
print(f"epoch={epoch}, accuracy={acc}, loss={loss}")
wandb.log({"accuracy": acc, "loss": loss})
コードを実行すると、[View project at:https://wandb.ai/xxxx]のリンクが表示されます。
このリンクをクリックするとWandBのダッシュボードに遷移して、ログデータを確認することができます。

ログの確認
「Charts」のセクションでは、モデルの学習ログがフラフで表示されます。
lossやaccuracy, learning rate, epochなどのログデータが確認できます。

「System」のセクションでは、ハードウェアの状況が確認できます。
CPU、GPU、システムメモリ、ディスクの使用量/使用率などがグラフで表示されます。

生成AI・LLMのコストでお困りなら
GPUのスペック不足で生成AIの開発が思うように進まないことはありませんか?
そんなときには、高性能なGPUをリーズナブルな価格で使えるGPUクラウドサービスがおすすめです!

GPUSOROBANは、生成AI・LLM向けの高速GPUを業界最安級の料金で使用することができます。
インターネット環境さえあれば、クラウド環境のGPUサーバーをすぐに利用可能です。
大規模な設備投資の必要がなく、煩雑なサーバー管理からも解放されます。