メインコンテンツへスキップ
このページでは、Launch キューのオプションを設定する方法を説明します。

設定テンプレートを設定する

設定テンプレートを使用して、計算リソースの消費に対するガードレールを管理できます。メモリ使用量、GPU、実行時間などの項目について、デフォルト値、最小値、最大値を設定します。 設定テンプレートでキューを設定すると、チームメンバーは、あなたが定義した項目を、指定した範囲内でのみ変更できます。

キューテンプレートを設定する

既存のキューにキューテンプレートを設定することも、新しいキューを作成することもできます。
  1. W&B Launch App にアクセスします。
  2. テンプレートを追加するキュー名の横にある View queue を選択します。
  3. Config タブを選択します。ここには、キューの作成日時、キュー設定、既存の起動時オーバーライドなど、キューに関する情報が表示されます。
  4. キュー設定 セクションに移動します。
  5. テンプレート化したい設定のキーと値を特定します。
  6. 設定内の値をテンプレートフィールドに置き換えます。テンプレートフィールドは {{variable-name}} の形式です。
  7. Parse configuration ボタンをクリックします。設定を解析すると、W&B は作成した各テンプレートに対応するタイルをキュー設定の下に自動的に作成します。
  8. 生成された各タイルでは、まずそのキュー設定で許可するデータ型 (string、integer、または float) を指定する必要があります。指定するには、Type ドロップダウンメニューからデータ型を選択します。
  9. データ型に応じて、各タイル内に表示されるフィールドを入力します。
  10. Save config をクリックします。
たとえば、チームが使用できる AWS インスタンスを制限するテンプレートを作成したいとします。テンプレートフィールドを追加する前のキュー設定は、次のようになっている場合があります。
launch config
RoleArn: arn:aws:iam:region:account-id:resource-type/resource-id
ResourceConfig:
  InstanceType: ml.m4.xlarge
  InstanceCount: 1
  VolumeSizeInGB: 2
OutputDataConfig:
  S3OutputPath: s3://bucketname
StoppingCondition:
  MaxRuntimeInSeconds: 3600
InstanceType のテンプレートフィールドを追加すると、設定は次のようになります。
launch config
RoleArn: arn:aws:iam:region:account-id:resource-type/resource-id
ResourceConfig:
  InstanceType: "{{aws_instance}}"
  InstanceCount: 1
  VolumeSizeInGB: 2
OutputDataConfig:
  S3OutputPath: s3://bucketname
StoppingCondition:
  MaxRuntimeInSeconds: 3600
次に、Parse configuration をクリックします。キュー設定 の下に、aws-instance というラベルの新しいタイルが表示されます。 次に、Type ドロップダウンからデータ型として String を選択します。すると、ユーザーが選択できる値を指定するためのフィールドが表示されます。たとえば、次の画像では、チームの管理者が、ユーザーが選択できる 2 種類の AWS インスタンスタイプ (ml.m4.xlargeml.p3.xlarge) を設定しています。
AWS CloudFormation template

Launch ジョブを動的に設定する

キュー設定は、agent がキューからジョブを取り出す際に評価されるマクロを使って動的に設定できます。設定できるマクロは次のとおりです。
MacroDescription
${project_name}run の起動先のプロジェクト名。
${entity_name}run の起動先のプロジェクトの所有者。
${run_id}起動される run の ID。
${run_name}起動される run の名前。
${image_uri}この run のコンテナーイメージの URI。
前の表に記載されていないカスタムマクロ (たとえば ${MY_ENV_VAR}) は、agent の環境変数の値に置き換えられます。

Launch エージェントを使用してアクセラレータ (GPU) 上で実行するイメージをビルドする

アクセラレータ環境で実行するイメージを Launch でビルドする場合は、アクセラレータ用のベースイメージを指定する必要があることがあります。 このアクセラレータ用ベースイメージは、次の要件を満たしている必要があります。
  • Debian との互換性 (Launch の Dockerfile は Python の取得に apt-get を使用します)
  • CPU および GPU のハードウェア命令セットとの互換性 (使用予定の GPU がその CUDA バージョンをサポートしていることを確認してください)
  • 指定するアクセラレータのバージョンと、ML アルゴリズムにインストールされているパッケージとの互換性
  • ハードウェアとの互換性を確保するために追加の設定手順が必要なパッケージがインストールされていること

TensorFlow で GPU を使用する方法

TensorFlow が GPU を正しく利用できるようにします。そのためには、キューのリソース設定で builder.accelerator.base_image キーに Docker image とその image tag を指定します。 たとえば、tensorflow/tensorflow:latest-gpu をベースイメージに指定すると、TensorFlow で GPU を正しく使用できます。これは、キューのリソース設定で構成できます。 次の JSON スニペットは、キュー設定で TensorFlow のベースイメージを指定する方法を示しています。
キュー設定
{
    "builder": {
        "accelerator": {
            "base_image": "tensorflow/tensorflow:latest-gpu"
        }
    }
}