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

Important

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

このページでは、 databricks air runが受け入れるワークロードのYAMLフィールドについて説明します。 コマンドの構文やフラグについては、 databricks air runを参照してください。 ワークロードを提出するには、 Databricks CLI quick start for AI Runtime をご覧ください。

すべての課題負荷には experiment_name、 compute、 commandが必要です。

Example

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

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

型: 文字列

Required. experiment_nameキーはMLflow実験の名前です。

この名前の実験が存在しない場合、AI Runtimeが作成します。 そうでなければ、AI Runtimeは新しい実行を既存の実験に追加します。

コンピューティング

タイプ: 地図

Required. computeオブジェクトは加速器の構成を定義します。

Key タイプ Description
accelerator_type 文字列 Required. CLIで承認され、ワークスペース内で利用可能なアクセラレータタイプ。 照合では大文字と小文字が区別されます。
num_accelerators 整数 Required. 選択した加速器タイプに対して正の加速器数が支持されます。
pool_id 文字列 プロビジョニング済みGPU容量のID。
priority_class 文字列 プロビジョニングされたGPU容量を使用するワークロードのスケジューリング優先度。 指定できる値は BEST_EFFORT、NORMAL、CRITICAL です。 pool_id が必要です。

アクセラレータの種類や数は、ワークスペース、クラウド、地域によって異なります。 ハードウェアの選択と入手可能性については 「ハードウェアオプション」を参照してください。

コマンド

型: 文字列

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

環境

タイプ: 地図

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

Key タイプ Description
version 文字列または整数 数値 環境バージョン( 6)やDatabricksのAI環境識別子( databricks_ai_v6)などがあります。 databricks_ai_v識別子にはバージョン5以上が必要です。 省略した場合、CLIは現在のAIランタイムのデフォルトを使用します。
dependencies 文字列のリスト パッケージ仕様はサーバーレス環境に渡されます。 デフォルトは追加の依存関係なしです。
unity_catalog_image 文字列 <catalog>.<schema>.<image>:<tag>のフォーマットでのカスタム画像。 versionおよびdependenciesとは相互排他的です。 セットアップ手順については「 AI RuntimeでカスタムDockerイメージを使う」をご覧ください。

環境の選択と拡張に関するガイダンスについては、「 環境の設定」をご覧ください。

管理環境の例
environment:
  version: 6
  dependencies:
    - torch

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

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

code_source

タイプ: 地図

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

Key タイプ Description
root_path 文字列 code_sourceが設定されている場合に必要です。 パッケージングのためのローカルディレクトリ。 ディレクトリはCLIが実行を段階化する際に存在しなければなりません。
remote_volume 文字列 アップロードされたアーカイブのためのUnity Catalogボリュームの場所です。 /Volumes/で始まる必要があります。 デフォルトでワークスペースの場所が設定されています。
include_paths 文字列のリスト <[> に関する含めるべき道筋。 エントリは空でなく相対的でなければならず、 ..を含むことはできません。 選択したすべてのファイルを含めるキーは省略してください。 空のリストは有効ではありません。
git オブジェクト コードソーススナップショットをローカルのGitブランチやコミットにピン留めします。

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

git(分散型バージョン管理システム)

タイプ: 地図

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

Key タイプ Description
branch 文字列 commitが省略された場合に必須です。 支店の現地責任者をパッケージ化する。 選択したファイルにはコミットされていない変更を含めることはできません。
commit 文字列 branchが省略された場合に必須です。 ローカルのGitオブジェクトストアからコミットをパッケージ化します。 branchと相互に排他的です。
Example

以下の例は、ローカル main ブランチから選ばれたパスをパッケージ化しています:

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

env_variables

タイプ: 文字列の写像

env_variablesキーはプレーンな環境変数名と文字列値を持ちます。 名前は secretsにも現れません。

Example
env_variables:
  BATCH_SIZE: '32'
  LEARNING_RATE: '0.001'

idempotency_token

型: 文字列

idempotency_tokenキーは繰り返し提出されたものを示します。 同じトークンで繰り返し提出すると、既存のランが返されます。 このキーが省略されるとCLIはUUIDを生成します。 --idempotency-key指揮旗が優先されます。

max_retries

種類: 整数

max_retriesキーは初回試行後の再試回数を指定します。 値が非負でなければなりません。 既定値: 3。

mlflow_artifact_location

型: 文字列

mlflow_artifact_locationキーにはdbfs:/URIまたは/Volumes/パスが含まれています。 このキーを省略すると、新しい実験はデフォルトのDBFS位置を使用し、既存の実験は設定されたアーティファクト位置を使用します。 既存の実験の場合、値は実験のアーティファクトの位置と一致しなければなりません。

mlflow_experiment_directory

型: 文字列

mlflow_experiment_directoryキーには実験用のワークスペースディレクトリが含まれています。 道は /Workspaceから始まらなければならない。

mlflow_run_name

型: 文字列

mlflow_run_nameキーにはラン名が含まれています。 このキーを省略すると、ラン名はデフォルトで experiment_nameの値になります。

parameters

タイプ: 地図

parametersキーは自由形式のネスト値を含む。 CLIはこれらの値を他の打ち上げアーティファクトとシリアライズ hyperparameters.yaml します。

Example
parameters:
  learning_rate: 0.001
  model:
    hidden_size: 1024

アクセス許可

種類: 地図一覧

permissionsキーには提出後に申請された助成金が含まれています。 助成金が失敗した場合、実行はそのまま作成され、CLIが警告を印刷します。

各助成金は以下の鍵をサポートします:

Key タイプ Description
level 文字列 Required. CAN_VIEWやCAN_MANAGEのような許可レベルです。 ワークスペースはその値を検証します。
user_name 文字列 ユーザーの電子メール。 各助成金ごとに user_name、 group_name、または service_principal_name のいずれかを正確に指定してください。
group_name 文字列 グループ名。 各助成金ごとに user_name、 group_name、または service_principal_name のいずれかを正確に指定してください。
service_principal_name 文字列 サービス プリンシパル名。 各助成金ごとに user_name、 group_name、または service_principal_name のいずれかを正確に指定してください。
Example
permissions:
  - user_name: trainer@example.com
    level: CAN_MANAGE
  - group_name: training-team
    level: CAN_VIEW

secrets

タイプ: 文字列の写像

secretsキーには、環境変数名が秘密参照に正確なscope/key形式でマッピングされています。 スコープとキーは空でなければなりません。 名前は env_variablesにも現れません。

Example
secrets:
  HF_TOKEN: my-scope/hf-token

シークレットの作成および管理に関する情報は「 シークレット管理」をご覧ください。

timeout_minutes

種類: 整数

timeout_minutesキーは、リトライを含む全ランの壁時計制限を設定します。 この値は正の値である必要があります。 省略すると、ワークロードはAIランタイムのデフォルトを使用します。

usage_policy_id

型: 文字列

usage_policy_idキーには、既存のサーバーレス使用ポリシーの標準的なUUIDが含まれています。 usage_policy_nameと相互に排他的です。

usage_policy_name

型: 文字列

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

使用ポリシーの作成については、「 サーバーレス使用ポリシーによる属性使用」を参照してください。

その他のリソース