ワークロードYAMLリファレンス
このページでは、 databricks air run で受け入れられるワークロード YAML フィールドについて説明します。コマンドの構文とフラグについては、「 databricks air ラン」を参照してください。ワークロードを送信するには、 「 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 ランタイムは既存のエクスペリメントに新しいランを追加します。
コンピュート
タイプ: マップ
必須compute オブジェクトはアクセラレータ構成を定義します。
キー | Type | 説明 |
|---|---|---|
| string | 必須。CLIによって受け入れられ、ワークスペースで利用可能なアクセラレータタイプ。マッチングは大文字と小文字を区別します。 |
| 整数 | 必須。選択されたアクセラレータタイプでサポートされている正のアクセラレータ数。 |
| string | プロビジョニングされた GPU 容量の ID。 |
| string | プロビジョニングされたGPU容量を使用するワークロードのスケジューリング優先順位。指定できる値は、 |
アクセラレータの種類と数は、ワークスペース、クラウド、リージョンによって異なります。ハードウェアの選択と可用性については、ハードウェアオプションを参照してください。
コマンド
型: 文字列
必須command キーには、空ではないシェルコマンドまたはスクリプトが含まれています。コマンドのパスは、ワークロードコンテナ内のリモートファイルパスを参照します。code_source が設定されている場合、 $CODE_SOURCE_PATH には抽出されたコードへの絶対パスが含まれます。
環境
タイプ: マップ
environment オブジェクトは、オプションの依存関係またはカスタム Unity Catalog イメージを持つマネージド環境を選択します。
キー | Type | 説明 |
|---|---|---|
| 文字列または整数 | 数値の 環境バージョン ( |
| 文字列のリスト | Serverless環境に渡されるパッケージ仕様。defaultでは追加の依存関係はありません。 |
| string |
|
環境の選択および拡張に関するガイダンスについては、「環境の設定」を参照してください。
管理された環境の例
environment:
version: 6
dependencies:
- torch
管理された環境の代わりにカスタムイメージを使用するには、 unity_catalog_image のみを指定します。
カスタム画像例
environment:
unity_catalog_image: main.ml.training:v1
: コードソース
タイプ: マップ
code_source オブジェクトは、ワークロードのローカルコードをパッケージ化します。
キー | Type | 説明 |
|---|---|---|
| string |
|
| string | uploadされたアーカイブの Unity Catalog ボリュームの場所。 |
| 文字列のリスト |
|
| オブジェクト | コードソースのスナップショットをローカルGit Branchまたはcommitにピン留めします。 |
gitを省略すると、CLIはGit無視ルールで除外されていないコミットされていないファイルや追跡されていないファイルを含む作業ツリーをパッケージ化します。相対的なroot_pathは、ワークロードYAMLファイルを含むディレクトリから解決されます。
git
タイプ: マップ
gitオブジェクトは、次のキーをサポートしています。
キー | Type | 説明 |
|---|---|---|
| string |
|
| string |
|
例
次の例は、ローカルのmainBranchから選択したパスをパッケージ化します。
code_source:
root_path: ./src
include_paths:
- training
- configs
git:
branch: main
env_variables
型: 文字列のマップ
env_variables キーには、プレーンな環境変数名と文字列値が含まれています。名前は secrets にも表示できません。
例
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 にシリアル化します。
例
parameters:
learning_rate: 0.001
model:
hidden_size: 1024
権限
タイプ: マップのリスト
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 キーには、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使用ポリシーでの属性の使用を参照してください。