Compartilhar via


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. Também será cobrado o treinamento de modelo de fala personalizada se o modelo base tiver sido criado em 1º de outubro de 2023 ou posteriormente. Não há cobrança pelo treinamento se o modelo base tiver sido criado antes de outubro de 2023. Para mais informações, confira o preço da Fala de IA do Azure e a Seção de cobrança por adaptação no guia de migração de conversão de fala em texto 3.2.

O treinamento de um modelo é, geralmente, 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, selecione um recurso de serviço em uma região com hardware dedicado para treinar dados de áudio. Depois que um modelo for treinado, você poderá copiá-lo para um recurso do AI Foundry para 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

Dica

Traga seus modelos de fala personalizados do Speech Studio para o portal do Azure AI Foundry. No portal do Azure AI Foundry, você pode continuar de onde parou conectando-se ao recurso de Fala existente. Para obter mais informações sobre como se conectar a um recurso de Fala existente, consulte Conectar-se a um recurso de Fala existente.

  1. Entre no portal da Fábrica de IA do Azure.

  2. Selecione Ajuste fino no painel esquerdo e selecione Ajuste fino do Serviço de IA.

  3. Selecione a tarefa de ajuste fino de fala personalizada (por nome do modelo) que você iniciou conforme descrito no artigo sobre como iniciar o ajuste fino de fala personalizada.

  4. Selecione Modelo de trem>+ Modelo de trem.

    Captura de tela da página com uma opção para iniciar o treinamento para um modelo de fala personalizado.

  5. No assistente Treinar um novo modelo, selecione o modelo base que você deseja ajustar. Em seguida, selecione Avançar.

    Captura de tela da página com uma opção para selecionar o modelo base que você deseja ajustar.

  6. Selecione os dados que você deseja usar para treinamento. Em seguida, selecione Avançar.

  7. Insira um nome e uma descrição para o modelo. Em seguida, selecione Avançar.

  8. Examine as configurações e selecione Treinar um novo modelo. Você é levado de volta para a página Treinar modelo. O status dos dados é Processamento.

    Captura de tela da página que mostra o status do treinamento como processamento.

Depois de carregar conjuntos de dados de treinamento, siga estas instruções para começar a treinar seu modelo:

  1. Entre no Speech Studio.

  2. Selecione Fala personalizada> Nome do projeto >Treinar modelos personalizados.

  3. Selecione Treinar um novo modelo.

  4. 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.

  5. 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 vá para o menu Conjuntos de dados de fala para carregar conjuntos de dados.

  6. Insira um nome e uma descrição para seu modelo personalizado e selecione Avançar.

  7. 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.

  8. Selecione Salvar e fechar para iniciar a compilação do modelo personalizado.

  9. 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.

Antes de continuar, verifique se você tem a CLI de Fala instalada e configurada.

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 a project propriedade como a ID de um projeto existente. A propriedade project é recomendada para que você também possa gerenciar o ajuste fino para fala personalizada no Portal da Fábrica de IA do Azure. Para obter a ID do projeto, consulte Obter a ID do projeto para a documentação da API REST .
  • Defina a propriedade necessária dataset para a ID de um conjunto de dados que você deseja usar para treinamento. Para especificar vários conjuntos de dados, defina o parâmetro datasets (plural) e separe as IDs com um ponto e vírgula.
  • Defina a propriedade language necessária. A localidade do conjunto de dados deve corresponder à localidade do projeto. A localidade não poderá ser alterada posteriormente. A propriedade language da CLI de Fala corresponde à propriedade locale na solicitação e na resposta JSON.
  • Defina a propriedade name necessária. Esse parâmetro é o nome exibido no portal do Azure AI Foundry. A propriedade name da CLI de Fala corresponde à propriedade displayName na solicitação e na resposta JSON.
  • Opcionalmente, defina a propriedade base. Por exemplo: --base bbbbcccc-1111-dddd-2222-eeee3333ffff. Se você não especificar base, o modelo base padrão da localidade será usado. A propriedade base da CLI de Fala corresponde à propriedade baseModel 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"

Importante

Você deve definir --api-version v3.2. A CLI de Fala usa a API REST, mas ainda não dá suporte a versões posteriores v3.2.

Você deve receber um corpo de resposta no seguinte formato:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/aaaabbbb-0000-cccc-1111-dddd2222eeee",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/bbbbcccc-1111-dddd-2222-eeee3333ffff"
  },
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/ccccdddd-2222-eeee-3333-ffff4444aaaa"
    }
  ],
  "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/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
  },
  "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. Construa o corpo da solicitação de acordo com as seguintes instruções:

  • Defina a propriedade project como o URI de um projeto existente. Essa propriedade é recomendada para que você também possa exibir e gerenciar o modelo no portal do Azure AI Foundry. Para obter a ID do projeto, consulte Obter a ID do projeto para a documentação da API REST .
  • Defina a propriedade datasets obrigatória como o URI dos conjuntos de dados que você deseja usar para o treinamento.
  • Defina a propriedade locale necessária. A localidade do modelo deve corresponder à localidade do projeto e do modelo base. A localidade não poderá ser alterada posteriormente.
  • Defina a propriedade displayName necessária. Essa propriedade é o nome exibido no portal do Azure AI Foundry.
  • Opcionalmente, defina a propriedade baseModel. Por exemplo: "baseModel": {"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/bbbbcccc-1111-dddd-2222-eeee3333ffff"}. Se você não especificar baseModel, 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 YourSpeechResoureKey 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: YourSpeechResoureKey" -H "Content-Type: application/json" -d '{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
  },
  "displayName": "My Model",
  "description": "My Model Description",
  "baseModel": null,
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/ccccdddd-2222-eeee-3333-ffff4444aaaa"
    }
  ],
  "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/aaaabbbb-0000-cccc-1111-dddd2222eeee",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/bbbbcccc-1111-dddd-2222-eeee3333ffff"
  },
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/ccccdddd-2222-eeee-3333-ffff4444aaaa"
    }
  ],
  "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/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
  },
  "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, você pode copiá-lo para um recurso do AI Foundry para Fala em outra região, conforme necessário.

Siga estas instruções para copiar um modelo para um projeto em outra região:

  1. Entre no Speech Studio.
  2. Selecione Fala personalizada> Nome do projeto >Treinar modelos personalizados.
  3. Clique em Copiar para.
  4. Na página Copiar modelo de fala, selecione uma região de destino na qual copiar o modelo. Captura de tela de uma lista de frases aplicada no Speech Studio.
  5. Selecione um recurso do AI Foundry para Fala na região de destino ou crie um novo recurso de Fala.
  6. Selecione um projeto em que você deseja copiar o modelo ou crie um novo.
  7. Selecione Copiar.

Depois de copiar o modelo, você será notificado e poderá exibi-lo no projeto de destino.

Antes de continuar, verifique se você tem a CLI de Fala instalada e configurada.

Não há suporte para copiar um modelo diretamente para um projeto em outra região com a CLI de Fala. Você pode copiar um modelo para um projeto em outra região usando o portal do Azure AI Foundry, o Speech Studio ou a API REST de fala para texto.

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. Construa 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, YourSpeechResoureKey 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: YourSpeechResoureKey" -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/eeeeffff-4444-aaaa-5555-bbbb6666cccc",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/ffffaaaa-5555-bbbb-6666-cccc7777dddd"
  },
  "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.

Captura de tela da página de treinamento de conexão mostrando modelos que podem ser conectados ao projeto atual.

Antes de continuar, verifique se você tem a CLI de Fala instalada e configurada.

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:

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

Importante

Você deve definir --api-version v3.2. A CLI de Fala usa a API REST, mas ainda não dá suporte a versões posteriores v3.2.

Você deve receber um corpo de resposta no seguinte formato:

{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
  },
}

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. Construa o corpo da solicitação de acordo com as seguintes instruções:

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 YourSpeechResoureKey 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: YourSpeechResoureKey" -H "Content-Type: application/json" -d '{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
  },
}'  "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/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
  },
}

Próximas etapas