Skip to main content
sweep 設定は、ネストされたキーと値のペアで構成されます。sweep 設定内のトップレベルキーを使用して、探索するパラメーター (parameters キー) やパラメーター空間の探索手法 (method キー) など、sweep の探索方法を定義します。 次の表は、sweep 設定のトップレベルキーとその概要を示しています。各キーの詳細については、それぞれのセクションを参照してください。 詳細は、sweep 設定を定義するを参照してください。

metric

sweep 設定のトップレベルキー metric を使用して、最適化するメトリクスの名前、目標、およびターゲットメトリクスを指定します。

parameters

YAML ファイルまたは Python スクリプトで、parameters をトップレベルのキーとして指定します。parameters キーの中には、最適化するハイパーパラメーターの名前を指定します。代表的なハイパーパラメーターには、学習率、バッチサイズ、エポック数、オプティマイザーなどがあります。sweep 設定で定義するハイパーパラメーターごとに、1 つ以上の探索制約を指定してください。 次の表に、サポートされるハイパーパラメーター探索制約を示します。ハイパーパラメーターとユースケースに応じて以下のいずれかの探索制約を使用し、探索または使用する範囲 (分布の場合) や値 (value や values など) を sweep エージェントに指示します。
分布を指定しない場合、W&B は次の条件に基づいて分布を設定します。
  • values を指定した場合は categorical
  • max と min を整数で指定した場合は int_uniform
  • max と min を浮動小数点数で指定した場合は uniform
  • value を指定した場合は constant

method

method キーでハイパーパラメーター探索の戦略を指定します。戦略は、グリッドサーチ、ランダムサーチ、ベイズ探索の 3 種類から選択できます。 グリッドサーチは、ハイパーパラメーター値のすべての組み合わせを順に試行します。各反復処理で使用するハイパーパラメーター値のセットは、過去の結果を考慮せずに決定されます。グリッドサーチは計算コストが高くなる場合があります。 連続的な探索空間を探索する場合、グリッドサーチは終了せずに実行され続けます。 ランダムサーチでは、各反復処理で分布に基づき、過去の結果を考慮せずにハイパーパラメーター値の組み合わせをランダムに選択します。ランダムサーチは、コマンドライン、Python スクリプト内、または W&B アプリ からプロセスを停止しない限り、無期限に実行されます。 ランダムサーチ (method: random) を選択する場合は、parameters キーで各ハイパーパラメーターの分布を指定してください。 ランダムサーチやグリッドサーチとは異なり、ベイズモデルはそれまでの結果を踏まえて判断を行います。ベイズ最適化では、確率モデルを使用して次に試す値を決定します。このプロセスでは、目的関数を評価する前に、代理関数 (サロゲート関数) 上で値を反復的にテストします。ベイズ探索は連続パラメーターの数が少ない場合に効果的ですが、スケーラビリティは高くありません。ベイズ探索の詳細については、論文「Bayesian Optimization Primer」を参照してください。 ベイズ探索は、コマンドライン、Python スクリプト内、または W&B アプリ からプロセスを停止しない限り、実行され続けます。 parameters キーの中にハイパーパラメーター名をネストします。次に、distribution キーを指定し、値の分布を設定します。 次の表は、W&B がサポートする分布の一覧です。

early_terminate

パフォーマンスの低い run を停止するには、早期終了 (early_terminate) を使用します。早期終了が発生すると、W&B は現在の run を停止してから、新しいハイパーパラメーター値のセットで新しい run を作成します。
early_terminate を使用する場合は、停止アルゴリズムを指定する必要があります。sweep 設定で、early_terminate の下に type キーをネストしてください。

停止アルゴリズム

W&B は Hyperband 停止アルゴリズムをサポートしています。
Hyperband によるハイパーパラメーター最適化では、brackets と呼ばれる、あらかじめ設定された 1 つ以上の反復処理数の時点で、プログラムを停止するか継続するかを評価します。 W&B run が bracket に到達すると、sweep はその run のメトリクスを、これまでに報告されたすべてのメトリクス値と比較します。run のメトリクス値が高すぎる場合 (目標が最小化のとき) 、または低すぎる場合 (目標が最大化のとき) 、sweep はその run を終了します。 brackets は、ログされた反復処理数に基づいて決まります。brackets の数は、最適化対象のメトリクスをログする回数に対応します。反復処理は、step、エポック、またはその中間の単位に対応させることができます。bracket の計算に step カウンターの数値は使用されません。
bracket スケジュールを作成するには、min_iter または max_iter のいずれかを指定してください。
Hyperband は、終了すべき run を数分ごとに確認します。そのため、run や反復処理が短い場合、run が終了するタイムスタンプが指定した brackets とずれることがあります。

command

command トップレベルキーを使用すると、sweep エージェントがトレーニングスクリプトを呼び出す方法と、スクリプトに引数を渡す方法を制御できます。形式と内容は、command キー内にネストした値で変更します。ファイル名などの固定部分は直接記述できます。
Unix システムでは、/usr/bin/env を使用することで、OS が環境に応じて適切な Python インタープリターを選択します。
W&B は、コマンドの可変部分に使用できる次のマクロをサポートしています。
最終更新日 2026年9月30日