メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://wb-21fd5541-docs-2661.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Colab で試す

このページでは、W&B Launch を使用してハイパーパラメーター調整ジョブ (sweeps) を作成する方法を説明します。これにより、他の launch jobs を実行しているのと同じインフラストラクチャー上で、ハイパーパラメーター探索を自動化できます。Launch で Sweeps では、sweep 対象として指定したハイパーパラメーターとともに、sweep スケジューラー が Launch キュー に送られます。sweep スケジューラー は agent によって取得されると開始し、選択されたハイパーパラメーターを使って sweep runs を同じキューに起動します。これは、sweep が完了するか停止されるまで続きます。 デフォルトの W&B Sweep スケジューリングエンジン を使用することも、独自の カスタムスケジューラー を実装することもできます。
  1. 標準 sweep スケジューラー: W&B Sweeps を制御する、デフォルトの W&B Sweep スケジューリングエンジン を使用します。おなじみの bayesgridrandom の method を利用できます。
  2. カスタム sweep スケジューラー: sweep スケジューラー をジョブとして実行するように設定します。このオプションでは、完全にカスタマイズできます。次のセクションでは、標準の sweep スケジューラー を拡張して logging を追加する方法の例を示します。
このガイドでは、W&B Launch が事前に設定済みであることを前提としています。W&B Launch が設定されていない場合は、Launch ドキュメントの how to get started セクションを参照してください。
Launch で Sweeps を初めて使用する場合は、basic method で sweep を作成することをおすすめします。標準の W&B スケジューリングエンジン で要件を満たせない場合は、Launch 上の custom sweeps scheduler を使用してください。

W&B の標準スケジューラーで sweep を作成する

このセクションでは、標準のスケジューリングエンジンを使用して Launch で W&B Sweeps を作成する方法を説明します。W&B App を使用してインタラクティブに sweep を作成することも、W&B CLI を使用してプログラムから作成することもできます。スケジューラーのカスタマイズを含む Launch sweeps の高度な設定を行う場合は、CLI を使用してください。
W&B Launch で sweep を作成する前に、まず sweep の対象となるジョブを作成してください。詳細については、Create a Job ページを参照してください。
W&B App を使用してインタラクティブに sweep を作成します。
  1. W&B App で W&B のプロジェクトにアクセスします。
  2. プロジェクトのサイドバーで sweeps アイコン (ほうきのアイコン) を選択します。
  3. Create Sweep ボタンを選択します。
  4. Configure Launch ボタンをクリックします。
  5. Job ドロップダウン メニューから、ジョブ名と、そこから sweep を作成するジョブバージョンを選択します。
  6. Queue ドロップダウン メニューから、sweep を実行するキューを選択します。
  7. Job Priority ドロップダウンで、launch ジョブの優先度を指定します。launch キューが優先度設定をサポートしていない場合、launch ジョブの優先度は “Medium” に設定されます。
  8. 任意: run または sweep スケジューラーの override 引数を設定します。たとえば、scheduler overrides を使用して、スケジューラーが管理する同時実行 run 数を num_workers で設定できます。
  9. 任意: Destination Project ドロップダウン メニューから、sweep の保存先 project を選択します。
  10. Save をクリックします。
  11. Launch Sweep を選択します。
Launch sweep の設定

カスタム sweep スケジューラーを作成する

このセクションでは、標準のスケジューリングエンジンが要件を満たさない場合に、カスタム sweep スケジューラーを作成する方法について説明します。W&B スケジューラーまたはカスタムスケジューラーを使用して、カスタム sweep スケジューラーを作成できます。
scheduler ジョブを使用するには、wandb CLI バージョン >= 0.15.4 が必要です
W&B の sweep スケジューリング ロジックをジョブとして使用し、Launch sweep を作成します。
  1. 公開されている wandb/sweep-jobs project 内の W&B scheduler ジョブを特定するか、次のジョブ名を使用します。 'wandb/sweep-jobs/job-wandb-sweep-scheduler:latest'
  2. 次の例のように、この名を指す job キーを含む scheduler ブロックを追加した設定 yaml を作成します。
  3. 新しい設定を使用して wandb launch-sweep コマンドを実行します。
設定例:
# launch-sweep-config.yaml  
description: Launch sweep config using a scheduler job
scheduler:
  job: wandb/sweep-jobs/job-wandb-sweep-scheduler:latest
  num_workers: 8  # 同時に8つのsweep runを実行可能にする

# sweep runが実行するトレーニング/チューニングジョブ
job: wandb/sweep-jobs/job-fashion-MNIST-train:latest
method: grid
parameters:
  learning_rate:
    min: 0.0001
    max: 0.1
カスタム sweep スケジューラージョブの例は、wandb/launch-jobs リポジトリの jobs/sweep_schedulers にあります。このガイドでは、公開されている W&B スケジューラー Job の使い方を示すとともに、カスタム sweep スケジューラージョブを作成する手順も説明します。

Launch で Sweeps を再開する

このセクションでは、以前に実行した sweep から Launch sweep を再開する方法について説明します。これは、更新したスケジューラー設定や別のキューで探索を続けたい場合に便利です。ハイパーパラメーターとトレーニングジョブは変更できませんが、スケジューラー固有のパラメーターと、送信先のキューは変更できます。
最初の sweep で latest のようなエイリアスを持つトレーニングジョブを使用していた場合、前回の run 以降に最新のジョブバージョンが変更されていると、再開時に異なる結果になる可能性があります。
  1. 以前に実行した Launch sweep の sweep 名または ID を特定します。sweep ID は 8 文字の文字列 (例: hhd16935) で、W&B App のプロジェクト内で確認できます。
  2. スケジューラーのパラメーターを変更する場合は、更新した設定ファイルを作成します。
  3. ターミナルで次のコマンドを実行します。[] で囲まれた内容は、自分の情報に置き換えてください。
wandb launch-sweep [OPTIONAL-CONFIG-YAML] --resume_id [SWEEP-ID] --queue [QUEUE-NAME]