比較 Microsoft 機器學習產品與技術
了解 Microsoft 的機器學習產品和技術。 比較各個選項,以幫助您選擇最有效的方式來建置、部署和管理您的機器學習解決方案。
雲端式機器學習產品
以下選項可用於 Azure 雲端中的機器學習。
雲端選項 | 內容 | 產品用途 |
---|---|---|
Azure Machine Learning | 機器學習受控平台 | 使用預訓練模型。 或者,使用 Python 和 CLI 在 Azure 上訓練、部署和管理模型 |
Azure 認知服務 | 透過 REST API 和 SDK 實作的預先建置 AI 功能 | 使用標準程式語言快速建立智慧應用程式。 不需要機器學習和資料科學專業知識 |
Azure SQL 受控執行個體機器學習服務 | SQL 的資料庫內機器學習 | 在 Azure SQL 受控執行個體中訓練和部署模型 |
Azure Synapse Analytics 中的機器學習 | 具有機器學習功能的分析服務 | 在 Azure Synapse Analytics 中訓練和部署模型 |
Azure SQL Edge 中搭配 ONNX 的機器學習和 AI | IoT 上的 SQL 機器學習 | 在 Azure SQL Edge 中訓練和部署模型 |
Azure Databricks | 以 Apache Spark 為基礎的分析平台 | 使用與開放原始碼機器學習庫和 MLflow 平台的整合,來建立和部署模型和資料工作流程。 |
內部部署機器學習產品
以下選項可用於內部部署機器學習。 內部部署伺服器也可以在雲端的虛擬機器中運作。
內部部署選項 | 內容 | 產品用途 |
---|---|---|
SQL Server Machine Learning 服務 | SQL 的資料庫內機器學習 | 在 SQL Server 中訓練和部署模型 |
SQL Server 巨量資料叢集上的機器學習服務 | 巨量資料叢集中的機器學習 | 在 SQL Server 巨量資料叢集上訓練和部署模型 |
開發平台和工具
以下開發平台和工具可用於機器學習。
平台/工具 | 內容 | 產品用途 |
---|---|---|
Azure 資料科學虛擬機器 | 預先安裝了資料科學工具的虛擬機器 | 在預先設定的環境中開發機器學習解決方案 |
ML.NET | 開放原始碼、跨平台機器學習 SDK | 為 .NET 應用程式開發機器學習解決方案 |
Windows 機器學習 | Windows 10 機器學習平台 | 在 Windows 10 裝置上評估經過訓練的模型 |
SynapseML | 適用於 Apache Spark 的開放原始碼分散式機器學習和微服務架構 | 為 Scala 和 Python 建立和部署可擴展的機器學習應用程式。 |
Azure Data Studio 的機器學習擴充功能 | Azure Data Studio 的開放原始碼與跨平台機器學習擴充功能 | 管理套件、匯入機器學習模型、進行預測,以及建立筆記本來為 SQL 資料庫執行實驗 |
Azure Machine Learning
Azure Machine Learning 是一項完全受控的雲端服務,用於大規模訓練、部署和管理機器學習模型。 它完全支援開放原始碼技術,因此您可以使用 TensorFlow、PyTorch、scikit-learn 等數以萬計的開放原始碼 Python 套件。 還提供豐富的工具,例如計算執行個體、Jupyter 筆記本,或適用於 Visual Studio Code 的 Azure Machine Learning 擴充功能,這是一個免費擴充功能,可讓您在 Visual Studio Code 中管理資源、模型訓練工作流程和部署。 Azure Machine Learning 包含自動生成和調整模型功能,使用過程輕鬆、有效率且準確。
使用 Python SDK、Jupyter Notebook、R 和 CLI 進行雲端規模的機器學習。 如果您想使用低程式碼或無程式碼選項,請在工作室中使用Azure Machine Learning 的互動式設計工具,使用預先建置的機器學習演算法輕鬆快速地建置、測試和部署模型。
項目 | 描述 |
---|---|
類型 | 雲端式機器學習解決方案 |
支援的語言 | Python、R |
機器學習階段 | 模型訓練 部署 MLOps/管理 |
主要優點 | Code First (SDK) 以及 studio 和拖放設計工具 Web 介面撰寫選項。 集中管理指令碼和執行歷程記錄,讓您可以輕鬆比較模型版本。 輕鬆管理模型,並將其部署到雲端或邊緣裝置。 |
考量 | 需要對模型管理模型有一定的了解。 |
Azure AI 服務
Azure AI 服務是一組預先建置的 API,可讓您建立使用自然通訊方法的應用程式。 術語「預先建置」表示您不需要提供資料集或具備資料科學專業知識即可訓練模型,以將其用於應用程式中。 這一切都已為您完成,並以 API 和 SDK 的形式封裝,讓您的應用程式只需幾行程式碼即可看到、聽到、說出、理解和解釋使用者需求。 您可以輕鬆地將智慧功能新增至您的應用程式中,例如:
- 視覺:物體偵測、臉部辨識、光學字元辨識 (OCR) 等。 有關詳細資訊,請參閱「電腦視覺」、「臉部」、「Azure AI 文件智慧服務」。
- 語音:語音轉換文字、文字轉換語音、說話者辨識等。 有關詳細資訊,請參閱「語音服務」。
- 語言:翻譯、情緒分析、關鍵字擷取、語言理解等。 請參閱「翻譯工具」、「文字分析」、「語言理解」、「QnA Maker」
- 決策:異常偵測、內容審查、強化學習。 有關更多資訊,請參閱「異常偵測器」、「內容審查工具」、「個人化設定」。
使用 Azure AI 服務跨裝置和平台開發應用程式。 這些 API 不斷改進,並且易於設定。
項目 | 描述 |
---|---|
類型 | 用於建立智慧應用程式的 API |
支援的語言 | 根據服務的不同有不同的選擇。 標準的是 C#、Java、JavaScript 和 Python。 |
機器學習階段 | 部署 |
主要優點 | 使用透過 REST API 和 SDK 提供的預訓練模型建立智慧應用程式。 視覺、語音、語言和決策等自然溝通方法的各種模型。 無需機器學習或資料科學專業知識。 |
SQL 機器學習
SQL 機器學習在 Python 和 R 中為內部部署和雲端的關聯式資料新增了統計分析、資料視覺化和預測分析。 目前的平台和工具包括:
- SQL Server Machine Learning 服務
- SQL Server 巨量資料叢集上的機器學習服務
- Azure SQL 受控執行個體機器學習服務
- Azure Synapse Analytics 中的機器學習
- Azure SQL Edge 中搭配 ONNX 的機器學習和 AI
- Azure Data Studio 的機器學習擴充功能
當您需要對 SQL 中的關聯式資料進行內建 AI 和預測分析時,請使用 SQL 機器學習。
項目 | 描述 |
---|---|
類型 | 關聯式資料的內部部署預測分析 |
支援的語言 | Python、R、SQL |
機器學習階段 | 資料準備 模型訓練 部署 |
主要優點 | 將預測邏輯封裝在資料庫函式中,使其易於包含在資料層邏輯中。 |
考量 | 假設 SQL 資料庫作為應用程式的資料層。 |
Azure 資料科學虛擬機器
Azure 資料科學虛擬機器是 Microsoft Azure 雲端上的自訂虛擬機器環境。 它有 Windows 和 Linux Ubuntu 的版本。 該環境是專門為進行資料科學和開發機器學習解決方案而構建的。 它預先安裝和預先設定了許多熱門的資料科學、機器學習架構和其他工具,以快速啟動建置用於進階分析的智慧型應用程式。
當您需要在單一節點上執行或裝載作業時,請使用資料科學 VM。 或者,如果您需要在單一機器上遠端擴展處理能力。
項目 | 描述 |
---|---|
類型 | 資料科學客製化虛擬機器環境 |
主要優點 | 減少資料科學工具和架構的安裝、管理和故障排除時間。 包括所有常用工具和架構的最新版本。 虛擬機器選項包括高度可擴展的影像,具有用於密集資料建模的圖形處理單元 (GPU) 功能。 |
考量 | 離線時無法存取虛擬機器。 執行虛擬機器會產生 Azure 費用,因此您必須小心,並且僅在需要時執行虛擬機器。 |
Azure Databricks
Azure Databricks 是一個以 Apache Spark 為基礎的分析平台,針對 Microsoft Azure 雲端平台進行了最佳化。 Databricks 與 Azure 整合,可提供一鍵式設定、簡化的工作流程和互動式工作區,支援資料科學家、資料工程師和業務分析師之間的協作。 在 Web 式筆記本中使用 Python、R、Scala 和 SQL 程式碼來查詢、視覺化和建模資料。
當您想要在 Apache Spark 上協作建立機器學習解決方案時,請使用 Databricks。
項目 | 描述 |
---|---|
類型 | 以 Apache Spark 為基礎的分析平台 |
支援的語言 | Python、R、Scala、SQL |
機器學習階段 | 資料準備 資料前置處理 模型訓練 模型微調 模型推斷 管理 部署 |
ML.NET
ML.NET 是一個開放原始碼、跨平台的機器學習架構。 借助 ML.NET,您可以建立自訂機器學習解決方案並將其整合到您的 .NET 應用程式中。 ML.NET 與 TensorFlow 和 ONNX 等熱門架構提供不同程度的互通性,用於機器學習和深度學習模型的訓練和評分。 對於訓練影像分類模型等資源密集型工作,您可以利用 Azure 在雲端訓練模型。
當您想要將機器學習解決方案整合到 .NET 應用程式中時,請使用 ML.NET。 您可以選擇用於程式碼優先體驗的 API 和用於低程式碼體驗的模型產生器或 CLI。
項目 | 描述 |
---|---|
類型 | 開放原始碼跨平台架構,用於使用 .NET 開發自訂機器學習應用程式 |
支援的語言 | C#、F# |
機器學習階段 | 資料準備 訓練 部署 |
主要優點 | 不需要資料科學和機器學習經驗 使用熟悉的工具 (Visual Studio、Microsoft Visual Studio Code) 和語言 在 .NET 運作的地方部署 可延伸 可調整 本機優先體驗 |
Windows 機器學習
Windows 機器學習推斷引擎可讓您在應用程式中使用經過訓練的機器學習模型,在 Windows 10 裝置上本機評估經過訓練的模型。
當您想要在 Windows 應用程式中使用經過訓練的機器學習模型時,請使用 Windows 機器學習。
項目 | 描述 |
---|---|
類型 | Windows 裝置中經過訓練的模型的推斷引擎 |
支援的語言 | C#/C++、JavaScript |
SynapseML
SynapseML (以前稱為 MMLSpark) 是一個開放原始碼程式庫,可簡化大規模可擴展機器學習管線的建立。 SynapseML 為各種不同的機器學習工作提供 API,例如文字分析、視覺、異常偵測等。 SynapseML 建立在 Apache Spark 分散式計算架構之上,並與 SparkML/MLLib 庫共用相同的 API,可讓您將 SynapseML 模型無縫嵌入到現有的 Apache Spark 工作流程中。
SynapseML 為 Spark 生態系統新增了許多深度學習和資料科學工具,包括 Spark 機器學習管線與 Light Gradient Boosting Machine (LightGBM)、LIME (模型可解釋性) 和 OpenCV 的無縫整合。 您可以使用這些工具在任何 Spark 叢集 (例如 Azure Databricks 或 Cosmic Spark) 上建立強大的預測模型。
SynapseML 也為 Spark 生態系統帶來了網路功能。 透過 Spark 專案上的 HTTP,使用者可以將任何 Web 服務嵌入到他們的 SparkML 模型中。 此外,SynapseML 還提供了易於使用的工具,用於大規模協調 Azure AI 服務。 對於生產級部署,Spark Serving 專案可在 Spark 叢集的支援下實現高輸送量、低於毫秒等級延遲的 Web 服務。
項目 | 描述 |
---|---|
類型 | 適用於 Apache Spark 的開放原始碼分散式機器學習和微服務架構 |
支援的語言 | Scala 2.11、Java、Python 3.5+、R (測試版) |
機器學習階段 | 資料準備 模型訓練 部署 |
主要優點 | 延展性 串流媒體+服務相容 容錯性 |
考量 | 需要 Apache Spark |
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- Zoiner Tejada | 執行長 (CEO) 兼架構師
下一步
- 若要了解 Microsoft 提供的所有人工智慧 (AI) 開發產品,請參閱「Microsoft AI 平台」。
- 有關與 Microsoft 一起開發 AI 和機器學習解決方案的訓練,請參閱「Microsoft Learn 訓練」。