什麼是 Azure Machine Learning CLI 和 Python SDK v2?

適用於:Azure CLI ml 延伸模組 v2 (目前)Python SDK azure-ai-ml v2 (目前)

Azure Machine Learning CLI v2 (CLI v2) 和 Azure Machine Learning Python SDK v2 (SDK v2) 讓不同介面有了一致的功能和術語。 為了建立此一致性,在某些情況下,命令的語法會與第一個版本 (v1) 明顯不同。

CLI v2 與 SDK v2 之間的功能沒有任何差異。 命令列型 CLI 在 CI/CD MLOps 類型的案例中可能更方便,而 SDK 可能更便於開發。

Azure Machine Learning CLI v2

Azure Machine Learning CLI v2 是 Azure CLI 的最新擴充功能。 CLI v2 會以 az ml <noun><verb><options> 的格式提供命令,以建立和維護 Machine Learning 資產和工作流程。 資產或工作流程本身會使用 YAML 檔案來加以定義。 YAML 檔案會定義資產或工作流程的設定。 例如,其是什麼、應在何處執行?

CLI v2 命令的一些範例:

  • az ml job create --file my_job_definition.yaml
  • az ml environment update --name my-env --file my_updated_env_definition.yaml
  • az ml model list
  • az ml compute show --name my_compute

CLI v2 的使用案例

CLI v2 在下列案例中會很實用:

  • 上線至 Machine Learning,而不需要了解特定的程式設計語言。

    YAML 檔案會定義資產或工作流程的設定,例如其是什麼以及應在何處執行? 任何使用的自訂邏輯或 IP (例如資料準備、模型定型和模型評分) 都可以保留在指令檔中。 您會在 YAML 中參考這些檔案,但這些檔案並不屬於 YAML 本身。 Machine Learning 支援 Python、R、Java、Julia 或 C# 的指令檔。 您只需要了解 YAML 格式和命令列,便能使用 Machine Learning。 您可以繼續使用您選擇的指令檔。

  • 利用輕鬆的部署和自動化。

    使用命令列來執行可簡化部署和自動化,因為您可以從任何供應項目或平台叫用工作流程,以讓使用者呼叫命令列。

  • 使用受控推斷部署。

    Machine Learning 提供端點,以簡化即時與批次推斷部署的模型部署作業。 這項功能僅適用於透過 CLI v2 和 SDK v2 來進行時。

  • 重複使用管線中的元件。

    Machine Learning 引進了元件來跨管線管理及重複使用共通的邏輯。 這項功能僅適用於透過 CLI v2 和 SDK v2 來進行時。

第 2 版 Azure Machine Learning Python SDK

Azure Machine Learning Python SDK v2 是經過更新的 Python SDK 套件,可讓使用者:

  • 提交定型作業。
  • 管理資料、模型和環境。
  • 執行受控推斷 (即時和批次)。
  • 使用 Machine Learning 管線將多個工作和生產工作流程拼接在一起。

SDK v2 與 CLI v2 的功能類似,且在 SDK 和 CLI 之間會有一致的資產 (名詞) 和動作 (動詞) 使用方式。 例如,若要列出資產,您可以在 SDK 和 CLI 中使用 list 動作。 您可以使用相同的 list 動作來列出計算、模型、環境等等。

SDK v2 的使用案例

SDK v2 在下列案例中會很實用:

  • 使用 Python 函式來建置單一步驟或複雜的工作流程。

    SDK v2 可讓您建置單一命令或 Python 函式等命令鏈結。 命令具有名稱和參數、預期輸入,並會傳回輸出。

  • 以累加方式從簡單的概念進展到複雜的概念。

    SDK v2 可讓您:

    • 建構單一命令。
    • 在該命令之上新增超參數掃掠。
    • 將該命令與其他各種命令一個接一個地新增至管線。

    這個建構會很有用,因為機器學習具有會反覆進行的性質。

  • 重複使用管線中的元件。

    Machine Learning 引進了元件來跨管線管理及重複使用共通的邏輯。 這項功能僅適用於透過 CLI v2 和 SDK v2 來進行時。

  • 使用受控推斷。

    Machine Learning 提供端點,以簡化即時與批次推斷部署的模型部署作業。 這項功能僅適用於透過 CLI v2 和 SDK v2 來進行時。

我應該使用 v1 還是 v2?

CLI v1 的支援將於 2025 年 9 月 30 日結束。

建議您將 CLI 和 SDK v1 的程式碼移轉至 CLI 和 SDK v2。 如需詳細資訊,請參閱升級至 v2

CLI v2

Azure Machine Learning CLI v1 已遭到淘汰。 v1 擴充功能的支援將於 2025 年 9 月 30 日終止。 您將能安裝並使用 v1 擴充功能,直到該日期為止。

建議您在 2025 年 9 月 30 日之前轉換至 ml 或 v2 擴充功能。

SDK v2

Azure Machine Learning Python SDK v1 沒有計劃的淘汰日期。 如果您對 Python SDK v1 進行了大量投資,而且不需要 SDK v2 所提供的任何新功能,則可以繼續使用 SDK v1。 不過,如果有下列情形,請考慮使用 SDK v2:

  • 您想要使用新功能,例如可重複使用的元件和受控推斷。
  • 您正在啟動新的工作流程或管線。 所有新功能和未來投資都會在 v2 中推出。
  • 您想要利用 Python SDK v2 經過改善的可用性 - 能夠使用 Python 函式來撰寫作業和管線、從簡單的工作輕鬆演進到複雜的工作。

下一步