完成 語句標籤之後,您就可以開始定型模型。 定型是模型從標記表達中學習的流程。
若要定型模型,請啟動定型作業。 只有成功完成的作業才能建立模型。 訓練作業會在七天后到期,然後您無法再擷取作業詳細數據。 如果您的定型作業順利完成,且已建立模型,則作業不會過期。 您一次只能執行一個訓練作業,而且您無法在同一個微調工作中啟動其他作業。
Note
使用 [快速部署] 選項時,交談語言理解 (CLU) 會自動建立立即訓練作業,以使用您選取的 LLM 部署來設定 CLU 意圖路由器。
訓練時間的範圍可以從簡單專案的幾秒鐘,一直到觸及語句上限的幾小時。
成功完成定型之後,就會自動觸發模型評估。 評估流程一開始會使用已定型的模型,在測試集中的表達上執行預測,並比較預測的結果與提供的標籤 (以建立事實基準)。
Prerequisites
- 作用中的 Azure 訂用帳戶。 如果您沒有帳戶,您可以 免費建立一個。
- 必要的權限。 請確定建立帳戶和項目的人員已獲指派為訂用帳戶層級的 Azure AI 帳戶擁有者角色。 或者,在訂用帳戶範圍擁有 [參與者] 或 [認知服務參與者] 角色也符合這項需求。 如需詳細資訊,請參閱角色型訪問控制(RBAC)。
- 一個由 Microsoft Foundry 創建的專案。 欲了解更多資訊, 請參閱「建立鑄造廠專案」。
- 您的已標記語句為您的微調任務而標記。
平衡訓練資料
在訓練數據方面,請嘗試讓架構保持良好的平衡。 包含大量的一個意圖和少量另一個意圖會導致模型對特定意圖產生偏向。
若要解決此情況,您可能需要降低訓練數據集的樣本數。 或者,您可以選擇新增至訓練集。 若要降採樣,您可以:
- 隨機移除特定百分比的訓練資料。
- 分析資料集並移除代表性過高的重複項目,從而採用更系統化的方式。
若要新增至訓練集,請在 Language Studio 中,選取 [資料標記] 索引標籤中的 [建議表達]。 交談語言理解會將呼叫傳送給 Azure OpenAI 以產生類似的表達。
您也應該在訓練集中尋找非預期的模式。 例如,確認特定意圖的訓練集是否全部採用小寫,或以特定片語開頭。 在這種情況下,您訓練的模型可能會在訓練集中學習這些非預期的偏差,而不是能夠進行一般化。
建議您在訓練集中引進大小寫和標點符號多樣性。 如果您的模型預期會處理變化,務必要有一個也會反映該多樣性的訓練集。 例如,包含一些採用適當大小寫的表達,以及一些全部採用小寫的表達。
資料分割
開始定型程序之前,專案中加上標籤的表達會分成定型集和測試集。 它們中的每一個都有不同的功能:
- 訓練集用於訓練模型,模型會從中學習已標註的語句。
- 該測試集是一個盲集,不會在定型期間 (而是只在評估期間) 引入模型。
成功定型模型之後,會用來從測試集中的表達進行預測。 這些預測用來計算評估計量。 建議您確定所有意圖和實體都已充分呈現在定型和測試集中。
交談語言理解支援兩種資料分割方法:
- 自動分割測試集與定型數據:系統會根據您選擇的百分比,在定型集和測試集之間分割標記的數據。 建議的百分比分割是 80% 用於定型,20% 用於測試。
Note
如果您選擇 [ 從定型數據自動分割測試集 ] 選項,則只有指派給定型集的數據會根據提供的百分比來分割。
- 使用手動分割定型和測試資料:此方法可讓使用者定義哪些表達應該屬於哪個集合。 只有在您在 標記期間將語句新增至測試集時,才會啟用此步驟。
訓練模式
對話式語言理解 (CLU) 支援兩種模式來定型模型
標準訓練 利用快速的機器學習演算法來快速訓練您的模型。 此訓練等級目前僅適用於 英文 ,且針對未使用英文(US)或英文(UK)做為其主要語言的任何專案停用。 這個定型選項是免費的。 標準訓練可讓您新增語句,並快速免費測試語句。 顯示的評估分數應可引導您了解專案哪些位置需進行變更,並新增更多表達。 雖然標準定型最適合快速測試及更新模型,但在使用進階定型時,您應該會看到更好的模型品質。 雖然標準定型最適合快速測試及更新模型,但在使用進階定型時,您應該會看到更好的模型品質。 一旦您迭代幾次並進行漸進式改善,您可以考慮使用進階訓練來訓練模型的另一個版本。
進階定型會使用最新的機器學習技術,以利用您的資料自訂模型。 此訓練等級預期可提高模型的效能分數,並讓您使用 CLU 的多語言功能。 進階定型採不同定價方式。 如需詳細資料,請參閱定價資訊。
使用評估分數來引導決策。 有時候,特定範例在進階訓練中被錯誤預測,而不是在使用標準訓練模式時。 不過,如果使用進階訓練時的整體評估結果較佳,我們建議您將該模型作為最終模型。 如果情況並非如此,而且您不想要使用任何多語系功能,您可以繼續使用以標準模式定型的模型。
Note
當每個演算法以不同的方式校正其分數時,您應該會看到各定型模式間意圖信賴分數的行為差異。
訓練你的模型
瀏覽到 Foundry。
如果您尚未登入,入口網站會提示您使用您的 Azure 認證來執行此動作。
登入後,你可以在 Foundry 內建立或存取現有專案。
如果您尚未進入這項工作中的專案,請選取它。
從左側導覽面板中選取 [微調]。
選取 [AI 服務微調] 索引標籤,然後選取 [+ 微調 ] 按鈕。
Foundry 中微調按鈕的截圖。
從 [建立服務微調 ] 視窗,選擇 [ 對話語言理解 ] 索引卷標,然後選取 [ 下一步]。
在 [建立 CLU 微調工作 ] 視窗中,從下拉菜單中選取 [ 已連線的服務 ],然後完成 [ 名稱 ] 和 [ 語言] 字段。 如果您使用免費的 標準訓練 模式,請選取語言欄位的 英文 。
選擇建立按鈕。 建立作業可能需要幾分鐘的時間才能完成。
Note
- 標準訓練 可加快訓練時間和更快速的重複迭代;然而,它只適用於英文。
- 進階訓練 包含較長的訓練期間,且支援英文、其他語言和多語系專案。
- 如需詳細資訊,請參閱訓練模式。
從最左側導覽面板中,選擇 [ 訓練模型]。
接下來,從主視窗選取+ 訓練模型按鈕。
在 [ 定型新的模型] 視窗中,選取下列其中一項:
- 建立新的訓練模型。 輸入新的 模型名稱
- 覆寫現有的模型名稱。 取代在新數據上定型的現有模型。
選取 您目前的訓練版本。 定型版本是決定模型如何從數據學習的演算法。 用來定型模型的機器學習會定期更新。 建議您使用最新版本進行訓練,因為它經過徹底的測試,並提供您數據中最平衡的模型預測。
選取 下一步。
選取 [定型新模型] 視窗中顯示的其中一個資料分割方法:
根據指定的百分比,自動將測試集從定型數據分割,讓系統能夠在定型集與測試集之間分割語句。
使用手動分割定型和測試數據 ,可讓系統使用您指派並加上標籤的定型和測試集來建立自定義模型。 * 此選項僅在您標記語句並將這些語句加入測試集時才會可用。
選取 [下一步],然後選取 [建立]。
從清單中選擇訓練作業 ID。 此時會出現一個面板,詳細說明此作業的訓練進度、作業狀態和其他詳細數據。
Note
- 只有成功完成的訓練任務才會產生模型。
- 訓練的時間可能取決於語句的數量,從幾分鐘到幾個小時不等。
- 您一次只能執行一個定型作業。 除非執行中的作業完成,否則無法在同一個專案內啟動其他訓練作業。
取消定型作業
當您完成自訂模型時,可刪除部署和模型。 如有需要,您也可以刪除上傳至服務的定型和驗證檔案:
若要刪除您的自定義模型,請在左側瀏覽窗格中選取 [我的資產 ] → [模型 + 端點]。 從 [ 模型部署] 索引 標籤中選擇要刪除的自定義模型,然後選取 [ 刪除]。
若要刪除上傳用於訓練和驗證的檔案,請在左側導覽窗格中選取 數據 + 索引。 選擇要刪除的檔案,然後選取 [ 刪除]。
後續步驟
使用 模型評估計量來檢閱模型的效能。