在本文中,您會在 Azure Machine Learning 工作室中使用 Azure Machine Learning 自動化 ML 來設定自動化機器學習訓練作業。 此方法可讓您設定作業,而不需要撰寫單行程序碼。 自動化 ML 是一個程序,其中 Azure Machine Learning 會為您的特定資料選取最佳機器學習演算法。 此程序可讓您快速產生機器學習模型。 如需詳細資訊,請參閱 自動化 ML 程序概觀。
本教學課程提供在工作室中使用自動化 ML 的高階概觀。 下列文章提供使用特定機器學習模型的詳細指示:
- 分類:教學課程:在 Studio 中使用自動化 ML 定型分類模型
- 時間序列預測:教學課程:在工作室中使用自動化 ML 預測需求
- 自然語言處理 (NLP):設定自動化 ML 來定型 NLP 模型 (Azure CLI 或 Python SDK)
- 電腦視覺:設定 AutoML 來定型電腦視覺模型 (Azure CLI 或 Python SDK)
- 迴歸:使用自動化 ML 定型迴歸模型 (Python SDK)
必要條件
Azure 訂用帳戶。 您可以建立 Azure Machine Learning 的免費或付費帳戶。
Azure Machine Learning 工作區或計算執行個體。 若要準備這些資源,請參閱快速入門:開始使用 Azure Machine Learning。
要用於自動化 ML 定型作業的資料資產。 本教學課程說明如何選取現有的資料資產,或從資料來源建立資料資產,例如本機檔案、Web URL 或資料存放區。 如需詳細資訊,請參閱 建立和管理資料資產。
重要
訓練資料有兩個需求:
- 資料必須是表格形式。
- 要預測的值 (目標資料行) 必須存在於資料中。
建立實驗
依照下列步驟建立和執行實驗:
登入 Azure Machine Learning 工作室,然後選取您的訂用帳戶和工作區。
在左側選單中,選取 [撰寫] 區段下的 [自動化 ML]:
第一次在工作室中使用實驗時,您會看到空白清單和文件連結。 否則,您會看到最近的自動化 ML 實驗清單,包括使用 Azure Machine Learning SDK 建立的項目。
選取 [新增自動化 ML 作業],以啟動 [提交自動化 ML 作業] 程序。
根據預設,此程序會在 [訓練方法] 索引標籤上選取 [自動定型] 選項,然後繼續前往組態設定。
在 [基本設定] 索引標籤上,輸入必要設定的值,包括作業名稱和實驗名稱。 您也可以視需要提供選擇性設定的值。
選取下一步以繼續。
識別資料資產
在 [工作類型和資料] 索引標籤上,您可以指定實驗的資料資產,以及用來訓練型資料的機器學習模型。
在本教學課程中,您可以使用現有的資料資產,或從本機電腦上的檔案建立新的資料資產。 Studio UI 頁面會根據您選取的資料來源和定型模型類型而變更。
如果您選擇使用現有的資料資產,您可以繼續前往 [設定定型模型] 區段。
若要建立新的資料資產,請遵循下列步驟:
若要從本機電腦上的檔案建立新的資料資產,請選取 [建立]。
在 [資料類型] 頁面上:
- 輸入資料資產名稱。
- 針對 [類型],從下拉式清單中選取 [表格式]。
- 選取 [下一步]。
在 [資料來源] 頁面上,選取 [從本機檔案]。
Machine Learning Studio 會將額外的選項新增至左側功能表,讓您設定資料來源源。
選取 [下一步] 以繼續前往 [目的地儲存體類型] 頁面,您可以在其中指定要上傳資料資產的 Azure 儲存體位置。
您可以指定使用工作區自動建立的預設儲存體容器,或選擇要用於實驗的儲存體容器。
- 針對 [資料存放區類型],選取 [Azure Blob 儲存體]。
- 在資料存放區清單中,選取 [workspaceblobstore]。
- 選取 [下一步]。
在 [檔案和文件夾選取] 頁面上,使用 [上傳檔案或資料夾] 下拉功能表,然後選取 [上傳檔案] 或 [上傳資料夾] 選項。
- 瀏覽至要上傳資料的位置,然後選取 [開啟]。
- 上傳檔案之後,選取 [下一步]。
Machine Learning Studio 會驗證並上傳您的資料。
注意
如果您的資料位於虛擬網路後方,您必須啟用 [略過驗證] 功能,以確保工作區可以存取您的資料。 如需詳細資訊,請參閱在 Azure 虛擬網路中使用 Azure Machine Learning 工作室。
在 [設定] 頁面上檢查上傳的資料,以確保正確性。 頁面上的欄位會根據資料的檔案類型預先填入:
欄位 描述 檔案格式 定義檔案中所儲存資料的版面配置和類型。 分隔符號 識別一或多個字元,其用來指定純文字或其他資料流中個別獨立區域之間的界限。 編碼方式 識別要用來讀取資料集之字元結構描述資料表的位元。 資料行標頭 指出資料集標頭 (如果有的話) 的處理方式。 略過列 指出資料集內略過多少資料列 (如果有的話)。 選取 [下一步] 繼續前往 [結構描述] 頁面。 此頁面也會根據您的 [設定] 選取項目預先填入。 您可以設定每個資料行的資料類型、檢閱資料行名稱,以及管理資料行:
- 若要變更資料行的資料類型,請使用 [類型] 下拉功能表來選取選項。
- 若要從資料資產中排除資料行,請切換資料行的 [包括] 選項。
選取 [下一步] 繼續前往 [檢閱] 頁面。 檢閱您作業的組態設定摘要,然後選取 [建立]。
設定訓練模型
當資料資產準備就緒時,Machine Learning Studio 會返回 [任務類型和資料] 索引卷標,以選取 [提交自動化 ML 作業] 程序。 新的資料資產會列在頁面上。
請遵循下列步驟來完成作業部署:
展開 [選取任務類型作類型] 下拉菜單,然後選擇要用於實驗的定型模型。 這些選項包括分類、迴歸、時間序列預測、自然語言處理 (NLP) 或電腦視覺。 如需這些選項的詳細資訊,請參閱 支援的工作類型描述。
指定定型模型之後,請在清單中選取您的資料集。
選取 [下一步] 以繼續前往 [工作設定] 索引標籤。
在 [目標資料行] 下拉式清單中,選取要用於模型預測的資料行。
根據您的定型模型,設定下列必要設定:
分類:選擇是否要 [啟用深度學習]。
時間序列預測:選擇是否要 [啟用深度學習],並確認您對必要設定的喜好設定:
使用 [時間] 資料行 指定要在模型中使用的時間資料。
選擇是否啟用一或多個 [自動偵測] 選項。 當您取消選取 [自動偵測] 選項時,例如: [自動偵測預測地平線],您可以指定特定值。 預測地平線值指出模型未來可以預測多少時間單位 (分鐘/小時/天/週/月/年)。 模型需要預測的未來越遠,模型的正確性越低。
如需有關如何設定這些設定的詳細資訊,請參閱 使用自動化 ML 將時間序列預測模型定型。
自然語言處理:確認必要設定的喜好設定:
使用 [選取子類型] 選項來設定 NLP 模型的子分類類型。 您可以選擇 [多重類別分類]、[多重標籤分類] 和 [具名實體辨識] (NER)。
在 [整理設定] 區段中,提供 Slack 因數和取樣演算法的值。
在 [搜尋空間] 區段中,設定一組 [模型演算法] 選項。
如需有關如何設定這些設定的詳細資訊,請參閱 設定自動化 ML 來定型 NLP 模型 (Azure CLI 或 Python SDK)。
電腦視覺:選擇是否啟用 [手動掃掠],並確認您對必要設定的喜好設定:
- 使用 [選取子類型] 選項來設定電腦視覺模型的子分類類型。 您可以選擇影像分類 (多類別) 或 (多重標籤)、物件偵測和多邊形 (執行個體分割)。
如需有關如何設定這些設定的詳細資訊,請參閱 設定自動化 ML 來定型電腦視覺模型 (Azure CLI 或 Python SDK)。
指定選擇性設定
Machine Learning Studio 提供選擇性設定,您可以根據您的機器學習模型選取進行設定。 下列各節說明額外的設定。
進行其他設定
您可以選取 [檢視其他組態設定] 選項,以查看準備定型時要對資料執行的動作。
[其他設定] 頁面會根據您的實驗選取和資料顯示預設值。 您可以使用預設值,或設定下列設定:
設定 | 描述 |
---|---|
主要計量 | 識別用於為模型評分的主要計量。 如需詳細資訊,請參閱 模型計量。 |
啟用集成堆疊 | 藉由結合多個模型,而不是使用單一模型,允許集成學習並改善機器學習結果和預測效能。 如需詳細資訊,請參閱 集成模型。 |
使用所有支援的模型 | 使用此選項以指示自動化 ML 是否要在實驗中使用所有支援的模型。 如需詳細資訊,請參閱 每個任務類型支援的演算法。 - 選取此選項以設定 [封鎖的模型] 設定。 - 取消選取此選項以設定 [允許的模型] 設定。 |
封鎖的模型 | (選取 [使用所有支援的模型] 時可用) 使用下拉式清單,然後選取要從定型作業中排除的模型。 |
允許的模型 | (未選取 [使用所有支援的模型] 時可用) 使用下拉式清單,然後選取要為定型作業使用的模型。 重要:僅適用於 SDK 實驗。 |
說明最佳模型 | 選擇此選項,以自動在自動化 ML 所建立的最佳模型上顯示可解釋性。 |
正面類別標籤 | 輸入用於計算二進位計量的自動化 ML 標籤。 |
設定特徵化設定
您可以選取 [檢視特徵化設定] 選項,以查看準備定型時,要對資料執行的動作。
[特徵化] 頁面會顯示資料行的預設特徵化技術。 您可以啟用/停用自動特徵化,以及為您的實驗自訂自動特徵化設定。
選取 [啟用特徵化] 選項以允許設定。
重要
當您的資料包含非數值資料行時,一律會啟用特徵化。
視需要設定每個可用的資料行。 下表摘要說明目前可透過工作室完成的自訂。
資料行 自訂 功能類型 變更所選資料行的實值型別。 插補 選取要在資料中插補遺漏值的值。
特徵化設定不會影響推斷所需的輸入資料。 如果您從定型中排除資料行,則排除的資料行仍然需要作為模型推斷的輸入。
設定作業的限制
[限制] 區段提供下列設定的組態選項:
設定 | 描述 | 值 |
---|---|---|
試用上限 | 指定要在自動化 ML 作業期間嘗試的試用數目上限,其中每個試用版都有不同的演算法和超參數組合。 | 介於 1 到 1,000 之間的整數 |
同時試用上限 | 指定可以平行執行的試用作業數目上限。 | 介於 1 到 1,000 之間的整數 |
最大節點數 | 指定此作業可從所選的計算目標使用的節點數目上限。 | 1 或更多,視計算設定而定 |
計量分數閾值 | 輸入反覆項目計量閾值。 當反覆項目達到閾值時,定型作業就會終止。 請記住,有意義的模型具有大於零的相互關聯。 否則,結果會和猜測一樣。 | 平均計量閾值,介於界限 [0, 10] 之間 |
實驗逾時 (分鐘) | 指定整個實驗可以執行的時間上限。 實驗達到限制之後,系統會取消自動化 ML 作業,包括所有試驗 (子作業)。 | 分鐘數 |
反覆運算逾時 (分鐘) | 指定每個試用作業可以執行的時間上限。 試用作業達到此限制之後,系統會取消試用。 | 分鐘數 |
啟用提前終止 | 當分數在短期內未改善時,請使用此選項結束作業。 | 選取此選項以啟用作業早期結束 |
驗證和測試
[驗證與測試] 區段提供下列設定選項:
指定要用於定型作業的驗證類型。 如果您未明確指定
validation_data
或n_cross_validations
參數,則自動化 ML 會根據在單一資料集training_data
中提供的資料列數目,套用預設的技巧。定型資料大小 驗證技術 大於 20,000 個資料列 套用定型/驗證資料分割。 預設值是以 10% 的初始定型資料集做為驗證集。 接著,該驗證集會用於計量計算。 小於 20,000 個資料列 套用交叉驗證方法。 預設的摺疊數目取決於資料列數目。
- 少於 1,000 個資料列的資料集:會使用 10 個摺疊。
- 具有 1,000 到 20,000 個資料列的資料集:使用三個折疊提供測試資料 (預覽) 來評估自動化 ML 在實驗結束時為您產生的建議模型。 當您提供測試資料集時,測試作業會在實驗結束時進行自動觸發。 此測試作業是自動化 ML 所建議的最佳模型上唯一的作業。 如需詳細資訊,請參閱 檢視遠端測試作業結果 (預覽)。
重要
提供測試資料集來評估產生的模型是預覽功能。 此功能是實驗性預覽功能,而且可能隨時變更。
測試資料視為與訓練和驗證不同,因此不會使得建議模型的測試作業結果產生偏差。 如需詳細資訊,請參閱 定型、驗證和測試資料。
您可以提供自己的測試資料集,或選擇使用訓練資料集的百分比。 測試資料的格式必須是 Azure Machine Learning 表格資料集。
測試資料集的結構描述應該符合訓練資料集。 目標資料行是選用的,但如果沒有指定目標資料行,則不會計算任何測試計量。
測試資料集不應與訓練資料集或驗證資料集相同。
預測作業不支援訓練/測試分割。
設定計算
請遵循下列步驟並設定計算:
選取 [下一步] 以繼續前往 [計算] 索引標籤。
使用 [選取計算類型] 下拉式清單,以選擇資料分析和定型作業的選項。 這些選項包括 [計算叢集]、[計算執行個體] 或 [無伺服器]。
選取計算類型之後,頁面上的其他 UI 會根據您的選取項目而變更:
針對無伺服器計算或新的計算,請設定任何必要的 (*) 設定:
組態設定會根據您的計算類型而有所不同。 下表摘要說明您可能需要設定的各種設定:
欄位 描述 計算名稱 輸入可識別您計算內容的唯一名稱。 地點 指定機器的區域。 虛擬機器優先順序 雖然低優先順序的虛擬機器較便宜,但無法保證計算節點。 虛擬機器類型 選取 CPU 或 GPU 作為虛擬機器類型。 虛擬機器階層 選取實驗的優先順序。 虛擬機器大小 為您的計算選取虛擬機器大小。 最小/最大節點 若要分析資料,您必須指定一個或多個節點。 輸入所計算的節點數上限。 預設值為 Azure Machine Learning Compute 的六個節點。 縮小前的閒置秒數 指定叢集自動縮小至最小節點數之前的閒置時間。 進階設定 這些設定可讓您為您的實驗設定使用者帳戶和現有虛擬網路。 設定必要設定之後,請視需要選取 [下一步] 或 [建立]。
建立新的計算可能會需要數分鐘。 建立完成時,請選擇 [下一步]。
執行實驗並檢視結果
選取 [完成] 以執行實驗。 實驗準備流程最多需要 10 分鐘。 訓練作業可能需要額外 2-3 分鐘不等,才能讓每個管線完成執行。 如果您已指定為最佳建議模型產生 RAI 儀表板,最多可能需要 40 分鐘的時間。
注意
自動化 ML 採用的演算法具有固有的隨機性,可能會導致建議模型的最終計量分數有些微變化,例如正確性。 自動化 ML 也會在必要時對資料 (例如,訓練測試分割、訓練驗證分割或交叉驗證) 執行作業。 因此,如果您以相同設定和主要計量多次執行實驗,您可能會在每個實驗的最終計量分數中看到這些因素造成的變化。
檢視實驗詳細資料
[作業詳細資料] 畫面會在 [詳細資料] 索引標籤中開啟。此畫面會顯示實驗作業的摘要,並會在頂端作業編號的旁邊包含狀態列。
[模型] 索引標籤包含依計量分數所建立的模型清單。 依預設,根據所選計量評分最高的模型會出現在清單頂端。 當定型作業嘗試更多模型時,已練習的模型會新增至清單。 使用此方式快速比較到目前為止所產生的各個模型計量。
檢視訓練作業詳細資料
在任何已完成的模型上向下切入,以查看訓練作業的詳細資料。 您可以在 [計量] 索引標籤上查看特定模型的效能計量圖表。如需詳細資訊,請參閱 評估自動化機器學習實驗結果。 在此頁面上,您也可以找到模型所有屬性的詳細資料,以及相關聯的程式碼、子系作業和影像。
檢視遠端測試作業的結果 (預覽版)
如果您在實驗設定期間在 [驗證和測試] 表單上指定測試資料集或選擇訓練/測試分割,自動化 ML 預設會自動測試建議的模型。 如此一來,自動化 ML 會計算測試計量,以判斷建議模型和其預測的品質。
請遵循下列步驟來檢視建議模型的測試作業計量:
在工作室中,瀏覽至 [模型] 頁面,然後選取最佳模型。
選取 [測試結果 (預覽)] 索引標籤。
選取您想要的作業,然後檢視 [計量] 索引標籤:
若要檢視用來計算測試計量的測試預測,請遵循下列步驟:
瀏覽至頁面底部,選取 [輸出資料集] 下的連結,以開啟資料集。
在 [資料集] 頁面上,選取 [探索] 索引標籤,以檢視該測試作業的預測。
您也可以從 [輸出 + 記錄] 索引標籤來檢視和下載預測檔案。展開 [預測] 資料夾,以找出您的 prediction.csv 檔案。
模型測試作業會產生 predictions.csv 檔案,並儲存在與工作區一起建立的預設資料存放區。 具有相同訂用帳戶的所有使用者都可以看到此資料存放區。 如果測試作業所使用或所建立的任何資訊都必需保密,則不建議使用測試作業。
測試現有的自動化 ML 模型 (預覽)
當您的實驗完成之後,您可以測試自動 ML 為您產生的模型。
如果您想要測試不同的自動化 ML 產生的模型,而不是建議模型,您可以使用下列步驟:
選取現有的自動化 ML 實驗作業。
瀏覽至作業的 [模型] 索引標籤,然後選取想要測試的已完成模型。
在模型的 [詳細資料] 頁面上,選取 [測試模型 (預覽)] 選項,以開啟 [測試模型] 窗格。
在 [測試模型] 窗格中,選取想要用於測試作業的計算叢集和測試資料集。
選取 [測試] 選項。 測試資料集的結構描述應該符合訓練資料集,但 [目標資料行] 是選用項目。
成功建立模型測試作業之後,[詳細資料] 分頁會顯示成功訊息。 選取 [測試結果] 索引標籤,以查看作業的進度。
若要檢視測試作業的結果,請開啟 [詳細資料] 頁面,並依照 檢視遠端測試作業的結果 (預覽) 區段的步驟執行。
負責任 AI 儀表板 (預覽)
若要進一步瞭解您的模型,您可以使用負責任 AI 儀表板來查看模型的各種深入解析。 此 UI 可讓您評估您最佳的自動化 ML 模型並偵錯。 負責任 AI 儀表板會評估模型錯誤和公平性問題、藉由評估您的定型和/或測試資料來診斷這些錯誤發生的原因,並遵循模型說明。 這些深入解析可協助您建立與模型的信任並通過稽核程序。 無法為現有的自動化 ML 模型產生負責任 AI 儀表板。 只有在建立新的自動化 ML 作業時,才會為最佳建議模型建立儀表板。 使用者應該繼續使用模型說明 (預覽),直到為現有模型提供支援為止。
若要針對特定模型產生負責任 AI 儀表板,請遵循下列步驟:
提交自動化 ML 作業時,請前往左側導覽列上的 [工作設定] 區段,選取 [檢視其他組態設定] 選項。
在 [其他設定] 頁面上,選取 [說明最佳模型] 選項:
切換至 [計算] 索引標籤,然後為您的計算選取 [無伺服器] 選項:
作業完成後,瀏覽至自動化 ML 作業的 [模型] 頁面,其中包含已定型的模型清單。 選取 [檢視負責任 AI 儀表板] 連結:
選取的模型的 [負責任 AI] 儀表板隨即出現:
在儀表板中,您會看到四個針對您的自動化 ML 最佳模型啟用的元件:
元件 元件會顯示什麼? 如何讀取圖表? 錯誤分析 當您需要進行下列作業時,請使用錯誤分析:
- 深入了解模型失敗在某個資料集、跨數個輸入和功能維度間的分佈情況。
- 細分彙總效能計量,以自動探索錯誤的世代,進而取得您鎖定目標的風險降低步驟。錯誤分析圖表 模型概觀和公平性 使用此元件來:
- 深入了解跨不同資料世代的模型效能。
- 藉由查看差距計量,可瞭解您的模型公平性問題。 這些計量可以評估及比較以敏感性 (或不敏感) 特徵識別的子群組間的模型行為。模型概觀和公平性圖表 模型說明 使用模型說明元件,藉由查看下列各項來產生人類可理解的機器學習模型預測描述:
- 全域說明:例如,哪些特徵會影響貸款配置模型的整體行為?
- 局部說明:例如,客戶的貸款申請為何通過核准或遭到拒絕?模型說明能力圖表 資料分析 當您需要進行下列作業時,請使用資料分析:
- 選取各種篩選條件將資料切割成不同的維度 (也稱為世代),以探索資料集統計資料。
- 了解資料集在不同世代和特徵群組之間的分佈。
- 判斷資料集的分佈是否影響您對公平性、錯誤分析和因果關係 (衍生自其他儀表板元件) 的調查結果。
- 決定在哪些方面收集更多資料,以減輕由代表性問題、標籤雜訊、特徵雜訊、標籤偏差等類似因素所引起的錯誤。資料總管圖表 您可以進一步建立世代 (即共用指定特性的資料點子群組),將分析焦點放在不同世代的每個元件上。 目前套用至儀表板的世代名稱一律會顯示在儀表板的左上方。 儀表板中的預設檢視為整個資料集,標題預設為所有資料。 如需詳細資訊,請參閱儀表板的全域控制。
編輯和提交作業 (預覽版)
在您想要根據現有實驗的設定建立新實驗的情況下,自動化 ML 提供在 Studio UI 中使用 [編輯並提交] 選項。 這項功能僅限於從 Studio UI 起始的體驗,而且需要新實驗的資料結構描述,以符合原始實驗的資料結構描述。
重要
根據現有實驗複製、編輯和提交新實驗的功能是預覽功能。 此功能是實驗性預覽功能,而且可能隨時變更。
[編輯並提交] 選項會開啟 [建立新的自動化 ML 作業] 精靈,並預先填入資料、計算和實驗設定。 您可以在精靈中的每個索引標籤上設定選項,並視需要編輯新實驗的選取項目。
部署模型
擁有最佳模型之後,您可以將模型部署為 Web 服務,以預測新資料。
注意
若要使用 Python SDK 部署透過 automl
套件產生的模型,您必須註冊模型) 至工作區。
註冊模型之後,您可以在左側功能表上選取 [模型],在工作室中尋找模型。 在模型概觀頁面上,您可以選取 [部署] 選項,並繼續前往本節中的步驟 2。
自動化 ML 可協助您部署模型,而不需要撰寫程式碼。
使用下列其中一種方法起始部署:
根據您所定義的計量準則部署最佳模型:
實驗完成之後,請選取 [作業 1],然後瀏覽至父代作業頁面。
選取 [最佳模型摘要] 區段中所列的模型,然後選取 [部署]。
若要從此實驗部署特定模型反覆項目:
- 從 [模型] 索引標籤中選取所需的模型,然後選取 [部署]。
填入 [部署模型] 窗格:
欄位 值 名稱 輸入部署的唯一名稱。 說明 輸入描述以更清楚地識別部署目的。 計算類型 選取想要部署的端點類型:Azure Kubernetes Service (AKS) 或 Azure 容器執行個體 (ACI)。 計算名稱 (僅適用於 AKS) 選取您要部署到的 AKS 叢集名稱。 啟用驗證 選取允許以權杖為基礎或以金鑰為基礎的驗證。 使用自訂部署資產 若想要上傳自己的評分指令碼和環境檔案,請啟用自訂資產。 否則,自動化 ML 會依預設來為您提供這些資產。 如需詳細資訊,請參閱 如何使用線上端點部署和為機器學習模型評分。 重要
檔案名稱必須介於 1 到 32 個字元之間。 名稱的開頭和結尾必須是英數字元,而且可以包括之間的虛線、底線、點和英數字元。 不允許空格。
進階功能表提供預設部署功能,例如:資料收集和資源使用率設定。 您可以使用此功能表中的選項來覆寫這些預設值。 如需詳細資訊,請參閱監視線上端點。
選取部署。 部署需要約 20 分鐘才能完成。
部署開始之後,[模型摘要] 索引標籤隨即開啟。 您可以在 [部署狀態] 區段底下監視部署進度。
現在您已擁有可運作的 Web 服務,可用來產生預測! 您可以從 Microsoft Fabric 中的端對端 AI 範例查詢服務,以測試預測。