Weights & Biases
Weights & Biases(W&B)は、実験の追跡、ハイパーパラメータスイープの実行、モデルとデータのバージョン管理を行うMLプラットフォームです。機能とYOLOのセットアップを紹介します。
Weights & Biases(W&B、またはPythonパッケージ名に由来するwandb)は、機械学習運用(MLOps)向けの開発者プラットフォームです。モデル学習の実行を記録、可視化、比較できます。PyTorchなどを使った学習スクリプトに数行追加するだけで、学習率やバッチサイズなどの各実行の設定と、メトリクス、GPU統計、出力ファイルがホスト型ダッシュボードに送信されます。チームはそこで実験を比較し、結果を再現し、どのデータや設定からモデルが生成されたかを追跡できます。実験管理に加え、W&Bはハイパーパラメーター調整、データセットとモデルのバージョン管理、モデルレジストリを提供します。また、Weave製品を通じて、大規模言語モデル(LLM)アプリケーションのトレースと評価も行えます。GPUクラウドプロバイダーのCoreWeaveは2025年5月にWeights & Biasesの買収を完了し、W&Bのドキュメントは現在、CoreWeaveのドキュメントサイトに掲載されています。
主な機能#
- 実験:
wandb.init()で実行を開始して設定を保存し、wandb.log()で各ステップのメトリクス、画像、表を記録します。SDKはGPU使用率やメモリ使用量などのシステムメトリクスもサンプリングするため、データ読み込みのボトルネックを特定できます。 - スイープ:グリッド、ランダム、ベイズ手法を使ってハイパーパラメーターを自動探索します。エージェントが多数のマシンで試行を並列実行し、性能の低い実行を早期終了することもできます。
- アーティファクト: バージョン管理されたデータセット、モデルのチェックポイント、その他のファイルです。系譜グラフにより、各バージョンをどの実行が使用または生成したかを確認できます。
- レジストリ: 承認済みのモデルやデータセットのバージョンを厳選してまとめたカタログで、チームはデプロイに向けて各バージョンを昇格できます。
- レポート: 実行のライブチャートと文章による分析を組み合わせた共有可能なドキュメントです。
- Weave: LLMおよびエージェントアプリケーション向けのトレース、評価、コスト追跡機能です。
Sweepでは探索と学習を分離します。コントローラーが探索状態を保持して設定を提案し、任意の数のエージェントが設定を取得して学習を行い、目的のメトリクスを報告します。
W&BとUltralytics YOLOの使用#
Ultralytics YOLOには、デフォルトで無効になっている組み込みのW&B連携が備わっています。Ultralyticsの設定で有効にすると、すべてのトレーニング実行について、引数リスト全体、エポックごとの損失と学習率、適合率、再現率、平均適合率(mAP)などの検証指標、保存したプロットが記録されます。最後にbest.ptをモデルアーティファクトとしてアップロードし、対話型の適合率-再現率曲線と信頼度曲線も追加します。これらのbest.ptアーティファクトは、予測、エクスポート、デプロイのために、後からUltralytics Platformにインポートできます。
import os
from ultralytics import YOLO, settings
# APIキーなしでローカルに記録し、「wandb sync」で後からアップロードするか、「wandb login」を実行してこの行を削除します
os.environ["WANDB_MODE"] = "offline"
# 組み込みのW&Bコールバックを有効にします(「pip install wandb」が必要です。設定はUltralyticsの設定ファイルに保存されます)
settings.update({"wandb": True})
# projectとnameはW&Bのプロジェクト名と実行名になります
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=5, project="yolo26-experiments", name="baseline")projectを共有し、nameが異なる学習実行は、1つのW&Bプロジェクト内に並べて表示されます。そのため、モデルサイズ、画像サイズ、拡張設定が異なる実行を1つのダッシュボードで比較できます。
W&Bと関連用語の比較#
- モデルの重みとバイアス:プラットフォーム名は、ニューラルネットワークの学習可能なパラメーターを指します。重みは各ニューロンへの入力をスケーリングし、バイアスは活性化関数の前に出力をシフトします。誤差逆伝播で両方を更新します。プラットフォームでは、トレーニング中に重みとバイアスの分布や勾配を記録できます。
- MLflow: モデルの追跡、パッケージ化、登録を行うオープンソースプラットフォームで、チームが自社でホストすることもよくあります。W&Bは主にマネージドサービスとして提供されますが、エンタープライズ向けのセルフホスト型オプションもあります。
- TensorBoard: PyTorchやTensorFlowの学習ログを可視化するローカルツールです。W&Bのホスト型コラボレーション機能、Sweep、レジストリは備えていません。










