共用方式為


部署 機器學習 Studio (傳統) Web 服務

適用於:這是複選標記,這表示本文適用於 機器學習 Studio(傳統版)。機器學習 Studio(傳統版)這是 X,這表示本文不適用於 Azure 機器學習。Azure 機器學習

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

機器學習 Studio (傳統版) 可讓您建置及測試預測性分析解決方案。 然後,您可以將解決方案部署為 Web 服務。

機器學習 Studio (傳統) Web 服務提供應用程式與 機器學習 Studio (傳統) 工作流程評分模型之間的介面。 外部應用程式可以即時與 機器學習 Studio (傳統) 工作流程評分模型通訊。 對 機器學習 Studio (傳統) Web 服務的呼叫會將預測結果傳回給外部應用程式。 若要呼叫 Web 服務,您可以傳遞部署 Web 服務時所建立的 API 金鑰。 機器學習 Studio (傳統) Web 服務是以 REST 為基礎,這是 Web 程式設計專案的熱門架構選擇。

機器學習 Studio(傳統版)有兩種類型的 Web 服務:

  • 要求回應服務 (RRS):低延遲、高度可調整的服務,可評分單一數據記錄。
  • 批次執行服務 (BES):異步服務,可評分一批數據記錄。

BES 的輸入就像 RRS 所使用的數據輸入。 主要差異在於 BES 會從各種來源讀取記錄區塊,例如 Azure Blob 記憶體、Azure 數據表記憶體、Azure SQL 資料庫、HDInsight (hive 查詢)和 HTTP 來源。

從高階觀點來看,您會在三個步驟中部署模型:

建立訓練實驗

若要定型預測性分析模型,您可以使用 Azure 機器學習 Studio(傳統版)來建立定型實驗,其中包含各種模組以載入定型數據、視需要準備數據、套用機器學習演算法,以及評估結果。 您可以反覆運算實驗,並嘗試不同的機器學習演算法來比較和評估結果。

建立和管理定型實驗的程式在其他地方會更徹底地涵蓋。 如需詳細資訊,請參閱下列文章:

將定型實驗轉換成預測實驗

定型模型之後,即可將定型實驗轉換成預測實驗,以為新數據評分。

藉由轉換成預測性實驗,您就可以將定型的模型部署為評分 Web 服務。 Web 服務的使用者可以將輸入數據傳送至您的模型,而您的模型將會傳回預測結果。 當您轉換成預測實驗時,請記住您預期模型會由其他人使用的方式。

將定型實驗轉換成預測實驗的程式包含三個步驟:

  1. 將機器學習演算法模組取代為您的定型模型。
  2. 將實驗修剪為只有評分所需的模組。 定型實驗包含一些模組,這些模組是定型的必要模組,但一旦定型模型就不需要。
  3. 定義模型如何接受 Web 服務用戶的數據,以及將傳回哪些數據。

提示

在定型實驗中,您已使用自己的數據來關注定型和評分模型。 但部署之後,用戶會將新數據傳送至您的模型,並傳回預測結果。 因此,當您將定型實驗轉換成預測性實驗,使其準備好進行部署時,請記住其他人將如何使用模型。

轉換為評分實驗

設定 Web 服務按鈕

執行實驗之後(按兩下 實驗畫布底部的[執行] ,按兩下 [設定Web服務 ] 按鈕(選取 [預測性Web服務 ] 選項)。 設定 Web 服務 會為您執行將訓練實驗轉換成預測實驗的三個步驟:

  1. 它會將您的定型模型儲存在 模組調色盤的 [定型模型 ] 區段(實驗畫布左側)。 然後,它會以已儲存的定型模型取代機器學習演算法和 定型模型 模組。
  2. 它會分析您的實驗,並移除只用於定型且不再需要的模組。
  3. 它會將 Web 服務輸入和輸出模組插入實驗中的預設位置(這些模組接受並傳回用戶數據)。

例如,下列實驗會使用範例人口普查數據來定型雙類別提升判定樹模型:

訓練實驗

此實驗中的模組基本上會執行四個不同的功能:

模組函式

當您將此定型實驗轉換成預測性實驗時,不再需要其中一些課程模組,或這些模塊現在會有不同的用途:

  • 數據 - 此範例數據集中的數據不會在評分期間使用 - Web 服務的使用者會提供要評分的數據。 不過,定型的模型會使用此數據集的元數據,例如數據類型。 因此,您必須將數據集保留在預測實驗中,以便提供此元數據。

  • 準備 - 視將提交以進行評分的用戶數據而定,這些模組可能需要或可能不需要處理傳入的數據。 [ 設定 Web 服務 ] 按鈕不會觸碰這些 - 您需要決定如何處理它們。

    例如,在此範例中,範例數據集可能有遺漏的值,因此 會包含清除遺漏的數據 模組來處理它們。 此外,範例數據集也包含不需要用來定型模型的數據行。 因此,已包含選取 數據集 中的數據行模組,以從數據流中排除這些額外的數據行。 如果您知道將提交以透過 Web 服務評分的數據不會有遺漏的值,則可以移除 清除遺漏的數據 模組。 不過,由於選取 數據集 中的數據行模組有助於定義定型模型預期的數據行,因此該模組必須保留。

  • 型 - 這些模組可用來定型模型。 當您按兩下 [ 設定 Web 服務] 時,這些模組會取代為您定型的模型的單一模組。 這個新模組會儲存在 模組調色盤的 [定型模型 ] 區段中。

  • 分數 - 在此範例中 ,分割數據 模組用來將數據流分割成測試數據和定型數據。 在預測實驗中,我們不再定型,因此 可以移除分割數據 。 同樣地,第二個評分模型模組和評估模型模組可用來比較測試數據的結果,因此預測實驗中不需要這些模組。 不過,需要剩餘 的評分模型 模組,才能透過 Web 服務傳回分數結果。

以下是我們在按兩下 [設定 Web 服務] 之後的外觀:

轉換的預測實驗

設定 Web 服務完成的工作可能足以準備實驗以部署為 Web 服務。 不過,您可能想要執行實驗特定的一些額外工作。

調整輸入和輸出模組

在定型實驗中,您使用了一組定型數據,然後進行一些處理,以機器學習演算法所需的形式取得數據。 如果您預期透過 Web 服務接收的數據不需要此處理,您可以略過它:將 Web 服務輸入模組輸出連接到實驗中的不同模組。 用戶的數據現在會抵達此位置的模型。

例如,根據預設,設定 Web 服務會將 Web 服務輸入模組放在數據流頂端,如下圖所示。 但是我們可以手動將 Web 服務輸入置於資料處理模組的過去:

移動 Web 服務輸入

透過 Web 服務提供的輸入數據現在會直接傳遞至評分模型模組,而不需要任何前置處理。

同樣地,根據預設 ,設定 Web 服務會將 Web 服務 輸出模組放在數據流底部。 在此範例中,Web 服務會傳回使用者評分模型模塊的輸出,其中包括完整的輸入數據向量加上評分結果。 不過,如果您想要傳回不同的內容,則可以在 Web 服務輸出模組之前新增其他模組。

例如,若要只傳回評分結果,而不是輸入數據的整個向量,請在數據集中新增 [選取數據行] 模組,以排除評分結果以外的所有數據行。 然後將 Web 服務輸出模組移至 [選取資料集中的數據行] 模組的輸出。 實驗看起來像這樣:

移動 Web 服務輸出

新增或移除其他數據處理模組

如果您的實驗中有更多課程模組,您在評分期間將不需要這些模組,則可以移除這些模組。 例如,由於我們已將 Web 服務輸入 模組移至數據處理模塊之後的某個點,因此我們可以從預測實驗中移除 清除遺漏的數據 模組。

我們的預測實驗現在看起來像這樣:

拿掉其他模組

新增選用的 Web 服務參數

在某些情況下,您可能想要允許 Web 服務的使用者在存取服務時變更模組的行為。 Web 服務參數 可讓您執行這項操作。

常見的範例是設定 匯入數據 模組,讓已部署 Web 服務的用戶可以在存取 Web 服務時指定不同的數據源。 或設定 匯出數據 模組,以便指定不同的目的地。

您可以定義 Web 服務參數,並將其與一或多個模塊參數產生關聯,而且您可以指定它們為必要或選擇性。 Web 服務的使用者會在存取服務時提供這些參數的值,並據以修改模組動作。

如需什麼是 Web 服務參數及其使用方式的詳細資訊,請參閱使用 機器學習 Web 服務參數

下列步驟說明將預測實驗部署為新的 Web 服務。 您也可以將實驗部署為傳統 Web 服務。

將其部署為新的 Web 服務

現在已備妥預測實驗,您可以將它部署為新的 Azure Web 服務(Resource Manager 型)Web 服務。 使用 Web 服務,使用者可以將數據傳送至您的模型,而模型會傳回其預測。

若要部署預測實驗,請按兩下實驗畫布底部的 [ 執行 ]。 實驗完成執行之後,按兩下 [部署Web服務 ],然後選取 [ 部署Web服務 新增]。 機器學習 Studio (傳統) Web 服務入口網站的部署頁面隨即開啟。

注意

若要部署新的 Web 服務,您必須在部署 Web 服務的訂用帳戶中有足夠的許可權。 如需詳細資訊,請參閱使用 機器學習 Web 服務入口網站管理 Web 服務。

Web 服務入口網站部署實驗頁面

在 [部署實驗] 頁面上,輸入 Web 服務的名稱。 選取定價方案。 如果您有現有的定價方案,您可以選取它,否則您必須為服務建立新的價格方案。

  1. 在 [ 價格方案] 下拉式清單中,選取現有的方案,或選取 [ 選取新方案] 選項。
  2. 在 [ 方案名稱] 中,輸入將識別帳單方案的名稱。
  3. 選取其中 一個 [每月方案層]。 方案層預設為預設區域的方案,而您的 Web 服務會部署到該區域。

按兩下 [部署 ], 然後開啟Web服務的 [快速入門 ] 頁面。

Web 服務快速入門頁面提供您在建立 Web 服務之後將執行之最常見工作的存取權和指引。 從這裡,您可以輕鬆地存取 [測試] 頁面和 [取用] 頁面。

測試新的 Web 服務

若要測試新的 Web 服務,請按兩下 [一般工作] 底下的 [ 測試 Web 服務 ]。 在 [測試] 頁面上,您可以將 Web 服務測試為要求-回應服務 (RRS) 或批次執行服務 (BES)。

RRS 測試頁面會顯示您為實驗定義的輸入、輸出和任何全域參數。 若要測試 Web 服務,您可以手動輸入輸入的適當值,或提供包含測試值的逗號分隔值 (CSV) 格式檔案。

若要使用 RRS 進行測試,請從清單檢視模式輸入適當的輸入值,然後按兩下 [ 測試要求-回應]。 您的預測結果會顯示在左側的輸出數據行中。

輸入適當的值以測試您的 Web 服務

若要測試您的 BES,請按兩下 [ 批次]。 在 [Batch 測試] 頁面上,按下輸入下的 [流覽],然後選取包含適當範例值的 CSV 檔案。 如果您沒有 CSV 檔案,而且您使用 機器學習 Studio 建立預測實驗(傳統版),您可以下載預測實驗的數據集並加以使用。

若要下載數據集,請開啟 機器學習 Studio (傳統版)。 開啟您的預測實驗,並以滑鼠右鍵按兩下實驗的輸入。 從操作功能表中,選取 數據集 ,然後選取 [ 下載]。

從 Studio (傳統) 畫布下載數據集

按一下 [測試] 。 批次執行作業的狀態會顯示在 [測試批次作業] 下方

使用 Web 服務入口網站測試您的批次執行作業

在 [ 組態 ] 頁面上,您可以變更描述、標題、更新記憶體帳戶密鑰,以及啟用 Web 服務的範例數據。

設定 Web 服務

存取新的 Web 服務

從 機器學習 Studio (傳統版) 部署 Web 服務之後,您就可以將數據傳送至服務,並以程式設計方式接收回應。

[ 用] 頁面提供存取 Web 服務所需的所有資訊。 例如,提供 API 金鑰以允許授權存取服務。

如需存取 機器學習 Studio (傳統) Web 服務的詳細資訊,請參閱如何使用 機器學習 Studio (傳統) Web 服務

管理新的 Web 服務

您可以使用 機器學習 Studio (傳統) Web 服務入口網站來管理新的 Web 服務。 在主要入口網站頁面中,按兩下 [Web 服務]。 您可以從 Web 服務頁面刪除或複製服務。 若要監視特定服務,請按兩下服務,然後按兩下 [ 儀錶板]。 若要監視與 Web 服務相關聯的批次作業,請按下 [ 批次要求記錄]。

將新的 Web 服務部署到多個區域

您可以輕鬆地將新的 Web 服務部署到多個區域,而不需要多個訂用帳戶或工作區。

定價是特定區域,因此您必須為每個您將部署 Web 服務的區域定義計費方案。

在另一個區域中建立方案

  1. 登入 機器學習Web服務
  2. 按兩下 [ 方案] 選單選項。
  3. 在 [透過檢視方案] 頁面上,按兩下 [ 新增]。
  4. 從 [ 訂用帳戶 ] 下拉式清單中,選取新方案所在的訂用帳戶。
  5. 從 [ 區域 ] 下拉式清單中,選取新方案的區域。 選取區域的 [方案選項] 會顯示在 頁面的 [方案選項 ] 區段中。
  6. 從 [ 資源群組] 下拉式清單中,選取方案的資源群組。 如需資源群組的詳細資訊,請參閱 Azure Resource Manager 概觀
  7. 在 [ 方案名稱] 中,輸入方案的名稱。
  8. 在 [方案選項]下,按兩下新方案的計費層級。
  9. 按一下 [建立]。

將 Web 服務部署到另一個區域

  1. 在 [機器學習 Web 服務] 頁面上,單擊 [Web 服務] 功能表選項。
  2. 選取您要部署到新區域的 Web 服務。
  3. 按一下 [複製]
  4. [Web 服務名稱] 中,輸入 Web 服務的新名稱。
  5. Web 服務描述中,輸入 Web 服務的描述。
  6. 從 [ 訂用帳戶 ] 下拉式清單中,選取新Web服務所在的訂用帳戶。
  7. 從 [ 資源群組 ] 下拉式清單中,選取 Web 服務的資源群組。 如需資源群組的詳細資訊,請參閱 Azure Resource Manager 概觀
  8. 從 [ 區域 ] 下拉式清單中,選取要在其中部署 Web 服務的區域。
  9. 從 [ 記憶體帳戶 ] 下拉式清單中,選取要在其中儲存 Web 服務的記憶體帳戶。
  10. 從 [ 價格方案] 下拉式清單中,選取您在步驟 8 中所選取區域中的方案。
  11. 按一下 [複製]

將其部署為傳統 Web 服務

既然預測實驗已做好充分的準備,您可以將它部署為傳統 Azure Web 服務。 使用 Web 服務,使用者可以將數據傳送至您的模型,而模型會傳回其預測。

若要部署預測實驗,請按兩下 實驗畫布底部的 [執行 ],然後按兩下 [ 部署Web服務]。 Web 服務已設定,且您位於 Web 服務儀錶板中。

從 Studio 部署 Web 服務(傳統版)

測試傳統 Web 服務

您可以在 機器學習 Studio (傳統) Web 服務入口網站或 機器學習 Studio (classic) 中測試 Web 服務。

若要測試要求回應 Web 服務,請按下 Web 服務儀錶板中的 [測試 ] 按鈕。 隨即出現對話框,要求您提供服務的輸入數據。 這些是評分實驗所預期的數據行。 輸入一組數據,然後按兩下 [ 確定]。 Web 服務所產生的結果會顯示在儀錶板底部。

您可以按兩下 [測試預覽] 連結,在 機器學習 Studio (傳統) Web 服務入口網站中測試您的服務,如先前的 [新增 Web 服務] 區段所示。

若要測試批次執行服務,請按下 [ 測試 預覽] 連結 。 在 [Batch 測試] 頁面上,按下輸入下的 [流覽],然後選取包含適當範例值的 CSV 檔案。 如果您沒有 CSV 檔案,而且您已使用 機器學習 Studio 建立預測實驗(傳統版),您可以下載預測實驗的數據集並加以使用。

測試 Web 服務

在 [ 組態 ] 頁面上,您可以變更服務的顯示名稱,並提供描述。 名稱和描述會顯示在您管理 Web 服務的 Azure 入口網站 中。

您可以在 INPUT SCHEMA、OUTPUT SCHEMAWeb SERVICE PARAMETER 底下輸入每個數據行的字串,以提供輸入數據、輸出數據和 Web 服務參數的描述。 這些描述會用於提供給 Web 服務的範例程式代碼檔中。

您可以啟用記錄來診斷存取 Web 服務時所看到的任何失敗。 如需詳細資訊,請參閱啟用 機器學習 Studio (傳統) Web 服務的記錄。

在 Web 服務入口網站中啟用記錄

您也可以在 機器學習 Web 服務入口網站中設定 Web 服務的端點,類似於先前在 [新增 Web 服務] 區段中所示的程式。 選項不同,您可以新增或變更服務描述、啟用記錄,以及啟用測試的範例數據。

存取傳統 Web 服務

從 機器學習 Studio 部署 Web 服務之後,您就可以將數據傳送至服務,並以程式設計方式接收回應。

儀錶板提供存取 Web 服務所需的所有資訊。 例如,提供 API 金鑰以允許授權存取服務,並提供 API 說明頁面來協助您開始撰寫程式代碼。

如需存取 機器學習 Studio (傳統) Web 服務的詳細資訊,請參閱如何使用 機器學習 Studio (傳統) Web 服務

管理傳統 Web 服務

您可以執行各種動作來監視 Web 服務。 您可以更新它,並刪除它。 除了部署傳統 Web 服務時所建立的預設端點之外,您也可以將其他端點新增至傳統 Web 服務。

如需詳細資訊,請參閱使用 機器學習 Studio (傳統) Web 服務入口網站管理 機器學習 Studio (傳統) 工作區和管理 Web 服務。

更新 Web 服務

您可以變更 Web 服務,例如使用其他定型數據更新模型,然後再次部署模型,並覆寫原始 Web 服務。

若要更新 Web 服務,請開啟您用來部署 Web 服務的原始預測實驗,然後按兩下 [另存新檔] 來建立可編輯的複本。 進行變更,然後按兩下 [ 部署Web服務]。

因為您之前已部署此實驗,因此系統會詢問您是否要覆寫現有服務 (傳統 Web 服務) 或更新 [新增 Web 服務]。 按兩下 [是] 或 [更新] 會停止現有的Web服務,並部署新的預測實驗。

注意

例如,如果您在原始 Web 服務中做了組態變更,請輸入新的顯示名稱或描述,則必須再次輸入這些值。

更新 Web 服務的其中一個選項是以程式設計方式重新定型模型。 如需詳細資訊,請參閱以程序設計方式重新定型 機器學習 Studio (傳統) 模型。

下一步