本文介绍如何训练自定义模型,以提高 Microsoft 基础模型中的识别准确度。 即使发布了新的基础模型,自定义语音模型的语音识别准确度和质量也会保持一致。
注意
为自定义语音识别模型使用量和终结点托管付费。 如果基础模型创建于 2023 年 10 月 1 日及之后,则还需要为自定义语音识别模型训练付费。 如果基础模型是在 2023 年 10 月之前创建的,则无需支付训练费用。 有关详细信息,请参阅语音到文本 3.2 迁移指南中的Azure 语音定价和适应费用部分。
训练模型通常是一个迭代过程。 首先选择一个基本模型,该模型是新模型的起点。 你需要使用可包含文本和音频的数据集来训练模型,然后进行测试。 如果识别质量或准确度不符合要求,可以使用更多或修改后的训练数据创建新的模型,然后再次进行测试。
在训练自定义模型后,可以在有限时间内使用该模型。 你必须定期从最新的基本模型重新创建和调整自定义模型,以充分利用改进的准确性和质量。 有关详细信息,请参阅模型和终结点生命周期。
上传训练数据集后,请按以下说明开始训练模型:
你可以将模型复制到使用相同区域设置的另一个项目。
按照以下说明将模型复制到另一个区域的项目中:
- 登录 Speech Studio。
- 选择“自定义语音识别”> 你的项目名称 >“训练自定义模型”。
- 选择“复制到”。
- 在“复制语音模型”页上,选择要复制模型的目标区域。
- 选择目标区域中的语音 AI 服务资源,或创建新的语音资源。
- 选择要在其中复制模型的项目,或创建一个新项目。
- 选择“复制”。
成功复制模型后,你将收到通知,并可在目标项目中查看它。
在继续作之前,请确保已安装并配置 语音 CLI 。
语音 CLI 不支持将模型直接复制到另一个区域中的项目。 可以使用 Speech Studio 或语音转文本 REST API 将模型复制到另一个区域的项目中。
使用 语音转文本 REST API v3.2 将模型复制到另一个语音资源需要执行两个步骤:
- 授权在目标语音资源上进行复制。
- 从源语音资源复制模型。
步骤 1:授权复制
对目标语音资源调用Models_AuthorizeCopy操作。 在请求正文中,将 sourceResourceId 属性设置为模型当前所在的 source 的 Azure 资源 ID。
将 YourTargetSpeechResourceKey 替换为目标资源键,将 YourTargetServiceRegion 替换为目标资源区域。
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourTargetSpeechResourceKey" -H "Content-Type: application/json" -d '{
"sourceResourceId": "/subscriptions/YourSourceSubscriptionId/resourceGroups/YourSourceResourceGroup/providers/Microsoft.CognitiveServices/accounts/YourSourceSpeechResourceName"
}' "https://YourTargetServiceRegion.api.cognitive.azure.cn/speechtotext/v3.2/models:authorizecopy"
你会收到 ModelCopyAuthorization 以下格式的响应:
{
"targetResourceRegion": "chinanorth2",
"targetResourceId": "/subscriptions/targetSubscriptionId/resourceGroups/targetResourceGroupName/providers/Microsoft.CognitiveServices/accounts/targetSpeechResourceName",
"targetResourceEndpoint": "https://api.cognitive.azure.cn/speechtotext/v3.2/models",
"sourceResourceId": "/subscriptions/sourceSubscriptionId/resourceGroups/sourceResourceGroupName/providers/Microsoft.CognitiveServices/accounts/sourceSpeechResourceName",
"expirationDateTime": "2025-01-07T11:34:12Z",
"id": "d61573c6-788b-4eff-b3f5-38a1c7a9585b"
}
保存整个响应正文。 在下一步中,将其作为请求的正文传递。
步骤 2:复制模型
对源语音资源调用Models_Copy操作。 将步骤 1 的完整 ModelCopyAuthorization 响应作为请求正文传递。
将 YourModelId 替换为模型 ID,YourSourceSpeechResourceKey 替换为源资源密钥,YourSourceServiceRegion 替换为源资源区域。
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSourceSpeechResourceKey" -H "Content-Type: application/json" -d '{
"targetResourceRegion": "chinanorth2",
"targetResourceId": "/subscriptions/targetSubscriptionId/resourceGroups/targetResourceGroupName/providers/Microsoft.CognitiveServices/accounts/targetSpeechResourceName",
"targetResourceEndpoint": "https://api.cognitive.azure.cn/speechtotext/v3.2/models",
"sourceResourceId": "/subscriptions/sourceSubscriptionId/resourceGroups/sourceResourceGroupName/providers/Microsoft.CognitiveServices/accounts/sourceSpeechResourceName",
"expirationDateTime": "2025-01-07T11:34:12Z",
"id": "d61573c6-788b-4eff-b3f5-38a1c7a9585b"
}' "https://YourSourceServiceRegion.api.cognitive.azure.cn/speechtotext/v3.2/models/YourModelId:copy"
您将收到一个202 Accepted响应,其中包含一个Operation-Location标头,可用于跟踪复制状态。 响应正文包含操作详细信息:
{
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/operations/models/copy/e30f6a27-82be-4cca-9258-0399c70489ff",
"createdDateTime": "2025-01-07T11:34:12Z",
"lastActionDateTime": "2025-01-07T11:34:12Z",
"status": "NotStarted",
"id": "e30f6a27-82be-4cca-9258-0399c70489ff"
}
注意
复制授权仅在步骤 1 返回expirationDateTime 之前有效。 在授权过期之前启动复制。
连接模型
模型可能是使用语音 CLI 或 REST API 从一个项目中复制的,而没有连接到另一个项目。 连接模型就是使用对项目的引用来更新模型。
如果在 Speech Studio 中出现提示,可以通过选择“连接”按钮来连接它们。
在继续作之前,请确保已安装并配置 语音 CLI 。
若要将模型连接到项目,请使用 spx csr model update 命令。 根据以下说明构造请求参数:
- 将
project属性设置为现有项目的 ID。 建议使用此属性project,以便还可以在 Speech Studio 中管理自定义语音的微调。 若要获取项目 ID,请参阅 获取 REST API 文档的项目 ID 。 - 将所需
modelId属性设置为要连接到项目的模型的 ID。
下面是将模型连接到项目的示例语音 CLI 命令:
spx csr model update --api-version v3.2 --model YourModelId --project YourProjectId
重要
必须设置 --api-version v3.2。 语音 CLI 使用 REST API,但尚不支持晚于 v3.2版本。
您应该收到以下格式的响应正文:
{
"project": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/projects/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
}
对于模型的语音 CLI 帮助,请运行以下命令:
spx help csr model
若要将新模型连接到复制了模型的语音资源项目,请使用语音转文本 REST API 的 Models_Update 操作。 根据以下说明构造请求正文:
- 将所需的
project属性设置为现有项目的 URI。 建议使用此属性,以便还可以在 Speech Studio 中查看和管理模型。 若要获取项目 ID,请参阅 获取 REST API 文档的项目 ID 。
使用 URI 发出 HTTP PATCH 请求,如以下示例所示。 使用新模型的 URI。 可以从 self 响应正文的 属性获取新模型 ID。 将 YourSpeechResoureKey 替换为语音资源密钥,将 YourServiceRegion 替换为语音资源区域,并按前面所述设置请求正文属性。
curl -v -X PATCH -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey" -H "Content-Type: application/json" -d '{
"project": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/projects/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
}' "https://YourServiceRegion.api.cognitive.azure.cn/speechtotext/v3.2/models"
您应该收到以下格式的响应正文:
{
"project": {
"self": "https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.2/projects/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
}