Azure SQL 受控執行個體中的機器學習服務

機器學習服務是 Azure SQL 受控執行個體的一項功能,可提供資料庫內機器學習,並同時支援 Python 和 R 指令碼。 此功能包含用於高效能預測性分析和機器學習的 Microsoft Python 和 R 套件。 透過預存程序、包含 Python 或 R 陳述式的 T-SQL 指令碼,或包含 T-SQL 的 Python 或 R 程式碼,關聯式資料可在指令碼中使用。

什麼是機器學習服務?

Azure SQL 受控執行個體中的機器學習服務可讓您在資料庫中執行 Python 和 R 指令碼。 您可以使用此服務來準備和清除資料、進行特徵工程,然後在資料庫內訓練、評估,以及部署機器學習模型。 此功能可讓您在資料所在的位置執行指令碼,而無須透過網路將資料傳輸至另一部伺服器。

使用 Azure SQL 受控執行個體中具有 R/Python 支援的機器學習服務,可以:

  • 執行 R 和 Python 指令碼以進行資料準備和一般用途的資料處理 - 現在,您可以將自備的 R/Python 指令碼導入您的資料所在的 Azure SQL 受控執行個體,而不需要將資料移出至其他伺服器來執行 R 和 Python 指令碼。 您可以消除資料移動的需求,以及延遲、安全性和合規性的相關問題。

  • 在資料庫中定型機器學習模型 - 您可以使用任何開放原始碼演算法來定型模型。 您可以輕鬆地將定型擴充至整個資料集,而不需依賴從資料庫提取的範例資料集。

  • 在預存程序中將模型和指令碼部署到生產環境中 - 只要將指令碼和定型模型內嵌在 T-SQL 預存程序中,即可實際運作這些指令碼和模型。 連線至 Azure SQL 受控執行個體的應用程式只要呼叫預存程序,即可受益於這些模型中的預測和智慧。 您也可以使用原生的 T-SQL PREDICT 函式來實際運作模型,以在高度並行的即時評分案例中快速評分。

機器學習服務包含了 Python 和 R 的基本發行版。 除了適用於 Python 的 revoscalepymicrosoftml,以及適用於 R 的 RevoScaleRMicrosoftMLolapRsqlrutils 這些上述 Microsoft 套件以外,您還可以安裝並使用開放原始碼套件和架構,例如 PyTorch、TensorFlow 和 scikit-learn。

如何啟用機器學習服務

您可以啟用下列 SQL 命令的擴充性,以在 Azure SQL 受控執行個體中啟用機器學習服務 (SQL 受控執行個體將重新啟動,且會有數秒的時間無法使用):

sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;

如需此命令對 SQL 受控執行個體資源有何影響的詳細資訊,請參閱資源治理

在容錯移轉群組中啟用機器學習服務

容錯移轉群組中,系統資料庫不會複寫至次要執行個體 (如需詳細資訊,請參閱容錯移轉群組的限制)。

若您正在使用的 SQL 受控執行個體屬於容錯移轉群組,請執行下列動作:

  • 在容錯移轉群組的每個執行個體上執行 sp_configureRECONFIGURE 命令,以啟用機器學習服務。

  • 在使用者資料庫 (而非 master 資料庫) 上安裝 R/Python 程式庫。

後續步驟