Databricks CLI AI 執行時快速入門

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

如果同一鍵之前被使用過,則會回傳現有的執行,而非建立新的。

其他資源