什麼是 Azure Machine Learning?
Azure Machine Learning 是一種雲端服務,用於加速和管理機器學習 (ML) 專案生命週期。 ML 專業人員、資料科學家和工程師可以在日常工作流程中用機器學習來訓練和部署模型以及管理機器學習作業 (MLOp)。
您可以在 Machine Learning 中建立模型,或使用從開放原始碼平台建立的模型,例如 PyTorch、TensorFlow 或 scikit-learn。 MLOps 工具可協助您監視、重新定型和重新部署模型。
提示
免費試用! 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。 試用免費或付費版本的 Azure Machine Learning。 即可取得用於 Azure 服務的點數。 信用額度用完之後,您可以保留帳戶並使用免費的 Azure 服務。 除非您明確變更您的設定且同意付費,否則我們絕對不會從您的信用卡收取任何費用。
Azure Machine Learning 的對象?
Machine Learning 適用於在組織內實作 MLOp 的個人和小組,以在安全且可稽核的實際執行環境中,將機器學習模型帶入實際執行環境中。
資料科學家和 ML 工程師可使用工具來加速和自動處理其日常工作流程。 應用程式開發人員可使用工具將模型整合至應用程式或服務。 平台開發人員可以使用一組強大的工具 (由持久的 Azure Resource Manager API 支援) 來組建進階 ML 工具。
在 Microsoft Azure 雲端中工作的企業可使用基礎結構適用的熟悉安全性和角色型存取控制 (RBAC)。 您可以設定專案以拒絕受保護資料的存取,並選取作業。
小組中每個人的生產力
ML 專案通常需由具有各種技能集的小組負責組建和維護。 Machine Learning 具有可讓您執行以下操作的工具:
透過共用筆記本、計算資源、無伺服器計算、資料及環境與小組合作
開發公平性和可解釋性、追蹤和稽核性的模型,以符合譜系和稽核合規性需求
快速輕鬆地大規模部署 ML 模型,並使用 MLOps 有效率地管理及治理這些模型
使用內建治理、安全性及合規性,在任何地方執行機器學習工作負載
合乎需求的跨相容平台工具
ML 小組中的任何人都可以使用慣用工具來完成工作。 無論您是執行快速實驗、超參數微調、建置管線或管理推斷,都可以使用熟悉的介面,包括:
在機器學習開發週期的其餘部分中完善模型並與其他人協作時,您可以在 Machine Learning Studio UI 上共用和尋找專案的資產、資源和計量。
Studio
Machine Learning 工作室會根據專案類型和過去 ML 體驗的層級,提供多種撰寫體驗,而且不需要安裝任何項目。
Notebook:在直接整合到工作室的受控 Jupyter Notebook 伺服器中,撰寫並執行您自己的程式碼。 或者,在 VS Code、Web 或桌面開啟筆記本。
視覺化執行計量:使用視覺效果來分析和最佳化您的實驗。
Azure Machine Learning 設計工具:使用設計工具來定型和部署機器學習模型,而不需撰寫任何程式碼。 拖放資料集和元件以建立 ML 管線。
自動化機器學習使用者介面:了解如何使用方便好用的介面建立自動化 ML 實驗。
使用 LLM 和 生成式 AI
Azure Machine Learning 所包括的工具可協助您建置由大型語言模型 (LLM) 提供的生成式 AI 應用程式。 解決方案包括模型目錄、提示流程,以及工具套件,以簡化 AI 應用程式的開發週期。
Azure Machine Learning 工作室和 Azure AI Studio 都可讓您使用 LLM。 使用本指南來確定您應該使用哪個工作室。
模型目錄
Azure Machine Learning 工作室中的模型目錄,是您用於探索和使用各種模型,以便建置生成式 AI 應用程式的中樞。 模型目錄提供來自 Azure OpenAI 服務、Mistral、Meta、Cohere、Nvidia、Hugging Face 等模型提供者的數百個模型,包括由 Microsoft 訓練的模型。 來自 Microsoft 以外提供者的模型是非 Microsoft 產品,如 Microsoft 的產品條款所定義,並受模型提供的條款規範。
提示流程
Azure Machine Learning 提示流程是一種開發工具,旨在簡化由大型語言模型 (LLM) 提供之 AI 應用程式的整個開發週期。 提示流程提供了全方位的解決方案,可簡化原型設計、實驗、反覆執行和部署 AI 應用程式的流程。
企業整備和安全性
Machine Learning 會與 Azure 雲端平台整合,以將安全性新增至 ML 專案。
安全性整合包括:
- 具有網路安全性群組的 Azure 虛擬網路。
- Azure Key Vault,您可以在其中儲存安全性秘密,例如儲存體帳戶的存取資訊
- 在虛擬網路後方設定 Azure Container Registry。
如需詳細資訊,請參閱教學課程:設定安全工作區。
適用於完整解決方案的 Azure 整合
其他與 Azure 服務的整合可支援端對端的 ML 專案。 其中包含:
- Azure Synapse Analytics,用於透過 Spark 處理和串流資料。
- Azure Arc,您可以在其中執行 Kubernetes 環境中的 Azure 服務
- 儲存體和資料庫選項,例如 Azure SQL Database 和 Azure Blob 儲存體。
- Azure App Service,可用來部署和管理 ML 支援的 app。
- Microsoft Purview 可讓您探索和編錄整個組織的目錄資料資產。
重要
Azure Machine Learning 不會在您部署的區域外儲存或處理您的資料。
機器學習專案工作流程
通常模型會開發為具有目標的專案一部分。 專案通常涉及多人。 使用資料、演算法和模型進行實驗時,會反覆進行開發。
專案生命週期
專案生命週期可能會因專案而異,但通常如此圖所示。
工作區會組織專案,並允許眾多使用者共同作業,以達成共同目標。 工作區中的使用者可以輕鬆地從 Studio 使用者介面中的實驗共用其執行結果。 或者,其可以針對環境和儲存體參考等作業使用版本化資產。
如需詳細資訊,請參閱管理 Azure Machine Learning 工作區。
專案準備好進行運算化時,使用者的工作可以在 ML 管線中自動化,並根據排程或 HTTPS 要求觸發。
您可以將模型部署到受控推斷解決方案,以進行即時和批次部署,從而將部署模型時通常所需的基礎結構管理抽象化。
定型模型
在 Azure Machine Learning 中,您可以在雲端中執行定型指令碼,或從頭開始建置模型。 客戶通常會將其已建置和定型的模型帶入開放原始碼架構中,使其可在雲端中將這些模型運算化。
開放且互通
資料科學家可以在 Azure Machine Learning 中使用其已在常用 Python 架構中建立的模型,例如:
- PyTorch
- TensorFlow
- scikit-learn
- XGBoost
- LightGBM
也支援其他語言和架構:
- R
- .NET
如需詳細資訊,請參閱與 Azure Machine Learning 的開放原始碼整合。
自動特徵化和演算法選取
在重複且耗時的流程中,傳統機器學習資料科學家會憑藉先前的經驗和直覺,來選取適當的資料特徵化和演算法進行定型。 自動化 ML (AutoML) 會加快此流程的速度。 您可以透過 Machine Learning Studio UI 或 Python SDK 來加以使用。
如需詳細資訊,請參閱什麼是自動化機器學習?。
超參數最佳化
超參數最佳化或超參數調整可能是一項繁瑣的工作。 機器學習可以針對任意參數化的命令自動執行此工作,只需對您的作業定義略做修改。 結果會在工作室中視覺化。
如需詳細資訊,請參閱調節超參數。
多節點分散式定型
深度學習和有時傳統機器學習定型作業的定型效率,可以透過多節點分散式定型來大幅改善。 Azure Machine Learning 計算叢集和無伺服器計算提供有最新的 GPU 選項。
透過 Azure Machine Learning Kubernetes、Azure Machine Learning 計算叢集和無伺服器計算可支援:
- PyTorch
- TensorFlow
- MPI
您可以針對 Horovod 或自訂多節點邏輯使用 MPI 散發。 透過使用 Azure Synapse Analytics Spark 叢集的無伺服器 Spark 計算和連結的 Synapse Spark 集區支援 Apache Spark。
如需詳細資訊,請參閱使用 Azure Machine Learning 的分散式定型。
易於平行定型
調整 ML 專案可能需要調整尷尬的平行模型定型。 這種模式常見於預測需求之類的案例,其中模型可能會針對許多存放區定型。
部署模型
若要將模型帶入生產環境,請部署模型。 Azure Machine Learning 的受控端點會將批次或即時 (線上) 模型評分 (推斷) 所需的基礎結構抽象化。
即時和批次評分 (推斷)
「批次評分」或「批次推斷」涉及叫用具有資料參考的端點。 批次端點會以非同步方式執行作業,以在計算叢集上平行處理資料,並儲存資料以供進一步分析。
即時評分或線上推斷涉及使用一或多個模型部署來叫用端點,以及透過 HTTPS 近乎即時地接收回應。 流量可以跨多個部署進行分割,讓您可以藉由一開始轉移部分流量,並在對新模型建立了信賴度後增加流量,來測試新的模型版本。
如需詳細資訊,請參閱
MLOps:適用於機器學習的 DevOps
適用於機器學習模型的 DevOps (通常稱為 MLOps) 是針對生產環境來開發模型的一項流程。 模型從定型到部署的生命週期必須是可稽核的 (如果無法重現的話)。
ML 模型生命週期
深入了解 Azure Machine Learning 中的 MLOps。
啟用 MLOPs 的整合
機器學習是在考慮模型生命週期的情況下建置的。 您可以將模型生命週期向下稽核至特定的認可和環境。
啟用 MLOps 的一些重要功能包括:
git
整合。- MLflow 整合。
- 機器學習管線排程。
- 適用於自訂觸發程序的 Azure 事件方格整合。
- 可輕鬆搭配 CI/CD 工具使用,例如 GitHub Actions 或 Azure DevOps。
此外,Machine Learning 還包含監視和稽核功能:
- 作業成品,例如程式碼快照集、記錄和其他輸出。
- 作業與資產 (例如容器、資料和計算資源) 之間的譜系。
如果您使用 Apache Airflow,airflow-provider-azure-machinelearning 套件是可讓您從 Apache AirFlow 將工作流程提交至 Azure Machine Learning 的提供者。
相關內容
開始使用 Azure Machine Learning: