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

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

備考

プレビュー

この機能は パブリック プレビュー段階です。

このページでは、databricks air run で受け入れられるワークロード YAML フィールドについて説明します。コマンドの構文とフラグについては、databricks air ラン を参照してください。ワークロードを送信するには、Databricks CLI quickstart for 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 ランタイムは既存のエクスペリメントに新しいランを追加します。

コンピュート​

Type: Map

必須。compute オブジェクトによってアクセラレータ構成が定義されます。

キー

Type

説明

accelerator_type

string

必須。CLIで受け入れられ、ワークスペースで使用可能なアクセラレータタイプ。大文字と小文字が区別されます。

num_accelerators

整数

必須。選択したアクセラレータタイプでサポートされる正のアクセラレータ数。

pool_id

string

プロビジョニングされた GPU 容量の ID。

priority_class

string

プロビジョニングされた GPU 容量を使用するワークロードのスケジューリング優先度。指定できる値は、BEST_EFFORT、NORMAL、および CRITICAL です。pool_id が必要です。

キー

Type

説明

accelerator_type

string

必須。CLIで受け入れられ、ワークスペースで使用可能なアクセラレータタイプ。大文字と小文字が区別されます。

num_accelerators

整数

必須。選択したアクセラレータタイプでサポートされる正のアクセラレータ数。

pool_id

string

プロビジョニングされた GPU 容量の ID。

priority_class

string

プロビジョニングされた GPU 容量を使用するワークロードのスケジューリング優先度。指定できる値は、BEST_EFFORT、NORMAL、および CRITICAL です。pool_id が必要です。

アクセラレータのタイプと数は、ワークスペース、クラウド、およびリージョンによって異なります。ハードウェアの選択と可用性については、ハードウェアオプションを参照してください。

コマンド​

タイプ: 文字列

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

environment​

Type: Map

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

キー

Type

説明

version

文字列または整数

6などの数値の環境バージョン、またはdatabricks_ai_v6などのDatabricks AI環境識別子。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_v6などのDatabricks AI環境識別子。databricks_ai_vの識別子にはバージョン5以上が必要です。省略した場合は、CLIによって現在のAIランタイムのdefaultが使用されます。

dependencies

文字列のリスト

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

unity_catalog_image

string

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

環境の選択と拡張のガイダンスについては、 「環境の設定」を参照してください。

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

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

Custom image example​
YAML
environment:
unity_catalog_image: main.ml.training:v1

code_source​

Type: Map

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を省略した場合、Gitの除外ルールによって除外されていない、コミットされていないファイルや追跡されていないファイルを含め、CLIが作業ツリーをパッケージ化します。相対的なroot_pathは、ワークロードYAMLファイルを含むディレクトリからの相対パスとして解決されます。

git​

Type: Map

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 と相互に排他的です。

例​

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

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

env_variables​

Type: 文字列のマップ

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

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

idempotency_token​

タイプ: 文字列

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キーにはラン名が含まれています。このキーを省略すると、ラン名はexperiment_nameの値にdefault設定されます。

パラメーター​

Type: Map

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

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

権限​

Type: マップのリスト

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

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

キー

Type

説明

level

string

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

user_name

string

Eメール。各付与に対して、user_name、group_name、またはservice_principal_nameのいずれか1つを指定します。

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のいずれか1つを指定します。

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​

Type: 文字列のマップ

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使用ポリシーでの属性の使用を参照してください。

その他のリソース​