sweep 設定は、入れ子になったキーと値のペアで構成されます。sweep 設定内のトップレベルキーを使用して、探索対象のパラメーター (Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
parameter キー) や、パラメーター空間の探索手法 (method キー) など、sweep 検索の特性を定義します。
以下の表は、トップレベルの sweep 設定キーとその簡単な説明を示しています。各キーの詳細については、それぞれのセクションを参照してください。
| Top-level keys | Description |
|---|---|
program | (必須) 実行するトレーニングスクリプト |
entity | この sweep の entity |
project | この sweep のプロジェクト |
description | sweep の説明テキスト |
name | W&B UI に表示される sweep の名。 |
method | (必須) 検索戦略 |
metric | 最適化するメトリクス (一部の検索戦略および停止条件でのみ使用) |
parameters | (必須) 探索するパラメーターの範囲 |
early_terminate | 早期終了の条件 |
command | トレーニングスクリプトの呼び出しと引数の受け渡しに使用する command 構造 |
run_cap | この sweep の runs の最大数 |
metric
metric の最上位の sweep 設定キーを使用して、最適化するメトリクスの名、目標、およびターゲット値を指定します。
| Key | Description |
|---|---|
name | 最適化するメトリクスの名。 |
goal | minimize または maximize のいずれかです (デフォルトは minimize) 。 |
target | 最適化するメトリクスの目標値です。run が指定したターゲット値に達すると、sweep は新しい run を作成しなくなります。run を実行中のアクティブな エージェント は、その run が完了するまで待機し、その後は新しい run の作成を停止します。 |
parameters
parameters を指定します。parameters キー内では、最適化したいハイパーパラメーターの名を指定します。一般的なハイパーパラメーターには、学習率、バッチサイズ、エポック数、オプティマイザーなどがあります。sweep 設定で定義する各ハイパーパラメーターには、1 つ以上の探索制約を指定します。
次の表は、サポートされるハイパーパラメーター探索の制約を示しています。ハイパーパラメーターやユースケースに応じて、以下のいずれかの探索制約を使用し、sweep エージェントに探索または使用する対象を指定します。分布を使う場合はどこを探索するか、value や values などを使う場合は何を使用するかを指定します。
| Search constraint | Description |
|---|---|
values | このハイパーパラメーターで有効なすべての値を指定します。grid と互換性があります。 |
value | このハイパーパラメーターで有効な単一の値を指定します。grid と互換性があります。 |
distribution | 確率分布を指定します。デフォルト値については、この表の後の注記を参照してください。 |
probabilities | random を使用する場合に、values の各要素が選択される確率を指定します。 |
min, max | (intor float) 最大値と最小値です。int の場合は int_uniform 分布のハイパーパラメーター、float の場合は uniform 分布のハイパーパラメーターに使用します。 |
mu | (float) normal 分布または lognormal 分布のハイパーパラメーターの平均パラメーターです。 |
sigma | (float) normal 分布または lognormal 分布のハイパーパラメーターの標準偏差パラメーターです。 |
q | (float) 量子化ハイパーパラメーターの量子化 step サイズです。 |
parameters | ルートレベルのパラメーター内に、他のパラメーターをネストします。 |
分布が指定されていない場合、W&B は以下の条件に応じて次の分布を設定します。
valuesを指定した場合はcategoricalmaxとminを整数で指定した場合はint_uniformmaxとminを浮動小数点数で指定した場合はuniformvalueに値を設定した場合はconstant
method
method キーを使用して、ハイパーパラメーター探索の戦略を指定します。選択できる戦略は、grid、random、ベイズ探索の 3 つです。
グリッドサーチ
ランダムサーチ
method: random) を選択する場合は、メトリクスキーで分布空間を指定します。
ベイズ探索
ランダム探索およびベイズ探索の分布オプション
parameter キーの中に、ハイパーパラメーターの名をネストします。次に、distribution キーを指定し、その値の分布を指定します。
次の表に、W&B がサポートする分布を示します。
Value for distribution key | Description |
|---|---|
constant | 定数分布。使用する定数値 (value) を指定する必要があります。 |
categorical | カテゴリカル分布。このハイパーパラメーターで有効な値をすべて (values) 指定する必要があります。 |
int_uniform | 整数上の離散一様分布。max と min は整数で指定する必要があります。 |
uniform | 連続一様分布。max と min は浮動小数点数で指定する必要があります。 |
q_uniform | 量子化一様分布。X が一様分布に従うとき、round(X / q) * q を返します。q のデフォルトは 1 です。 |
log_uniform | 対数一様分布。自然対数が min と max の間で一様分布するような、exp(min) から exp(max) の間の値 X を返します。 |
log_uniform_values | 対数一様分布。log(X) が log(min) と log(max) の間で一様分布するような、min から max の間の値 X を返します。 |
q_log_uniform | 量子化対数一様分布。X が log_uniform に従うとき、round(X / q) * q を返します。q のデフォルトは 1 です。 |
q_log_uniform_values | 量子化対数一様分布。X が log_uniform_values に従うとき、round(X / q) * q を返します。q のデフォルトは 1 です。 |
inv_log_uniform | 逆対数一様分布。log(1/X) が min と max の間で一様分布する X を返します。 |
inv_log_uniform_values | 逆対数一様分布。log(1/X) が log(1/max) と log(1/min) の間で一様分布する X を返します。 |
normal | 正規分布。戻り値は、平均 mu (デフォルト 0) 、標準偏差 sigma (デフォルト 1) の正規分布に従います。 |
q_normal | 量子化正規分布。X が normal に従うとき、round(X / q) * q を返します。q のデフォルトは 1 です。 |
log_normal | 対数正規分布。自然対数 log(X) が平均 mu (デフォルト 0) 、標準偏差 sigma (デフォルト 1) の正規分布に従う値 X を返します。 |
q_log_normal | 量子化対数正規分布。X が log_normal に従うとき、round(X / q) * q を返します。q のデフォルトは 1 です。 |
early_terminate
early_terminate) を使用します。早期終了が発生すると、W&B は新しいハイパーパラメーター値のセットで新しい run を作成する前に、現在の run を停止します。
early_terminate を使用する場合は、停止アルゴリズムを指定する必要があります。sweep の設定では、type キーを early_terminate の中にネストしてください。停止アルゴリズム
W&B は現在、Hyperband 停止アルゴリズムをサポートしています。
bracket スケジュールを作成するには、
min_iter または max_iter のいずれかを指定します。| Key | Description |
|---|---|
min_iter | 最初の bracket の反復回数を指定します |
max_iter | 反復の最大回数を指定します。 |
s | bracket の総数を指定します (max_iter では必須) |
eta | bracket の乗数スケジュールを指定します (デフォルト: 3) 。 |
strict | run を積極的に刈り込む ‘strict’ モードを有効にし、元の Hyperband paper により忠実に従います。デフォルトは false です。 |
Hyperband は数分ごとに、どのrunsを終了するかを確認します。run や反復が短い場合、終了した run の Timestamp は指定した brackets と異なることがあります。
command
command キー内のネストされた値を使って、形式と内容を変更できます。ファイル名などの固定コンポーネントを直接含めることもできます。
Unix システムでは、
/usr/bin/env により、環境に応じて OS が適切な Python インタープリターを選択します。| コマンドマクロ | 説明 |
|---|---|
${env} | Unix システムでは /usr/bin/env に展開され、Windows では省略されます。 |
${interpreter} | python に展開されます。 |
${program} | sweep 設定の program キーで指定されたトレーニングスクリプトのファイル名です。 |
${args} | --param1=value1 --param2=value2 形式のハイパーパラメーターとその値です。 |
${args_no_boolean_flags} | --param1=value1 形式のハイパーパラメーターとその値です。ただし、ブール値のパラメーターは、True の場合は --boolean_flag_param 形式となり、False の場合は省略されます。 |
${args_no_hyphens} | param1=value1 param2=value2 形式のハイパーパラメーターとその値です。 |
${args_json} | JSON としてエンコードされたハイパーパラメーターとその値です。 |
${args_json_file} | JSON としてエンコードされたハイパーパラメーターとその値を含むファイルへのパスです。 |
${envvar} | 環境変数を渡すためのマクロです。${envvar:MYENVVAR} __ は、環境変数 MYENVVAR の値に展開されます。 __ |