比較 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 機器學習 是完全受控的雲端服務,可用來大規模定型、部署和管理機器學習模型。 它完全支持開放原始碼技術,因此您可以使用數以萬計的開放原始碼 Python 套件,例如 TensorFlow、PyTorch 和 scikit-learn。 您也可以使用豐富的工具,例如計算實例Jupyter Notebook適用於 Visual Studio Code 的 Azure 機器學習 擴充功能,這是一個免費的擴充功能,可讓您在 Visual Studio Code 中管理資源、模型定型工作流程和部署。 Azure 機器學習 包含能夠輕鬆、效率和精確度自動化模型產生和微調的功能。

使用 Python SDK、Jupyter Notebook、R 和 CLI 進行雲端規模的機器學習。 對於低程式代碼或無程式代碼選項,請使用 Studio 中的 Azure 機器學習 互動式設計工具,以使用預先建置的機器學習演演算法輕鬆快速地建置、測試及部署模型。

免費試用 Azure 機器學習。

項目 描述
類型 雲端式機器學習解決方案
支援的語言 Python、R
機器學習階段 模型訓練
部署
MLOps/Management
主要優點 程序代碼第一個 (SDK) 和 Studio 和拖放設計工具 Web 介面撰寫選項。

集中管理文本和執行歷程記錄,讓您輕鬆地比較模型版本。

輕鬆地將模型部署和管理到雲端或邊緣裝置。
考量 需要熟悉模型管理模型。

Azure AI 服務

Azure AI 服務 是一組 預先建置 的 API,可讓您建置使用自然通訊方法的應用程式。 預先建置的字詞建議您不需要攜帶數據集或數據科學專業知識,即可將模型定型在應用程式中使用。 這一切都為您完成,並封裝為 API 和 SDK,讓您的應用程式只需幾行程式代碼即可查看、聆聽、說話、瞭解和解譯使用者需求。 您可以輕鬆地將智慧型手機功能新增至您的應用程式,例如:

使用 Azure AI 服務跨裝置和平台開發應用程式。 API 會持續改善,而且很容易設定。

項目 描述
類型 建置智慧型應用程式的 API
支援的語言 視服務而定的各種選項。 標準為 C#、Java、JavaScript 和 Python。
機器學習階段 部署
主要優點 使用透過 REST API 和 SDK 提供的預先定型模型來建置智慧型手機應用程式。
各種具有視覺、語音、語言和決策的自然通訊方法模型。
不需要機器學習或數據科學專業知識。

SQL 機器學習

SQL 機器學習 會在 Python 和 R 中針對內部部署和雲端中的關係型數據新增統計分析、數據視覺效果和預測性分析。 目前的平臺和工具包括:

當您需要 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。 針對程式代碼優先體驗和模型產生器,或針對低程式代碼體驗選擇 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 機器學習 管線與淺漸層提升機器(LightGBM)、LIME(模型可解釋性)OpenCV 緊密整合。 您可以使用這些工具在任何 Spark 叢集上建立功能強大的預測模型,例如 Azure DatabricksCosmic Spark

SynapseML 也會為 Spark 生態系統帶來網路功能。 透過 Spark 上的 HTTP 專案,使用者可以將任何 Web 服務內嵌至其 SparkML 模型。 此外,SynapseML 提供易於使用的工具,可大規模協調 Azure AI 服務 。 針對生產等級的部署,Spark 服務專案會啟用由 Spark 叢集支援的高輸送量、子延遲 Web 服務。

項目 描述
類型 適用於 Apache Spark 的開放原始碼分散式機器學習和微服務架構
支援的語言 Scala 2.11、Java、Python 3.5+、R (beta)
機器學習階段 資料準備
模型訓練
部署
主要優點 延展性
串流 + 服務相容
容錯
考量 需要 Apache Spark

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

下一步

  • 若要瞭解 Microsoft 提供的所有人工智慧 (AI) 開發產品,請參閱 Microsoft AI 平臺
  • 如需使用 Microsoft 開發 AI 和 機器學習 解決方案的訓練,請參閱 Microsoft Learn 訓練