Treinar um modelo de fala personalizada
Neste artigo, você aprenderá a treinar um modelo personalizado para melhorar a precisão do reconhecimento do modelo base da Microsoft. A precisão e a qualidade do reconhecimento de fala de um modelo de fala personalizada permanecem consistentes, mesmo quando um novo modelo base é lançado.
Observação
Você paga pelo uso personalizado do modelo de fala e pela hospedagem do ponto de extremidade. Você também será cobrado pelo treinamento do modelo de fala personalizada se o modelo base tiver sido criado em 1º de outubro de 2023 e posteriormente. Você não será cobrado pelo treinamento se o modelo base tiver sido criado antes de outubro de 2023. Para obter mais informações, consulte Preços de Fala de IA do Azure e a seção Cobrança pela adaptação no guia de migração de conversão de fala em texto 3.2.
O treinamento de um modelo costumar ser um processo iterativo. Primeiro, selecione um modelo base que seja o ponto de partida para um novo modelo. Você treina um modelo com conjuntos de dados que podem incluir textos e áudios e, em seguida, você o testa. Se a qualidade ou a precisão do reconhecimento não atender aos seus requisitos, você poderá criar um novo modelo com mais dados de treinamento em maior quantidade ou mais modificados e testar novamente.
Você pode usar um modelo personalizado por um tempo limitado depois que ele foi treinado. Você deve recriar e adaptar periodicamente seu modelo personalizado com o modelo base mais recente para aproveitar a precisão e a qualidade aprimoradas. Para saber mais, confira Ciclo de vida do modelo e do ponto de extremidade.
Importante
Se você treinar um modelo personalizado com dados de áudio, escolha uma região de recursos de Fala com hardware dedicado para treinar dados de áudio. Depois que um modelo é treinado, é possível copiá-lo para um recurso de Fala em outra região, conforme necessário.
Em regiões com hardware dedicado para treinamento de fala personalizado, o serviço de Fala usará até 100 horas de seus dados de treinamento de áudio e poderá processar cerca de 10 horas de dados por dia. Confira as notas de rodapé na tabela regiões para mais informações.
Criar um modelo
Depois de carregar conjuntos de dados de treinamento, siga estas instruções para começar a treinar seu modelo:
Entre no Speech Studio.
Selecione Fala personalizada> Nome do projeto >Treinar modelos personalizados.
Selecione Treinar um novo modelo.
Na página Selecionar um modelo de linha de base, selecione um modelo base e selecione Avançar. Se você não tiver certeza, selecione o modelo mais recente na parte superior da lista. O nome do modelo base corresponde à data em que ele foi lançado no formato AAAAMMDD. Os recursos de personalização do modelo base são listados entre parênteses após o nome do modelo no Speech Studio.
Importante
Anote a data da Expiração para adaptação. Esta é a última data em que você pode usar o modelo base para treinamento. Para saber mais, confira Ciclo de vida do modelo e do ponto de extremidade.
Na página Escolher dados, selecione um ou mais conjuntos de dados que deseja usar para treinamento. Se não houver conjuntos de dados disponíveis, cancele a instalação e acesse o menu Conjuntos de dados de Fala para carregar os conjuntos de dados.
Insira um nome e uma descrição para seu modelo personalizado e selecione Avançar.
Opcionalmente, marque a caixa Adicionar teste na próxima etapa. Se você ignorar esta etapa, poderá executar os mesmos testes posteriormente. Para obter mais informações, confira Testar qualidade do reconhecimento e Testar modelo quantitativamente.
Selecione Salvar e fechar para iniciar a compilação do modelo personalizado.
Retorne à página Treinar modelos personalizados.
Importante
Anote a data de Validade. Esta é a última data em que você pode usar seu modelo personalizado para reconhecimento de fala. Para saber mais, confira Ciclo de vida do modelo e do ponto de extremidade.
Para criar um modelo com conjuntos de dados para treinamento, use o comando spx csr model create
. Crie os parâmetros de solicitação de acordo com as seguintes instruções:
- Defina o parâmetro
project
como a ID de um projeto existente. Este parâmetro é recomendado para que você também possa exibir e gerenciar o modelo no Speech Studio. É possível executar o comandospx csr project list
para obter os projetos disponíveis. - Defina o parâmetro
dataset
obrigatório para a ID de um conjunto de dados que você deseja usar para o treinamento. Para especificar vários conjuntos de dados, defina o parâmetrodatasets
(plural) e separe as IDs com um ponto e vírgula. - Defina o parâmetro
language
obrigatório. A localidade do conjunto de dados deve corresponder à localidade do projeto. Ela não poderá ser alterada posteriormente. O parâmetrolanguage
da CLI de Fala corresponde à propriedadelocale
na solicitação e resposta JSON. - Defina o parâmetro
name
necessário. Esse parâmetro é o nome que é exibido no Speech Studio. O parâmetroname
da CLI de Fala corresponde à propriedadedisplayName
na solicitação e na resposta JSON. - Opcionalmente, defina a propriedade
base
. Por exemplo:--base 5988d691-0893-472c-851e-8e36a0fe7aaf
. Se você não especificarbase
, o modelo base padrão da localidade será usado. O parâmetrobase
da CLI de Fala corresponde à propriedadebaseModel
na solicitação e na resposta JSON.
Veja um exemplo de comando da CLI de Fala que cria um modelo com conjuntos de dados para treinamento:
spx csr model create --api-version v3.2 --project YourProjectId --name "My Model" --description "My Model Description" --dataset YourDatasetId --language "en-US"
Observação
Neste exemplo, base
não está definido, portanto, o modelo base padrão da localidade é usado. O URI do modelo base é retornado na resposta.
Você deve receber um corpo de resposta no seguinte formato:
{
"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"
}
Importante
Anote a data na propriedade adaptationDateTime
. Esta é a última data em que você pode usar o modelo base para treinamento. Para saber mais, confira Ciclo de vida do modelo e do ponto de extremidade.
Anote a data na propriedade transcriptionDateTime
. Esta é a última data em que você pode usar seu modelo personalizado para reconhecimento de fala. Para saber mais, confira Ciclo de vida do modelo e do ponto de extremidade.
A propriedade self
de nível superior no corpo da resposta é o URI do modelo. Use esse URI para obter detalhes sobre as datas de projeto, manifesto e substituição do modelo. Esse URI também pode ser usado para atualizar ou excluir um modelo.
Para obter a ajuda da CLI de Fala com modelos, execute o seguinte comando:
spx help csr model
Para criar um modelo com conjuntos de dados para treinamento, use a operação Models_Create da API REST de reconhecimento de fala. Crie o corpo da solicitação de acordo com as seguintes instruções:
- Defina a propriedade
project
como o URI de um projeto existente. Esta propriedade é recomendada para que você também possa exibir e gerenciar o modelo no Speech Studio. É possível fazer uma solicitação Projects_List para obter os projetos disponíveis. - Defina a propriedade
datasets
obrigatória como o URI dos conjuntos de dados que você deseja usar para o treinamento. - Defina a propriedade
locale
obrigatória. A localidade do modelo deve corresponder à localidade do projeto e do modelo base. Ela não poderá ser alterada posteriormente. - Defina a propriedade
displayName
obrigatória. Essa propriedade é o nome que é exibido no Speech Studio. - Opcionalmente, defina a propriedade
baseModel
. Por exemplo:"baseModel": {"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"}
. Se você não especificarbaseModel
, o modelo base padrão da localidade será usado.
Faça uma solicitação HTTP POST usando o URI, conforme mostrado no exemplo a seguir. Substitua YourSubscriptionKey
pela chave de recurso de Fala, YourServiceRegion
pela região do recurso de Fala e defina as propriedades do corpo da solicitação, conforme descrito anteriormente.
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"
Observação
Neste exemplo, baseModel
não está definido, portanto, o modelo base padrão da localidade é usado. O URI do modelo base é retornado na resposta.
Você deve receber um corpo de resposta no seguinte formato:
{
"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"
}
Importante
Anote a data na propriedade adaptationDateTime
. Esta é a última data em que você pode usar o modelo base para treinamento. Para saber mais, confira Ciclo de vida do modelo e do ponto de extremidade.
Anote a data na propriedade transcriptionDateTime
. Esta é a última data em que você pode usar seu modelo personalizado para reconhecimento de fala. Para saber mais, confira Ciclo de vida do modelo e do ponto de extremidade.
A propriedade self
de nível superior no corpo da resposta é o URI do modelo. Use esse URI para obter detalhes sobre as datas de projeto, manifesto e substituição do modelo. Esse URI também pode ser usado para atualizar ou excluir o modelo.
Copiar um modelo
É possível copiar um modelo para outro projeto que usa a mesma localidade. Por exemplo, depois que um modelo é treinado com dados de áudio em uma região com hardware dedicado para treinamento, é possível copiá-lo para um recurso de Fala em outra região, conforme necessário.
Siga estas instruções para copiar um modelo para um projeto em outra região:
- Entre no Speech Studio.
- Selecione Fala personalizada> Nome do projeto >Treinar modelos personalizados.
- Clique em Copiar para.
- Na página Copiar modelo de fala, selecione uma região de destino na qual copiar o modelo.
- Selecione um recurso de Fala na região de destino ou crie um novo.
- Selecione um projeto em que você deseja copiar o modelo ou crie um novo.
- Selecione Copiar.
Depois de copiar o modelo, você será notificado e poderá exibi-lo no projeto de destino.
Não há suporte para copiar um modelo diretamente para um projeto em outra região com a CLI de Fala. É possível copiar um modelo para um projeto em outra região usando o Speech Studio ou a API REST de reconhecimento de fala.
Para copiar um modelo para outro recurso de Fala, use a operação Models_Copy da Conversão de fala em texto da API REST. Crie o corpo da solicitação de acordo com as seguintes instruções:
- Defina a propriedade
targetSubscriptionKey
obrigatória como a chave do recurso de Fala de destino.
Faça uma solicitação HTTP POST usando o URI, conforme mostrado no exemplo a seguir. Use a região e o URI do modelo do qual você deseja copiar. Substitua YourModelId
pela ID do modelo, YourSubscriptionKey
pela chave do recurso de Fala, YourServiceRegion
pela região do recurso de Fala e defina as propriedades do corpo da solicitação, conforme descrito anteriormente.
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"
Observação
Somente a propriedade targetSubscriptionKey
no corpo da solicitação tem informações sobre o recurso de Fala de destino.
Você deve receber um corpo de resposta no seguinte formato:
{
"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"
}
}
Conectar um modelo
Os modelos podem ser copiados de um projeto usando a CLI de Fala ou a API REST sem que sejam conectados a outro. Conectar um modelo é uma questão de atualizá-lo com uma referência ao projeto.
Se você for solicitado pelo Speech Studio, conecte-os selecionando o botão Conectar.
Para conectar um modelo a um projeto, use o comando spx csr model update
. Crie os parâmetros de solicitação de acordo com as seguintes instruções:
- Defina o parâmetro
project
como o URI de um projeto existente. Este parâmetro é recomendado para que você também possa exibir e gerenciar o modelo no Speech Studio. É possível executar o comandospx csr project list
para obter os projetos disponíveis. - Defina o parâmetro
modelId
obrigatório como a ID do modelo que você deseja conectar ao projeto.
Veja um exemplo de comando da CLI de Fala que conecta um modelo a um projeto:
spx csr model update --api-version v3.2 --model YourModelId --project YourProjectId
Você deve receber um corpo de resposta no seguinte formato:
{
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
}
Para obter a ajuda da CLI de Fala com modelos, execute o seguinte comando:
spx help csr model
Para conectar um novo modelo a um projeto do recurso de Fala em que o modelo foi copiado, use a operação Models_Update da API REST de reconhecimento de fala. Crie o corpo da solicitação de acordo com as seguintes instruções:
- Defina a propriedade
project
obrigatória como o URI de um projeto existente. Esta propriedade é recomendada para que você também possa exibir e gerenciar o modelo no Speech Studio. É possível fazer uma solicitação Projects_List para obter os projetos disponíveis.
Faça uma solicitação HTTP PATCH usando o URI, conforme mostrado no exemplo a seguir. Use o URI do novo modelo. Você pode obter a nova ID do modelo da propriedade self
do corpo da resposta Models_Copy. Substitua YourSubscriptionKey
pela chave de recurso de Fala, YourServiceRegion
pela região do recurso de Fala e defina as propriedades do corpo da solicitação, conforme descrito anteriormente.
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"
Você deve receber um corpo de resposta no seguinte formato:
{
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
}