メインコンテンツまでスキップ

Sweeps on Launch

W&B Launchでハイパーパラメータチューニングジョブ (sweeps) を作成します。Launchでsweepsを使用すると、指定されたハイパーパラメータを使用してsweepスケジューラがLaunch Queueにプッシュされます。エージェントがこれをピックアップすると、選択されたハイパーパラメータでsweep runsを同じキューに起動します。これがsweepが終了するか停止するまで続きます。

デフォルトのW&B Sweepスケジューリングエンジンを使用するか、独自のカスタムスケジューラを実装することができます:

  1. 標準のsweepスケジューラ:W&B Sweepsを制御するデフォルトのW&B Sweepスケジューリングエンジンを使用します。bayesgridrandomメソッドが利用可能です。
  2. カスタムsweepスケジューラ:ジョブとして稼働するようにsweepスケジューラを設定します。このオプションにより、完全なカスタマイズが可能になります。標準のsweepスケジューラを拡張してログを追加する方法の例は、以下のセクションにあります。
注記

このガイドは、W&B Launchが事前に設定されていることを前提としています。もしW&B Launchが設定されていない場合は、Launchドキュメントの開始方法セクションを参照してください。

ヒント

初めてLaunchのsweepsを使用する場合は、「basic」メソッドを使用してsweepを作成することをおすすめします。標準のW&Bスケジューリングエンジンがニーズを満たさない場合は、カスタムのLaunch sweepsスケジューラを使用してください。

W&B標準スケジューラを使用してsweepを作成する

Launchを使用してW&B Sweepsを作成します。W&B Appを使用してインタラクティブにsweepを作成するか、W&B CLIを使用してプログラム的に作成します。Launch sweepsの高度な設定(スケジューラのカスタマイズを含む)には、CLIを使用してください。

備考

W&B Launchを使用してsweepを作成する前に、まずsweepを実行するジョブを作成してください。詳細については、ジョブの作成ページを参照してください。

W&B Appを使用してインタラクティブにsweepを作成する。
  1. W&B Appで自分のW&Bプロジェクトに移動します。
  2. 左パネルのsweepsアイコン(ほうきの画像)を選択します。
  3. 次に、Create Sweepボタンを選択します。
  4. Configure Launch 🚀ボタンをクリックします。
  5. Jobドロップダウンメニューから、sweepを作成するジョブの名前とジョブバージョンを選択します。
  6. Queueドロップダウンメニューを使用して、スウィープを実行するキューを選択します。
  7. Job Priorityドロップダウンを使用して、Launchジョブの優先順位を指定します。Launchキューが優先順位をサポートしていない場合、Launchジョブの優先順位は「Medium」に設定されます。
  8. (オプション)runまたはsweepスケジューラのオーバーライドの引数を構成します。例えば、スケジューラのオーバーライドを使用して、num_workersを使用してスケジューラが管理する同時実行数を設定します。
  9. (オプション)Destination Projectドロップダウンメニューを使用してsweepを保存するプロジェクトを選択します。
  10. Saveをクリックします。
  11. Launch Sweepを選択します。

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

W&Bスケジューラまたはカスタムスケジューラを使用してカスタムスイープスケジューラを作成します。

備考

スケジューラジョブを使用するには、wandb CLI バージョン >= 0.15.4が必要です。

W&B sweepスケジューリングロジックをジョブとして使用してLaunch sweepを作成します。

  1. 公開されているwandb/sweep-jobsプロジェクトのWandb schedulerジョブを特定するか、ジョブ名を使用します:'wandb/sweep-jobs/job-wandb-sweep-scheduler:latest'
  2. schedulerブロックとこの名前を指すjobキーを含む設定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 # allows 8 concurrent sweep runs

# training/tuning job that the sweep runs will execute
job: wandb/sweep-jobs/job-fashion-MNIST-train:latest
method: grid
parameters:
learning_rate:
min: 0.0001
max: 0.1

カスタムsweepスケジューラジョブで可能な例は、jobs/sweep_schedulersディレクトリにあるwandb/launch-jobsリポジトリにあります。このガイドでは、一般に公開されているWandb Scheduler 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>
Was this page helpful?👍👎