Important
這項功能目前處於 公開預覽版。
本頁描述了 被 databricks air run接受的工作負載 YAML 欄位。 關於指令語法與旗標,請參見 databricks air run。 要提交工作負載,請參閱 Databricks CLI 的 AI 執行時快速入門。
每個工作負載都需要 experiment_name、 compute、 command和 。
Example
以下範例展示了一個範例工作負載配置:
experiment_name: my-training
compute:
accelerator_type: GPU_1xA10
num_accelerators: 1
environment:
version: 6
dependencies:
- torch
code_source:
type: snapshot
snapshot:
root_path: .
command: python $CODE_SOURCE_PATH/train.py
experiment_name
類型: 字串
Required.
experiment_name關鍵在於 MLflow 實驗名稱。
計算
類型: 地圖
Required. 物件 compute 定義了加速器的配置。
| Key | 類型 | Description |
|---|---|---|
accelerator_type |
字串 | Required. 一種被 CLI 接受且可在工作區中使用的加速器類型。 匹配是大小寫區分的。 |
num_accelerators |
整數 | Required. 所選加速器類型支持正向加速器數量。 |
pool_id |
字串 | 配置 GPU 容量的 ID。 |
priority_class |
字串 | 使用已配置 GPU 容量的工作負載排程優先權。 可接受的值為 BEST_EFFORT、NORMAL 和 CRITICAL。 需要 pool_id。 |
加速器的類型和數量依工作區、雲端和區域而異。 關於硬體選擇與可用性,請參見 硬體選項。
command
類型: 字串
Required. 該 command 金鑰包含非空的 shell 指令或腳本。 指令中的路徑指的是工作負載容器中的遠端檔案路徑。 當 code_source 設定時,包含 $CODE_SOURCE_PATH 了擷取程式碼的絕對路徑。
環境
類型: 地圖
物件 environment 選擇一個可選相依的受管理環境,或自訂的 Unity 目錄映像檔。
| 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 互斥。 關於設定說明,請參見「 Use custom Docker image with AI Runtime」。 |
關於選擇與擴展環境的指引,請參閱 「設定你的環境」。
管理環境範例
environment:
version: 6
dependencies:
- torch
若要使用自訂映像檔而非受管理環境,只需 unity_catalog_image指定:
自訂影像範例
environment:
unity_catalog_image: main.ml.training:v1
code_source
類型: 地圖
物件會 code_source 為工作負載打包本地程式碼。
| Key | 類型 | Description |
|---|---|---|
type |
字串 | 設定時 code_source 必須。 必須是 snapshot。 |
snapshot |
物件 | 設定時 code_source 必須。 定義了要打包的本地程式碼。 |
快照集
類型: 地圖
該 snapshot 物件支援以下金鑰:
| Key | 類型 | Description |
|---|---|---|
root_path |
字串 | Required. 本地目錄要打包。 當 CLI 分級執行時,該目錄必須存在。 |
remote_volume |
字串 | Unity 目錄中上傳檔案的磁碟區位置。 必須以 /Volumes/開頭。 預設為工作區位置。 |
include_paths |
字串清單 | 相對於 root_path的路徑。 元素必須非空且相對,且不能包含 ..。 省略包含所有選取檔案的鍵。 空清單是無效的。 |
git |
物件 | 將快照釘選到本地的 Git 分支或提交。 |
如果你省略 git了 ,CLI 會打包工作樹,包括未提交且未被 Git 忽略規則排除的檔案。 一個 relation root_path 會從包含 workload YAML 檔案的目錄解析。
版本控制系統 Git
類型: 地圖
該 git 物件支援以下金鑰:
| Key | 類型 | Description |
|---|---|---|
branch |
字串 | 省略時 commit 必須填寫。 打包分行的當地主管。 所選檔案不得包含未提交的變更。 |
commit |
字串 | 省略時 branch 必須填寫。 從本地 Git 物件庫封裝提交。 與 branch互斥。 |
Example
以下範例套件將本地分支選 main 定的路徑打包:
code_source:
type: snapshot
snapshot:
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/ 路徑。
mlflow_experiment_directory
類型: 字串
該 mlflow_experiment_directory 金鑰包含實驗的工作區目錄。 路徑必須以 開始。/Workspace
mlflow_run_name
類型: 字串
該 mlflow_run_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、service_principal_namegroup_name或一個。 |
group_name |
字串 | 組名。 每個補助金請精確指定其中之一user_name、service_principal_namegroup_name或一個。 |
service_principal_name |
字串 | 服務主體名稱。 每個補助金請精確指定其中之一user_name、service_principal_namegroup_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互斥。
關於建立使用政策的資訊,請參見 「屬性使用與無伺服器使用政策」。