什麼是 Azure Machine Learning?

Azure Machine Learning 是一種雲端服務,用於加速和管理機器學習專案生命週期:定型和部署模型,以及管理 MLOps。 機器學習專業人員、資料科學家和工程師可以在日常工作流程中使用 Azure Machine Learning:定型和部署模型,以及管理 MLOps。

您可以在 Azure Machine Learning 中建立模型,或使用從開放原始碼平台建立的模型,例如 Pytorch、TensorFlow 或 scikit-learn。 MLOps 工具可協助您監視、重新定型和重新部署模型。

提示

免費試用! 如果您沒有 Azure 訂用帳戶,請在開始前先建立免費帳戶。 試用免費或付費版本的 Azure Machine Learning。 即可取得用於 Azure 服務的點數。 信用額度用完之後,您可以保留帳戶並使用免費的 Azure 服務。 除非您明確變更您的設定且同意付費,否則我們絕對不會從您的信用卡收取任何費用。

Azure Machine Learning 的對象?

Azure Machine Learning 適用於在其組織內實作 MLOps 的個人和小組,以在安全且可稽核的生產環境中,將機器學習模型帶入生產環境中。

資料科學家和 ML 工程師將找到可加速和自動化其日常工作流程的工具。 應用程式開發人員將找到可將模型整合至應用程式或服務的工具。 平台開發人員將發現一組強大的工具,由持久的 Azure Resource Manager API 提供支援,用於建置進階 ML 工具。

在 Microsoft Azure 雲端中工作的企業將會找到適用於基礎結構的熟悉安全性和角色型存取控制 (RBAC)。 您可以設定專案以拒絕受保護資料的存取,並選取作業。

小組中每個人的生產力

機器學習專案通常需要具有各種技能集的小組才能建置和維護。 Azure Machine Learning 具有可讓您執行以下操作的工具:

  • 透過共用筆記本、計算資源、 無伺服器計算 (預覽版) 、資料和環境,與您的小組共同作業

  • 開發公平性和可解釋性、追蹤和稽核性的模型,以符合譜系和稽核合規性需求

  • 快速輕鬆地大規模部署 ML 模型,並使用 MLOps 有效率地管理及治理這些模型

  • 使用內建治理、安全性及合規性,在任何地方執行機器學習工作負載

合乎需求的跨相容平台工具

ML 小組中的任何人都可以使用慣用工具來完成工作。 無論您是執行快速實驗、超參數微調、建置管線或管理推斷,都可以使用熟悉的介面,包括:

當您在整個機器學習開發週期的其他時間調整模型,並與其他人合作時,可以在 Azure Machine Learning 工作室使用者介面上共用和尋找專案的資產、資源和計量。

Studio

Azure Machine Learning 工作室會根據專案類型和過去 ML 體驗的層級,提供多種撰寫體驗,而且不需要安裝任何項目。

  • Notebook:在直接整合到工作室的受控 Jupyter Notebook 伺服器中,撰寫並執行您自己的程式碼。

  • 視覺化執行計量:使用視覺效果來分析和最佳化您的實驗。

    螢幕擷取畫面:定型執行計量。

  • Azure Machine Learning 設計工具:使用設計工具來定型和部署機器學習模型,而不需撰寫任何程式碼。 拖放資料集和元件以建立 ML 管線。

  • 自動化機器學習使用者介面:了解如何使用方便好用的介面建立自動化 ML 實驗

  • 資料標記:使用 Azure Machine Learning 資料標記,以有效協調影像標記文字標記專案。

企業整備和安全性

Azure Machine Learning 會與 Azure 雲端平台整合,以將安全性新增至 ML 專案。

安全性整合包括:

  • 具有網路安全性群組的 Azure 虛擬網路 (Vnet)
  • Azure Key Vault,您可以在其中儲存安全性秘密,例如儲存體帳戶的存取資訊
  • 在 VNet 後方設定的 Azure Container Registry

請參閱教學課程:設定安全工作區

適用於完整解決方案的 Azure 整合

其他與 Azure 服務的整合支援來自端對端的機器學習專案。 包括:

  • 使用 Spark 處理和串流資料的 Azure Synapse Analytics
  • Azure Arc,您可以在其中執行 Kubernetes 環境中的 Azure 服務
  • 儲存體和資料庫選項,例如 Azure SQL Database、Azure 儲存體 Blob 等等
  • Azure App Service,可讓您部署和管理 ML 支援的應用程式
  • Microsoft Purview 可讓您探索和編錄整個組織的資料資產

重要

Azure Machine Learning 不會在您部署的區域外儲存或處理您的資料。

機器學習專案工作流程

通常模型會開發為具有目標的專案一部分。 專案通常涉及多人。 使用資料、演算法和模型進行實驗時,開發會反覆進行。

專案生命週期

雖然專案生命週期可能會隨著專案而有所不同,但其通常看起來像這樣:

機器學習專案生命週期圖表

工作區會組織專案,並允許眾多使用者共同作業,以達成共同目標。 工作區中的使用者可以輕鬆地在工作室使用者介面中共用其來自實驗的執行結果,或將已設定版本的資產用於環境和儲存體參考之類的作業。

如需詳細資訊,請參閱管理 Azure Machine Learning 工作區

當專案準備好進行運算化時,使用者的工作可以在機器學習管線中自動化,並根據排程或 HTTPS 要求觸發。

模型可以部署至受控推斷方案,用於即時和批次部署,將部署模型時通常需要的基礎結構管理抽象化。

將模型定型

在 Azure Machine Learning 中,您可以在雲端中執行定型指令碼,或從頭開始建置模型。 客戶通常會將其已建置和定型的模型帶入開放原始碼架構中,讓他們可以在雲端中將這些模型運算化。

開放且互通

資料科學家可以在 Azure Machine Learning 中使用其已在常用 Python 架構中建立的模型,例如:

  • PyTorch
  • TensorFlow
  • scikit-learn
  • XGBoost
  • LightGBM

也支援其他語言和架構,包括:

  • R
  • .NET

請參閱開放原始碼與 Azure Machine Learning 的整合

自動特徵化和演算法選取 (AutoML)

在重複且耗時的流程中,傳統機器學習資料科學家會使用先前的經驗和直覺,來選取適當的資料特徵化和演算法進行定型。 自動 ML (AutoML) 可加速此流程,並可透過工作室 UI 或 Python SDK 來使用。

請參閱什麼是自動化機器學習?

超參數最佳化

超參數最佳化或超參數調整可能是一項繁瑣的工作。 Azure Machine Learning 可以將這項工作自動化,讓任意參數化的命令只需略為修改您的作業定義。 結果會在工作室中視覺化。

請參閱如何調整超參數

多節點分散式定型

深度學習和有時傳統機器學習定型作業的定型效率,可以透過多節點分散式定型來大幅改善。 Azure Machine Learning 計算叢集和 無伺服器計算 (預覽) 提供最新的 GPU 選項。

透過 Azure Machine Learning Kubernetes、Azure Machine Learning 計算叢集和 無伺服器計算 (預覽) 支援:

  • PyTorch
  • TensorFlow
  • MPI

MPI 分佈可以用於 Horovod 或自訂多節點邏輯。 此外,Apache Spark 可透過 Azure Synapse Analytics Spark 叢集 (預覽) 來支援。

重要

透過 Azure Synapse Analytics Spark 叢集使用 Apache Spark 處於公開預覽狀態。 此預覽版本會在沒有服務等級協定的情況下提供,不建議用於實際執行工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

請參閱使用 Azure Machine Learning 進行分散式定型

易於平行定型

調整機器學習專案可能需要調整易於平行模型定型。 這種模式常見於預測需求這類案例,其中模型可能會針對許多存放區定型。

部署模型

若要將模型帶入生產環境中,系統會對該模型進行部署。 Azure Machine Learning 的受控端點會將批次或即時 (線上) 模型評分的必要基礎結構抽象化 (推斷)。

即時和批次評分 (推斷)

「批次評分」或「批次推斷」涉及叫用具有資料參考的端點。 批次端點會以非同步方式執行作業,以在計算叢集上平行處理資料,並儲存資料以供進一步分析。

「即時評分」或「線上推斷」涉及使用一或多個模型部署來叫用端點,以及透過 HTTPs 近乎即時地接收回應。 流量可以跨多個部署進行分割,讓您可以藉由一開始轉移少量的流量,並一旦在新模型中建立了信賴度後增加流量,來測試新的模型版本。

請參閱:

MLOps:適用於機器學習的 DevOps

適用於機器學習模型的 DevOps (通常稱為 MLOps) 是針對生產環境開發模型的流程。 模型從定型到部署的生命週期必須是可稽核的 (如果無法重現的話)。

ML 模型生命週期

機器學習模型生命週期 * MLOps

深入了解 Azure Machine Learning 中的 MLOps

啟用 MLOPs 的整合

建置 Azure Machine Learning 時將模型生命週期謹記於心。 您可以將模型生命週期向下稽核至特定的認可和環境。

啟用 MLOps 的一些重要功能包括:

  • git 整合
  • MLflow 整合
  • 機器學習管線排程
  • 適用於自訂觸發程式的 Azure 事件方格整合
  • 可輕鬆搭配 CI/CD 工具使用,例如 GitHub Actions 或 Azure DevOps

此外,Azure Machine Learning 還包含監視和稽核功能:

  • 作業成品,例如程式碼快照集、記錄和其他輸出
  • 作業與資產 (例如容器、資料和計算資源) 之間的譜系

後續步驟

開始使用 Azure Machine Learning: