共用方式為


自訂語音的 CI/CD

實作自動化定型、測試和發行管理,以在您將更新套用至定型和測試數據時,啟用自定義語音模型的持續改善。 透過有效實作 CI/CD 工作流程,您可以確保最佳自定義語音模型的端點一律可供使用。

持續整合 (CI) 是共用存放庫中經常認可的更新,以及對其執行自動化建置的工程實務。 自定義語音的 CI 工作流程會從其數據源定型新模型,並在新模型上執行自動化測試,以確保其執行效能優於先前的模型。

持續傳遞 (CD) 會從 CI 程式取得模型,並為每個改良的自訂語音模型建立端點。 CD 可讓端點輕易整合到解決方案中。

自訂 CI/CD 解決方案是可行的,但對於穩固的預建解決方案,請使用語音 DevOps 範本存放庫,以使用 GitHub Actions 來執行 CI/CD 工作流程。

自訂語音的 CI/CD 工作流程

這些工作流程的目的是要確保每個自定義語音模型具有比上一個組建更好的辨識精確度。 如果測試和/或定型數據的更新可改善精確度,這些工作流程會建立新的自定義語音端點。

Git 伺服器 (例如 GitHub 和 Azure DevOps) 可在特定 Git 事件 (例如合併或提取要求) 發生時執行自動化工作流程。 例如,當測試資料的更新推送至主要分支時,可能會觸發 CI 工作流程。 不同的 Git 伺服器有不同的工具,但允許文本命令行介面 (CLI) 命令,讓它們可以在組建伺服器上執行。

在過程中,工作流程應命名和儲存資料、測試、測試檔案、模型和端點,使其可追溯到其來源的認可或版本。 命名這些資產也很有説明,以便輕鬆查看在更新測試數據與定型數據之後建立哪些資產。

測試資料更新的 CI 工作流程

CI/CD 工作流程的主要目的是使用定型數據來建置新的模型,並使用測試數據來測試該模型,以建立與先前表現最好的模型(「基準檢驗模型」相比,Word 錯誤率 (WER) 是否已改善。 如果新模型的執行效能較佳,就會成為新的基準模型供未來的模型據以比較。

測試資料更新的 CI 工作流程應使用更新的測試資料重新測試目前的基準模型,以計算修訂後的 WER。 這可確保當新模型的 WER 與基準檢驗的 WER 進行比較時,這兩個模型都會針對相同的測試數據進行測試,而且您比較類似 。

此工作流程應在測試資料更新時觸發,並且:

  • 使用更新的測試資料來測試基準模型。
  • 使用更新的資料來儲存測試輸出,其中包含基準模型的 WER。
  • 這些測試的 WER 將會成為未來的模型必須超越的新基準 WER。
  • CD 工作流程不會針對測試數據的更新執行。

定型資料更新的 CI 工作流程

定型資料的更新表示自訂模型的更新。

此工作流程應會觸發對定型資料的更新,以及:

  • 使用更新的定型資料來定型新模型。
  • 根據測試資料測試新的模型。
  • 儲存測試輸出,其中包含 WER。
  • 比較新模型的 WER 與基準模型的 WER。
  • 如果 WER 未改善,請停止工作流程。
  • 如果 WER 改善,請執行 CD 工作流程來建立自訂語音端點。

CD 工作流程

在定型資料的更新改善模型的辨識度之後,CD 工作流程應會自動執行以建立該模型的新端點,並使該端點可供使用,以便用於解決方案中。

版本管理

大多數的小組都需要手動審核和核准流程,才能部署到生產環境。 針對生產環境部署,您可以確保上述流程發生在開發小組中的重要人員可提供支援時或低流量期間。

自訂語音工作流程的工具

針對自訂語音使用 CI/CD 自動化工作流程的下列工具:

  • Azure CLI,用以建立 Azure 服務主體驗證、查詢 Azure 訂用帳戶,以及將測試結果儲存在 Azure Blob 中。
  • Azure AI 語音 CLI,可從命令列或自動化工作流程與語音服務互動。

使用 GitHub Actions 自訂語音的 DevOps 解決方案

如需已實作的自定義語音 DevOps 解決方案,請移至 語音 DevOps 範本存放庫。 建立範本的複本,並使用健全的 DevOps 系統開始開發自訂模型,包括使用 GitHub Actions 進行測試、定型和版本控制。 此存放庫提供測試和定型資料範例以協助您進行設定,並說明工作流程。 初始設定之後,請將範例資料取代為您的專案資料。

語音 DevOps 範本存放庫提供基礎結構和詳細的指引:

  • 將範本存放庫複製到您的 GitHub 帳戶,然後建立 Azure 資源和 GitHub Actions CI/CD 工作流程的服務主體
  • 逐步解說「開發內部迴圈」。從功能分支更新定型和測試資料、使用暫時性開發模型來測試變更,以及提出建議和檢閱變更的提取要求。
  • 在提取要求中的定型資料更新為主要時,使用 GitHub Actions CI 工作流程將模型定型。
  • 執行自動化精確度測試,以建立模型的文字錯誤率 (WER)。 將測試結果儲存在 Azure Blob 中。
  • 執行 CD 工作流程,以在 WER 有所改善時建立端點。

下一步