ワークロード YAML リファレンス
プレビュー
この機能は パブリック プレビュー段階です。
このページでは、databricks air run で受け入れられるワークロード YAML フィールドについて説明します。コマンドの構文とフラグについては、databricks air ラン を参照してください。ワークロードを送信するには、Databricks CLI quickstart for AI ランタイム を参照してください。
すべてのワークロードには、experiment_name、compute、および command が必要です。
例
次の例は、サンプルのワークロード構成を示しています。
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 | 説明 |
|---|---|---|
| string | 必須。CLIで受け入れられ、ワークスペースで使用可能なアクセラレータタイプ。大文字と小文字が区別されます。 |
| 整数 | 必須。選択したアクセラレータタイプでサポートされる正のアクセラレータ数。 |
| string | プロビジョニングされた GPU 容量の ID。 |
| string | プロビジョニングされた GPU 容量を使用するワークロードのスケジューリング優先度。指定できる値は、 |
アクセラレータのタイプと数は、ワークスペース、クラウド、およびリージョンによって異なります。ハードウェアの選択と可用性については、ハードウェアオプションを参照してください。
コマンド
タイプ: 文字列
必須。command キーには、空ではないシェルコマンドまたはスクリプトが含まれています。コマンド内のパスは、ワークロードコンテナ内のリモートファイルパスを指します。code_source が設定されている場合、$CODE_SOURCE_PATH には抽出されたコードへの絶対パスが含まれます。
environment
Type: Map
environmentオブジェクトは、オプションの依存関係を持つ管理対象環境またはカスタムUnity Catalogイメージを選択します。
キー | Type | 説明 |
|---|---|---|
| 文字列または整数 |
|
| 文字列のリスト | Serverless環境に渡されるパッケージの仕様。defaultでは追加の依存関係はありません。 |
| string |
|
環境の選択と拡張のガイダンスについては、 「環境の設定」を参照してください。
管理された環境の例
environment:
version: 6
dependencies:
- torch
管理対象環境の代わりにカスタムイメージを使用するには、unity_catalog_imageのみを指定します。
Custom image example
environment:
unity_catalog_image: main.ml.training:v1
code_source
Type: Map
code_sourceオブジェクトは、ワークロード用のローカルコードをパッケージ化します。
キー | Type | 説明 |
|---|---|---|
| string |
|
| string | uploadされたアーカイブのUnity Catalogボリュームの場所。 |
| 文字列のリスト |
|
| オブジェクト | コードソースのスナップショットをローカルのGit Branchまたはcommitにピン留めします。 |
gitを省略した場合、Gitの除外ルールによって除外されていない、コミットされていないファイルや追跡されていないファイルを含め、CLIが作業ツリーをパッケージ化します。相対的なroot_pathは、ワークロードYAMLファイルを含むディレクトリからの相対パスとして解決されます。
git
Type: Map
git オブジェクトでは、次のキーがサポートされています。
キー | Type | 説明 |
|---|---|---|
| string |
|
| string |
|
例
次の例では、ローカルの main Branch から選択したパスをパッケージ化します。
code_source:
root_path: ./src
include_paths:
- training
- configs
git:
branch: main
env_variables
Type: 文字列のマップ
env_variablesキーには、プレーンな環境変数名と文字列値が含まれます。名前をsecretsに含めることもできません。
例
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にシリアル化します。
例
parameters:
learning_rate: 0.001
model:
hidden_size: 1024
権限
Type: マップのリスト
permissionsキーには、送信後に適用される権限付与が含まれます。権限付与が失敗した場合も、ランは作成されたままになり、CLIに警告が表示されます。
各付与は、次のキーをサポートしています。
キー | Type | 説明 |
|---|---|---|
| string | 必須。 |
| string | Eメール。各付与に対して、 |
| string | グループ名。各権限付与には、 |
| string | Service Principal名。各付与に対して、 |
例
permissions:
- user_name: trainer@example.com
level: CAN_MANAGE
- group_name: training-team
level: CAN_VIEW
secrets
Type: 文字列のマップ
secretsキーには、正確なscope/key形式でシークレット参照にマップされた環境変数名が含まれています。スコープとキーは空にできません。名前をenv_variablesに含めることもできません。
例
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使用ポリシーでの属性の使用を参照してください。