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

ワークロードYAMLリファレンス

このページでは、 databricks air run で受け入れられるワークロード YAML フィールドについて説明します。コマンドの構文とフラグについては、「 databricks air ラン」を参照してください。ワークロードを送信するには、 「 AI ランタイム クイックスタート」を参照してください。

すべてのワークロードは experiment_name、 compute、および commandを必要とします。

例​

次の例は、サンプルワークロードの構成を示しています。

YAML
experiment_name: my-training
compute:
accelerator_type: GPU_1xA10
num_accelerators: 1
environment:
version: 6
dependencies:
- torch
code_source:
root_path: .
command: python $CODE_SOURCE_PATH/train.py

experiment_name​

型: 文字列

必須。experiment_nameキーはMLflowエクスペリメント名です。

この名前のエクスペリメントが存在しない場合、AI ランタイムはエクスペリメントを作成します。それ以外の場合、AI ランタイムは既存のエクスペリメントに新しいランを追加します。

コンピュート​

タイプ: マップ

必須compute オブジェクトはアクセラレータ構成を定義します。

キー

Type

説明

accelerator_type

string

必須。ワークスペースで使用可能な アクセラレータータイプ のいずれか。マッチングでは大文字と小文字が区別されます。

num_accelerators

整数

必須。割り当てる GPU の総数。選択したアクセラレータタイプのノードあたりの GPU の倍数である必要があります。

キー

Type

説明

accelerator_type

string

必須。ワークスペースで使用可能な アクセラレータータイプ のいずれか。マッチングでは大文字と小文字が区別されます。

num_accelerators

整数

必須。割り当てる GPU の総数。選択したアクセラレータタイプのノードあたりの GPU の倍数である必要があります。

アクセラレータタイプ​

各accelerator_type値はGPU_<GPUs per node>x<GPU model>の形式です。例えば、GPU_8xH100は8つのH100 GPUを持つノードです。GPU_のプレフィックスと大文字小文字を含め、次の表から正確な値を使用します。

accelerator_type

GPU

ノードあたりのGPU

有効 num_accelerators

GPU_1xA10

NVIDIA A10、24 GB

1

1

GPU_1xH100

NVIDIA H100、80 GB

1

1

GPU_8xH100

NVIDIA H100、GPUあたり80 GB

8

8、16などの8の倍数、または 64

GPU_8xB300

NVIDIA B300、GPU あたり 288 GB (パブリックプレビュー)

8

8の倍数(8 または 16

accelerator_type

GPU

ノードあたりのGPU

有効 num_accelerators

GPU_1xA10

NVIDIA A10、24 GB

1

1

GPU_1xH100

NVIDIA H100、80 GB

1

1

GPU_8xH100

NVIDIA H100、GPUあたり80 GB

8

8、16などの8の倍数、または 64

GPU_8xB300

NVIDIA B300、GPU あたり 288 GB (パブリックプレビュー)

8

8の倍数(8 または 16

プロビジョニングされたノードの数は、num_acceleratorsをノードごとのGPU数で割った値になります。例えば、accelerator_type: GPU_8xH100にnum_accelerators: 16を指定すると、2つの8xH100ノードがプロビジョニングされます。

アクセラレーターの可用性は、ワークスペース、クラウド、リージョンによって異なります。ワークスペースで利用可能なアクセラレーターのタイプをリストするには、次を実行します。

Bash
databricks air run -h config.compute.accelerator_type

ハードウェアの選択については、「 ハードウェア」を参照してください。

コマンド​

型: 文字列

必須command キーには、空ではないシェルコマンドまたはスクリプトが含まれています。コマンドのパスは、ワークロードコンテナ内のリモートファイルパスを参照します。code_source が設定されている場合、 $CODE_SOURCE_PATH には抽出されたコードへの絶対パスが含まれます。

環境​

タイプ: マップ

environment オブジェクトは、オプションの依存関係またはカスタム Unity Catalog イメージを持つマネージド環境を選択します。

キー

Type

説明

version

文字列または整数

数値の 環境バージョン (6 など)、または Databricks AI 環境識別子 (databricks_ai_v6 など)。databricks_ai_v 識別子にはバージョン 5 以上が必要です。省略した場合は、CLI は現在の AI ランタイム defaultを使用します。

dependencies

文字列のリスト

Serverless環境に渡されるパッケージ仕様。defaultでは追加の依存関係はありません。

unity_catalog_image

string

<catalog>.<schema>.<image>:<tag>形式のカスタム画像。versionおよびdependenciesと相互に排他的です。設定手順については、「 AI ランタイムでカスタムDockerイメージを使用する」を参照してください。

キー

Type

説明

version

文字列または整数

数値の 環境バージョン (6 など)、または Databricks AI 環境識別子 (databricks_ai_v6 など)。databricks_ai_v 識別子にはバージョン 5 以上が必要です。省略した場合は、CLI は現在の AI ランタイム defaultを使用します。

dependencies

文字列のリスト

Serverless環境に渡されるパッケージ仕様。defaultでは追加の依存関係はありません。

unity_catalog_image

string

<catalog>.<schema>.<image>:<tag>形式のカスタム画像。versionおよびdependenciesと相互に排他的です。設定手順については、「 AI ランタイムでカスタムDockerイメージを使用する」を参照してください。

環境の選択と拡張に関するガイダンスについては、AIランタイム環境の設定を参照してください。

管理された環境の例​
YAML
environment:
version: 6
dependencies:
- torch

管理された環境の代わりにカスタムイメージを使用するには、 unity_catalog_image のみを指定します。

カスタム画像例​
YAML
environment:
unity_catalog_image: main.ml.training:v1

: コードソース​

タイプ: マップ

code_source オブジェクトは、ワークロードのローカルコードをパッケージ化します。

キー

Type

説明

root_path

string

code_sourceが設定されている場合に必須。パッケージ化するローカルディレクトリ。CLIがランをステージングする際、ディレクトリが存在している必要があります。

remote_volume

string

uploadされたアーカイブの Unity Catalog ボリュームの場所。/Volumes/で起動する必要があります。ワークスペースの場所をdefaultにします。

include_paths

文字列のリスト

root_pathに相対するインクルード先のパス。エントリは空でない相対パスである必要があり、..を含めることはできません。キーを省略すると、選択したすべてのファイルが含まれます。空のリストは無効です。

git

オブジェクト

コードソースのスナップショットをローカルGit Branchまたはcommitにピン留めします。

キー

Type

説明

root_path

string

code_sourceが設定されている場合に必須。パッケージ化するローカルディレクトリ。CLIがランをステージングする際、ディレクトリが存在している必要があります。

remote_volume

string

uploadされたアーカイブの Unity Catalog ボリュームの場所。/Volumes/で起動する必要があります。ワークスペースの場所をdefaultにします。

include_paths

文字列のリスト

root_pathに相対するインクルード先のパス。エントリは空でない相対パスである必要があり、..を含めることはできません。キーを省略すると、選択したすべてのファイルが含まれます。空のリストは無効です。

git

オブジェクト

コードソースのスナップショットをローカルGit Branchまたはcommitにピン留めします。

gitを省略すると、CLIはGit無視ルールで除外されていないコミットされていないファイルや追跡されていないファイルを含む作業ツリーをパッケージ化します。相対的なroot_pathは、ワークロードYAMLファイルを含むディレクトリから解決されます。

git​

タイプ: マップ

gitオブジェクトは、次のキーをサポートしています。

キー

Type

説明

branch

string

commitが省略されている場合は必須。BranchのローカルHEADをパッケージ化します。選択したファイルにコミットされていない変更を含めることはできません。

commit

string

branchが省略されている場合に必須です。ローカルGitオブジェクトストアからcommitをパッケージ化します。branchと相互に排他的です。

キー

Type

説明

branch

string

commitが省略されている場合は必須。BranchのローカルHEADをパッケージ化します。選択したファイルにコミットされていない変更を含めることはできません。

commit

string

branchが省略されている場合に必須です。ローカルGitオブジェクトストアからcommitをパッケージ化します。branchと相互に排他的です。

例​

次の例は、ローカルのmainBranchから選択したパスをパッケージ化します。

YAML
code_source:
root_path: ./src
include_paths:
- training
- configs
git:
branch: main

env_variables​

型: 文字列のマップ

env_variables キーには、プレーンな環境変数名と文字列値が含まれています。名前は secrets にも表示できません。

例​
YAML
env_variables:
BATCH_SIZE: '32'
LEARNING_RATE: '0.001'

べき等性トークン​

型: 文字列

: idempotency_token キーは、繰り返される送信を識別します。: 同じトークンによる繰り返し送信は、既存のランを返します。: このキーが省略されると、CLI は UUID を生成します。: --idempotency-key コマンドフラグが優先されます。

max_retries​

型: 整数

max_retriesキーは、最初の試行後の再試行回数を指定します。値は負でない値にする必要があります。default:3。

mlflow_artifact_location​

型: 文字列

mlflow_artifact_location キーには、 dbfs:/ URI または /Volumes/ パスが含まれています。このキーを省略した場合、新しいエクスペリメントはdefaultの DBFS ロケーションを使用し、既存のエクスペリメントは設定済みのアーティファクトロケーションを使用します。既存のエクスペリメントの場合、値はエクスペリメントのアーティファクトロケーションと一致している必要があります。

mlflow_experiment_directory​

型: 文字列

mlflow_experiment_directoryキーには、エクスペリメント用のワークスペース・ディレクトリが含まれています。パスは「/Workspace」で起動する必要があります。

mlflow_run_name​

型: 文字列

mlflow_run_nameキーにはラン名が含まれています。このキーを省略した場合、ラン名はdefaultでexperiment_nameの値になります。

パラメーター​

タイプ: マップ

parametersキーには自由形式のネストされた値が含まれています。CLIは値を他の起動アーティファクトと一緒に hyperparameters.yaml にシリアル化します。

例​
YAML
parameters:
learning_rate: 0.001
model:
hidden_size: 1024

権限​

タイプ: マップのリスト

permissionsキーには、送信後に適用される権限付与が含まれています。権限付与が失敗した場合、ランは作成されたままになり、CLI は警告を表示します。

各付与は、以下のキーをサポートしています。

キー

Type

説明

level

string

必須。CAN_VIEWやCAN_MANAGEなどの権限レベル。ワークスペースは値を検証します。

user_name

string

ユーザーのEメール。各付与には、 user_name、 group_name、または service_principal_name のいずれかを正確に指定します。

group_name

string

グループ名。各付与に対して user_name、 group_name、または service_principal_name のいずれか1つを正確に指定してください。

service_principal_name

string

Service Principal名。各付与に対して、user_name、group_name、またはservice_principal_nameのいずれか1つを正確に指定します。

キー

Type

説明

level

string

必須。CAN_VIEWやCAN_MANAGEなどの権限レベル。ワークスペースは値を検証します。

user_name

string

ユーザーのEメール。各付与には、 user_name、 group_name、または service_principal_name のいずれかを正確に指定します。

group_name

string

グループ名。各付与に対して user_name、 group_name、または service_principal_name のいずれか1つを正確に指定してください。

service_principal_name

string

Service Principal名。各付与に対して、user_name、group_name、またはservice_principal_nameのいずれか1つを正確に指定します。

例​
YAML
permissions:
- user_name: trainer@example.com
level: CAN_MANAGE
- group_name: training-team
level: CAN_VIEW

シークレット​

型: 文字列のマップ

secrets キーには、scope/key 形式のシークレット参照にマップされた環境変数名が含まれています。スコープとキーは空にすることはできません。名前はenv_variablesに表示することもできません。

例​
YAML
secrets:
HF_TOKEN: my-scope/hf-token

シークレットの作成と管理の情報については、 シークレットの管理を参照してください。

timeout_minutes​

型: 整数

timeout_minutes キーは、再試行を含む完全なランの壁時計制限を設定します。値を正の値で設定してください。省略した場合は、ワークロードは AI ランタイム default を使用します。

usage_policy_id​

型: 文字列

usage_policy_id キーには、既存の Serverless 使用ポリシーの正規 UUID が含まれます。usage_policy_nameと相互に排他的です。両方を同じワークロードで使用することはできません。

usage_policy_name​

型: 文字列

usage_policy_nameキーには、既存のServerless使用ポリシーの名前が含まれています。usage_policy_idと相互に排他的です。

使用ポリシーの作成に関する情報については、Serverless使用ポリシーでの属性の使用を参照してください。

その他のリソース​