共用方式為


訓練自訂語音模型

在本文中,您將了解如何定型自訂模型,以改善 Microsoft 基底模型的辨識精確度。 即使在釋出新的基底模型時,自訂語音模型的語音辨識精確度和品質仍會保持一致。

注意

會根據自訂語音模型使用量和端點託管向您收取費用。 如果基底模型是在 2023 年 10 月 1 日及以後建立的,則還會向您收取自訂語音模型訓練的費用。 如果基底模型是在 2023 年 10 月之前建立的,則不會向您收取訓練費用。 如需詳細資訊,請參閱 Azure AI 語音價格語音轉換文字 3.2 遷移指南中的採用價格部分

一般來說,為模型定型是一種會反覆進行的程序。 您首先選取基底模型,這是新模型的起點。 您會使用可以包含文字和音訊的資料集來定型模型,然後進行測試。 如果辨識品質或精確度不符合您的需求,您可以使用更多或已修改的訓練資料建立新模型,然後再次測試。

在訓練自訂模型之後,您可以使用該模型一段有限時間。 您必須從最新的基底模型定期重新建立自訂模型並進行調整,以善用改善的精確度和品質。 如需詳細資訊,請參閱模型和端點生命週期

重要

若您要使用音訊資料來定型自訂模型,請選擇具有專用硬體的語音資源區域來定型音訊資料。 在定型模型之後,您可以視需求將其複製到另一個區域中的語音資源

在具有自訂語音訓練專用硬體的區域中,語音服務最多將使用 100 小時的音訊訓練資料,且每天可處理大約 10 小時的資料。 如需詳細資訊,請參閱區域資料表中的註腳。

建立模型

上傳訓練資料集之後,請遵循下列指示以開始定型您的模型:

  1. 登入 Speech Studio

  2. 選取 [自訂語音]>您的專案名稱 >[訓練自訂模型]

  3. 選取 [定型新的模型]

  4. 在 [選取基準模型] 頁面上,選取基底模型,然後選取 [下一步]。 如果不確定,請從清單頂端選取最新的模型。 基底模型的名稱會對應至其發行的日期,格式為 YYYYMMDD。 基底模型的自訂功能會列在 Speech Studio 中模型名稱之後的括弧中。

    重要

    記下調整到期日。 這是您可以使用基底模型進行定型的最後一天。 如需詳細資訊,請參閱模型和端點生命週期

  5. 在 [選擇資料] 頁面上,選取您要用於定型的一或多個資料集。 如果沒有可用的資料集,請取消設定,然後移至 [語音資料集] 功能表以上傳資料集

  6. 輸入自訂模型的名稱和描述,然後選取 [下一步]

  7. 可以選擇性地核取 [在下一個步驟中新增測試] 方塊。 如果略過此步驟,您可以稍後執行相同的測試。 如需詳細資訊,請參閱測試辨識品質以量化方式測試模型

  8. 選取 [儲存並關閉] 以啟動自訂模型的建置。

  9. 返回 [定型自訂模型] 頁面。

    重要

    記下到期日。 這是您可以使用自訂模型進行語音辨識的最後一天。 如需詳細資訊,請參閱模型和端點生命週期

若要使用資料集建立模型以進行定型,請使用 spx csr model create 命令。 根據下列指示來建構要求參數:

  • project 參數設定為現有專案的識別碼。 建議此參數,如此您也可在 Speech Studio 中檢視和管理模型。 您可以執行 spx csr project list 命令來取得可用的專案。
  • 將必要 dataset 參數設定為您想要用於定型的資料集識別碼。 若要指定多個資料集,請設定 datasets (複數) 參數,並以分號分隔識別碼。
  • 設定必要的 language 參數。 資料集地區設定必須符合專案的地區設定。 稍後無法變更此地區設定。 語音 CLI language 參數會對應至 JSON 要求和回應中的 locale 屬性。
  • 設定必要的 name 參數。 此參數是顯示在 Speech Studio 中的名稱。 語音 CLI name 參數會對應至 JSON 要求和回應中的 displayName 屬性。
  • 您可以選擇性地設定 base 屬性。 例如: --base 5988d691-0893-472c-851e-8e36a0fe7aaf 。 如果未指定 base,則會使用地區設定的預設基底模型。 語音 CLI base 參數會對應至 JSON 要求和回應中的 baseModel 屬性。

以下是使用資料集建立模型以進行定型的範例語音 CLI 命令:

spx csr model create --api-version v3.2 --project YourProjectId --name "My Model" --description "My Model Description" --dataset YourDatasetId --language "en-US"

注意

在此範例中,未設定 base,因此會使用地區設定的預設基底模型。 基底模型 URI 會在回應中傳回。

您應該會收到下列格式的回應本文:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
  },
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
    }
  ],
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd/manifest",
    "copy": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd:copy",
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd/files"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
  "properties": {
    "deprecationDates": {
      "transcriptionDateTime": "2026-07-15T00:00:00Z"
    },
    "customModelWeightPercent": 30,
    "features": {
      "supportsTranscriptions": true,
      "supportsEndpoints": true,
      "supportsTranscriptionsOnSpeechContainers": false,
      "supportedOutputFormats": [
        "Display",
        "Lexical"
      ]
    }
  },
  "lastActionDateTime": "2024-07-14T21:38:40Z",
  "status": "Running",
  "createdDateTime": "2024-07-14T21:38:40Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description"
}

重要

記下 adaptationDateTime 屬性中的日期。 這是您可以使用基底模型進行定型的最後一天。 如需詳細資訊,請參閱模型和端點生命週期

記下 transcriptionDateTime 屬性中的日期。 這是您可以使用自訂模型進行語音辨識的最後一天。 如需詳細資訊,請參閱模型和端點生命週期

回應本文中最上層 self 屬性是模型的 URI。 使用此 URI 來取得模型專案、資訊清單和淘汰日期的詳細資料。 您也會使用此 URI 來更新或刪除模型。

如需在模型使用語音 CLI 的說明,請執行下列命令:

spx help csr model

若要使用資料集建立模型以進行定型,請使用語音轉換文字 REST APIModels_Create 作業。 根據下列指示來建構要求本文:

  • project 屬性設定為現有專案的 URI。 建議此屬性,這樣一來,您也可以在 Speech Studio 中檢視和管理模型。 您可以提出 Projects_List 要求以取得可用的專案。
  • 將必要 datasets 屬性設定為您想要用於定型的資料集 URI。
  • 設定必要的 locale 屬性。 模型地區設定必須符合專案和基底模型的地區設定。 稍後無法變更此地區設定。
  • 設定必要的 displayName 屬性。 此屬性是顯示在 Speech Studio 中的名稱。
  • 您可以選擇性地設定 baseModel 屬性。 例如: "baseModel": {"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"} 。 如果未指定 baseModel,則會使用地區設定的預設基底模型。

使用 URI 提出 HTTP POST 要求,如下列範例所示。 以您的語音資源金鑰取代 YourSubscriptionKey、以您的語音資源區域取代 YourServiceRegion,並設定要求本文屬性,如前所述。

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
  "displayName": "My Model",
  "description": "My Model Description",
  "baseModel": null,
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
    }
  ],
  "locale": "en-US"
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/models"

注意

在此範例中,未設定 baseModel,因此會使用地區設定的預設基底模型。 基底模型 URI 會在回應中傳回。

您應該會收到下列格式的回應本文:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
  },
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
    }
  ],
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd/manifest",
    "copy": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd:copy",
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd/files"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
  "properties": {
    "deprecationDates": {
      "transcriptionDateTime": "2026-07-15T00:00:00Z"
    },
    "customModelWeightPercent": 30,
    "features": {
      "supportsTranscriptions": true,
      "supportsEndpoints": true,
      "supportsTranscriptionsOnSpeechContainers": false,
      "supportedOutputFormats": [
        "Display",
        "Lexical"
      ]
    }
  },
  "lastActionDateTime": "2024-07-14T21:38:40Z",
  "status": "Running",
  "createdDateTime": "2024-07-14T21:38:40Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description"
}

重要

記下 adaptationDateTime 屬性中的日期。 這是您可以使用基底模型進行定型的最後一天。 如需詳細資訊,請參閱模型和端點生命週期

記下 transcriptionDateTime 屬性中的日期。 這是您可以使用自訂模型進行語音辨識的最後一天。 如需詳細資訊,請參閱模型和端點生命週期

回應本文中最上層 self 屬性是模型的 URI。 使用此 URI 來取得模型專案、資訊清單和淘汰日期的詳細資料。 您也可以使用此 URI 來更新刪除模型。

複製模型

您可以將模型複製到使用相同地區設定的另一個專案。 例如,在具有專用硬體進行定型的區域中,使用音訊資料定型之後,您可以視需要將其複製到另一個區域的語音資源。

請遵循下列指示,將模型複製到另一個區域中的專案:

  1. 登入 Speech Studio
  2. 選取 [自訂語音]>您的專案名稱 >[訓練自訂模型]
  3. 選取 [複製到]
  4. 在 [複製語音模型] 頁面上,選取您要複製模型的目標區域。 在 Speech Studio 套用片語清單的螢幕擷取畫面。
  5. 選取目標區域中的語音資源,或建立新的語音資源。
  6. 選取您要在其中複製模型的專案,或建立新的專案。
  7. 請選取複製

在成功複製模型之後,您會收到通知,而且可以在目標專案中檢視該模型。

語音 CLI 不支援直接將模型複製到另一個區域中的專案。 您可以使用 Speech Studio語音轉換文字 REST API,將模型複製到另一個區域中的專案。

若要將模型複製到另一個語音資源,請使用語音轉換文字 REST APIModels_Copy 作業。 根據下列指示來建構要求本文:

  • 將必要的 targetSubscriptionKey 屬性設定為目的地語音資源的金鑰。

使用 URI 提出 HTTP POST 要求,如下列範例所示。 使用您想要從中複製的模型區域和 URI。 將 YourModelId 取代為模型識別碼、將 YourSubscriptionKey 取代為語音資源金鑰、將 YourServiceRegion 取代為語音資源區域,然後設定先前所述的要求本文屬性。

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "targetSubscriptionKey": "ModelDestinationSpeechResourceKey"
} '  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/models/YourModelId:copy"

注意

只有要求本文中的 targetSubscriptionKey 屬性具有目的地語音資源的相關資訊。

您應該會收到下列格式的回應本文:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/eb5450a7-3ca2-461a-b2d7-ddbb3ad96540"
  },
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae/manifest",
    "copy": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae:copy"
  },
  "properties": {
    "deprecationDates": {
      "adaptationDateTime": "2023-01-15T00:00:00Z",
      "transcriptionDateTime": "2024-07-15T00:00:00Z"
    }
  },
  "lastActionDateTime": "2022-05-22T23:15:27Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-22T23:15:27Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description",
  "customProperties": {
    "PortalAPIVersion": "3",
    "Purpose": "",
    "VadKind": "None",
    "ModelClass": "None",
    "UsesHalide": "False",
    "IsDynamicGrammarSupported": "False"
  }
}

連線模型

可能已使用語音 CLI 或 REST API 從某個專案複製模型,而不是連線到另一個專案。 連線模型是使用專案的參考來更新模型的事件。

如果在 Speech Studio 中出現提示,您可以選取 [連線] 按鈕進行連線。

[連線訓練] 頁面的螢幕擷取畫面,其中顯示可以連線至目前專案的模型。

若要將模型連線至專案,請使用 spx csr model update 命令。 根據下列指示來建構要求參數:

  • project 參數設定為現有專案的 URI。 建議此參數,如此您也可在 Speech Studio 中檢視和管理模型。 您可以執行 spx csr project list 命令來取得可用的專案。
  • 將必要的 modelId 參數設定為您要連線至專案的模型識別碼。

以下是將模型連線至專案的範例語音 CLI 命令:

spx csr model update --api-version v3.2 --model YourModelId --project YourProjectId

您應該會收到下列格式的回應本文:

{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
}

如需在模型使用語音 CLI 的說明,請執行下列命令:

spx help csr model

若要將新模型連線至複製模型的語音資源專案 (模型複製所在),請使用語音轉換文字 REST APIModels_Update 作業。 根據下列指示來建構要求本文:

  • 將必要的 project 屬性設定為現有專案的 URI。 建議此屬性,這樣一來,您也可以在 Speech Studio 中檢視和管理模型。 您可以提出 Projects_List 要求以取得可用的專案。

使用 URI 提出 HTTP PATCH 要求,如下列範例所示。 使用新模型的 URI。 您可以從 Models_Copy 回應本文的 self 屬性取得新的模型識別碼。 以您的語音資源金鑰取代 YourSubscriptionKey、以您的語音資源區域取代 YourServiceRegion,並設定要求本文屬性,如前所述。

curl -v -X PATCH -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/models"

您應該會收到下列格式的回應本文:

{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
}

下一步