使用 Databricks CLI 搭配 AI 執行環境

CLI databricks air 可在 AI Runtime(按需的無伺服器 GPU 運算平台)上執行單節點及多節點 GPU 工作負載。 在 YAML 中定義工作負載的運算、環境與指令,然後使用databricks air run提交它。

AI Runtime 負責 GPU 配置與環境設定,並提供運行狀態、日誌、系統指標及 MLflow 追蹤。 YAML 與 CLI 工作流程自然地與編碼代理合作,代理能定義、提交及監控工作負載。

使用 CLI 來:

  • 在本地環境中開發並迭代 Python 應用程式。
  • 在 YAML 檔案中定義可重複的單節點或多節點工作負載,並可納入版本控制。
  • 從終端機或自動化開發工作流程提交並管理工作負載項目。

典型工作負載包括 LLM 微調與後訓練、分散式訓練、批次推論、Ray 應用程式及超參數搜尋。

關於工作區需求,請參見 需求。 要提交工作負載,請依照 快速入門。

Data bricks 的 CLI 指令用於 AI 執行環境,符合與 AI 執行環境工作負載相同的合規標準。 關於支援的標準與例外,請參見 合規安全設定檔。

Note

databricks air指令與工作負載設定與套件中databricks-air舊有的基於 air Python 的 CLI 不同。 請參見 Python CLI 遷移。

探索可執行的範例

AI Runtime Cookbook 包含可執行的 Databricks CLI 工作負載,用於模型訓練、微調、批次推論、Ray 及超參數搜尋。 每個配方包含一個工作負載的 YAML 檔案、原始碼及執行指令。

工作負載的運作方式

你提供工作負載的 YAML檔案、需要時的應用程式代碼,以及啟動應用程式的指令。 提交工作負載時:

  1. 工作負載定義會根據支援的結構與配置限制進行驗證。
  2. 若 code_source 已設定,所選程式碼會以快照形式打包並上傳。
  3. 每個節點上均已準備好所需的 GPU 運算與環境。
  4. 工作負載 YAML 提供的指令會在每個節點執行。

提交時會回傳一個工作執行 ID,用以識別工作負載。 用它來檢查狀態、檢查日誌和設定,或取消工作負載。 你也可以查看 Jobs 執行頁面和 MLflow 實驗,以了解執行細節、系統指標、日誌和產物。

此工作流程提供管理型 GPU 佈建、可重現環境設定及內建可觀察性,無需配置或維護 GPU 基礎設施。

工作負載設定

工作負載 YAML 檔案描述以下元件:

  • 實驗:追蹤工作負載的 MLflow 實驗和執行記錄。
  • 環境:受管理的環境、相依關係或 自訂的 Docker 映像 。
  • Compute:加速器類型及可配置的加速器數量。
  • 程式碼來源:可選的應用程式程式碼快照,供工作負載使用。
  • Command:啟動應用程式的 shell 指令。
  • 執行階段設定:如重試、逾時、環境變數、機密與權限等選項。

關於組態欄位與範例,請參見 Workload YAML 參考。

上傳應用程式程式碼

用 code_source 來透過工作負載上傳應用程式檔案。 AI 執行時會讓上傳的目錄在每個節點上都能使用,並設定 $CODE_SOURCE_PATH 為其位置。 例如,以下指令會在已上傳的目錄中執行 train.py:

command: python "$CODE_SOURCE_PATH/train.py"

你可以上傳目前的工作樹,或選擇 Git 分支或提交。 完整範例請參考 快速入門。

開發與管理工作負載

開發通常遵循以下流程:

  1. 在本地開發應用程式程式碼和工作負載 YAML。
  2. 在本機使用 databricks air run --file <file> --dry-run 驗證 YAML。
  3. 使用 databricks air run --file <file> 提交工作量。 在執行完成前,將 --watch 新增至串流日誌。
  4. 使用 databricks air get、 databricks air list、 databricks air logs 來檢查工作負載與日誌。
  5. 可選擇使用 databricks air cancel 停止正在執行的工作負載。

關於所有指令與旗標,請參見 air 指令群組。

無論是排程執行、多工工作流程,或跨環境推廣,您都可以使用 databricks air convert-to-dabs 作為套件的起點。 請參見 「排程 GPU 工作負載與組合任務」。

用 MLflow 追蹤工作流程

每個提交的工作負載都以 Databricks 作業執行個體呈現,並透過 MLflow 實驗進行追蹤:

  • Databricks 工作執行:顯示工作負載狀態、執行嘗試次數及工作執行頁面的輸出。
  • MLflow 實驗:包含自動擷取的系統指標、工作負載設定及日誌的 MLflow 執行。 你的應用程式也可以使用 MLflow API 來記錄自訂參數、指標和產物。

使用工作執行 ID 搭配例如 databricks air get、databricks air logs 和 databricks air cancel 等指令。 參見 實驗追蹤與可觀測性。

執行單節點與分散式工作負載

AI Runtime 會在每個已配置的節點上執行一次已設定的指令。 對於分散式工作負載,它提供協調變數,如 NUM_NODES、NODE_RANK、LOCAL_WORLD_SIZE、MASTER_ADDR 和 MASTER_PORT。

此執行模型與框架無關。 你的指令必須啟動並設定分散式框架,例如呼叫 torchrun、某個 Ray bootstrap 腳本,或其他框架啟動器。 完整工作負載請參考 AI Runtime Cookbook。

使用 AI 代理

databricks-ai-runtime代理技能提供指引,協助 AI 代理(如 Claude Code、Cursor 和 Codex)透過 Databricks CLI 與 AI Runtime 協作。 用它來建立工作負載 YAML、提交 GPU 訓練工作、檢查運行狀態、串流日誌,以及取消執行。 同時也包含自訂 Docker 映像檔的指引。

安裝 Databricks CLI 並設定驗證後,請執行以下指令:

databricks aitools install --skills-only --skills databricks-ai-runtime

依照提示選擇你的 AI 助理和安裝範圍選項。 關於安裝選項,請參見 aitools 指令群組。 關於技能涵蓋的內容,請參見「使用 AI Runtime 的代理人技能」。

其他資源