Important
這項功能目前處於 公開預覽版。
使用 Databricks CLI 只要三個步驟即可提交你的第一個訓練工作:撰寫 train.yaml 設定檔、使用 databricks air run 執行,然後檢查執行結果。
Requirements
- 一個啟用 AI 執行環境的 Databricks 工作區。 請參閱 需求說明。
- 最新的 Databricks CLI 認證到您的工作空間。 請參閱 安裝或更新 Databricks CLI 和 Databricks CLI 的驗證。
- 若要使用
code_source上傳本機程式碼,必須已安裝 Git,且可在你的PATH上使用。 這對於 Git 儲存庫外的目錄快照也是必要的。
確認 AI 執行時指令是否可用:
databricks air --help
步驟 1:撰寫 YAML 設定檔
建立描述工作負載的 train.yaml。 最小配置需要一個實驗名稱、一個計算規範和一個指令。 以下指令沒有本地程式碼,所以你可以立即提交你的第一次執行:
experiment_name: my-first-air-run
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: echo "hello AIR!"
自己執行程式碼
要執行本地訓練腳本,可以新增一個environment區塊列出你的 Python 相依關係,以及code_source一個上傳本地程式碼的區塊。 將你的指令碼放在 train.yaml 旁邊:
my-project/
├── train.yaml
└── train.py
experiment_name: my-first-air-run
environment:
version: '4'
dependencies:
- torch
- transformers
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
code_source:
type: snapshot
snapshot:
root_path: .
command: python $CODE_SOURCE_PATH/train.py
這個設定會安裝列出的相依項目、上傳目前的目錄(root_path: .),並在單一 A10 GPU 上執行 train.py。
$CODE_SOURCE_PATH 會解析到遠端節點上傳的程式碼位置。 Databricks 建議使用這個方法,而不是硬編碼路徑。
environment.version 選擇無伺服器 GPU 環境版本,且為可選(預設為 '4')。 關於所有可用版本,請參見 環境版本。
完整欄位參考,請參見 Workload YAML 參考。
步驟二:提交連載
提交工作量:
databricks air run -f train.yaml
CLI 會上傳你的本地程式碼(如果你設定了 code_source)、提交作業,並輸出執行 ID。 用那個 ID 來檢查、監控,並在後續指令中取消執行。
提交時會在命名為 的 experiment_name MLflow 實驗中建立一個執行(一個實驗可以包含多個執行)。 該執行會捕捉工作負載的指標、參數、產物和日誌,這些都能在工作區的 MLflow UI 中查看。 日誌也可在 MLflow 之外取得:可串流到終端機或檔案,或稍後 databricks air logs 下載(見 步驟 3)。
若要持續查看記錄直到完成,請加上 --watch:
databricks air run -f train.yaml --watch
步驟 3:檢查執行結果
檢查狀態:
databricks air get <run-id>
輸出包含可點擊連結至工作區介面中的 MLflow 實驗與 MLflow 執行。
串流或下載日誌:
databricks air logs <run-id>
databricks air logs <run-id> --node 2
databricks air logs <run-id> --download-to ./logs/
分散式工作負載跨越多個節點。 預設情況下, databricks air logs 串流來自節點 0。 若要查看特定節點的日誌,請傳遞 --node。 用 --download-to 來寫入本地目錄的日誌,而不是串流。
近期賽事列表:
databricks air list --all-status --limit 10
databricks air list
取消跑步:
databricks air cancel <run-id>
常見模式
從命令列覆蓋 YAML 欄位:
databricks air run -f train.yaml --override compute.num_accelerators=32 --override timeout_minutes=120
驗證設定,但不提交:
databricks air run -f train.yaml --dry-run
使提交作業可安全地重試:
databricks air run -f train.yaml --idempotency-key my-unique-key
如果同一鍵之前被使用過,則會回傳現有的執行,而非建立新的。