Een aangepast spraakmodel trainen

In dit artikel leert u hoe u een aangepast model traint om de nauwkeurigheid van herkenning van het Microsoft-basismodel te verbeteren. De nauwkeurigheid en kwaliteit van spraakherkenning van een aangepast spraakmodel blijven consistent, zelfs wanneer er een nieuw basismodel wordt vrijgegeven.

Notitie

U betaalt voor het gebruik van aangepaste spraakmodellen en het hosten van eindpunten. Er worden ook kosten in rekening gebracht voor het trainen van aangepaste spraakmodellen als het basismodel is gemaakt op 1 oktober 2023 en hoger. Er worden geen kosten in rekening gebracht voor training als het basismodel vóór oktober 2023 is gemaakt. Zie de prijzen van Azure AI Speech en de sectie Kosten voor aanpassing in de migratiehandleiding voor spraak naar tekst 3.2 voor meer informatie.

Het trainen van een model is doorgaans een iteratief proces. U selecteert eerst een basismodel dat het startpunt is voor een nieuw model. U traint een model met gegevenssets die tekst en audio kunnen bevatten en vervolgens test. Als de herkenningskwaliteit of nauwkeurigheid niet aan uw vereisten voldoet, kunt u een nieuw model maken met meer of gewijzigde trainingsgegevens en vervolgens opnieuw testen.

U kunt een aangepast model gedurende een beperkte tijd gebruiken nadat het is getraind. U moet uw aangepaste model periodiek opnieuw maken en aanpassen op basis van het nieuwste basismodel om te profiteren van de verbeterde nauwkeurigheid en kwaliteit. Zie model- en eindpuntlevenscyclus voor meer informatie.

Belangrijk

Als u een aangepast model traint met audiogegevens, kiest u een spraakresourceregio met toegewezen hardware voor het trainen van audiogegevens. Nadat een model is getraind, kunt u het naar een spraakresource in een andere regio kopiëren, indien nodig.

In regio's met speciale hardware voor aangepaste spraaktraining gebruikt de Speech-service maximaal 20 uur aan audiotrainingsgegevens en kan deze ongeveer 10 uur aan gegevens per dag verwerken. In andere regio's gebruikt de Speech-service maximaal 8 uur audiogegevens en kan deze ongeveer 1 uur aan gegevens per dag verwerken. Zie voetnoten in de tabel regio's voor meer informatie.

Een model maken

Nadat u trainingsgegevenssets hebt geüpload, volgt u deze instructies om uw model te trainen:

  1. Meld u aan bij Speech Studio.

  2. Selecteer Aangepaste spraak> Uw projectnaam >Aangepaste modellen trainen.

  3. Selecteer Een nieuw model trainen.

  4. Selecteer op de pagina Een basislijnmodel selecteren een basismodel en selecteer vervolgens Volgende. Als u het niet zeker weet, selecteert u het meest recente model bovenaan de lijst. De naam van het basismodel komt overeen met de datum waarop het werd uitgebracht in de JJJJMMDD-indeling. De aanpassingsmogelijkheden van het basismodel worden tussen haakjes weergegeven na de modelnaam in Speech Studio.

    Belangrijk

    Noteer de vervaldatum voor aanpassingsdatum . Dit is de laatste datum waarop u het basismodel kunt gebruiken voor training. Zie model- en eindpuntlevenscyclus voor meer informatie.

  5. Selecteer op de pagina Gegevens kiezen een of meer gegevenssets die u wilt gebruiken voor training. Als er geen gegevenssets beschikbaar zijn, annuleert u de installatie en gaat u naar het menu Spraakgegevenssets om gegevenssets te uploaden.

  6. Voer een naam en beschrijving in voor uw aangepaste model en selecteer vervolgens Volgende.

  7. Schakel desgewenst het selectievakje Test toevoegen in de volgende stap in. Als u deze stap overslaat, kunt u dezelfde tests later uitvoeren. Zie Kwaliteit van testherkenning en testmodel kwantitatief voor meer informatie.

  8. Selecteer Opslaan en sluiten om de build voor uw aangepaste model te starten.

  9. Ga terug naar de pagina Aangepaste modellen trainen.

    Belangrijk

    Noteer de vervaldatum . Dit is de laatste datum waarop u uw aangepaste model kunt gebruiken voor spraakherkenning. Zie model- en eindpuntlevenscyclus voor meer informatie.

Als u een model wilt maken met gegevenssets voor training, gebruikt u de spx csr model create opdracht. Bouw de aanvraagparameters volgens de volgende instructies:

  • Stel de project parameter in op de id van een bestaand project. Deze parameter wordt aanbevolen, zodat u het model ook kunt bekijken en beheren in Speech Studio. U kunt de spx csr project list opdracht uitvoeren om beschikbare projecten op te halen.
  • Stel de vereiste dataset parameter in op de id van een gegevensset die u wilt gebruiken voor training. Als u meerdere gegevenssets wilt opgeven, stelt u de datasets parameter (meervoud) in en scheidt u de id's met een puntkomma.
  • Stel de vereiste language parameter in. De landinstelling van de gegevensset moet overeenkomen met de landinstelling van het project. De landinstelling kan later niet meer worden gewijzigd. De speech CLI-parameter language komt overeen met de locale eigenschap in de JSON-aanvraag en het antwoord.
  • Stel de vereiste name parameter in. Deze parameter is de naam die wordt weergegeven in Speech Studio. De speech CLI-parameter name komt overeen met de displayName eigenschap in de JSON-aanvraag en het antwoord.
  • U kunt de base eigenschap desgewenst instellen. Voorbeeld: --base 1aae1070-7972-47e9-a977-87e3b05c457d. Als u het basemodel niet opgeeft, wordt het standaardbasismodel voor de landinstelling gebruikt. De speech CLI-parameter base komt overeen met de baseModel eigenschap in de JSON-aanvraag en het antwoord.

Hier volgt een voorbeeld van een Speech CLI-opdracht waarmee een model wordt gemaakt met gegevenssets voor training:

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

Notitie

In dit voorbeeld is het base niet ingesteld, dus het standaardbasismodel voor de landinstelling wordt gebruikt. De basismodel-URI wordt geretourneerd in het antwoord.

U ontvangt een antwoordtekst in de volgende indeling:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/69e46263-ab10-4ab4-abbe-62e370104d95"
    }
  ],
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7/manifest",
    "copyTo": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7:copyto"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/5d25e60a-7f4a-4816-afd9-783bb8daccfc"
  },
  "properties": {
    "deprecationDates": {
      "adaptationDateTime": "2023-01-15T00:00:00Z",
      "transcriptionDateTime": "2024-07-15T00:00:00Z"
    }
  },
  "lastActionDateTime": "2022-05-21T13:21:01Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-21T13:21:01Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description"
}

Belangrijk

Noteer de datum in de adaptationDateTime eigenschap. Dit is de laatste datum waarop u het basismodel kunt gebruiken voor training. Zie model- en eindpuntlevenscyclus voor meer informatie.

Noteer de datum in de transcriptionDateTime eigenschap. Dit is de laatste datum waarop u uw aangepaste model kunt gebruiken voor spraakherkenning. Zie model- en eindpuntlevenscyclus voor meer informatie.

De eigenschap op het hoogste niveau self in de hoofdtekst van het antwoord is de URI van het model. Gebruik deze URI voor meer informatie over de project-, manifest- en afschaffingsdatums van het model. U gebruikt deze URI ook om een model bij te werken of te verwijderen.

Voer de volgende opdracht uit voor Speech CLI-hulp bij modellen:

spx help csr model

Als u een model wilt maken met gegevenssets voor training, gebruikt u de Models_Create bewerking van de REST API voor spraak naar tekst. Bouw de aanvraagbody volgens de volgende instructies:

  • Stel de project eigenschap in op de URI van een bestaand project. Deze eigenschap wordt aanbevolen, zodat u het model ook kunt bekijken en beheren in Speech Studio. U kunt een Projects_List aanvraag indienen om beschikbare projecten op te halen.
  • Stel de vereiste datasets eigenschap in op de URI van de gegevenssets die u wilt gebruiken voor training.
  • Stel de vereiste locale eigenschap in. De landinstelling van het model moet overeenkomen met de landinstelling van het project en het basismodel. De landinstelling kan later niet meer worden gewijzigd.
  • Stel de vereiste displayName eigenschap in. Deze eigenschap is de naam die wordt weergegeven in Speech Studio.
  • U kunt de baseModel eigenschap desgewenst instellen. Voorbeeld: "baseModel": {"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"}. Als u het baseModelmodel niet opgeeft, wordt het standaardbasismodel voor de landinstelling gebruikt.

Maak een HTTP POST-aanvraag met behulp van de URI, zoals wordt weergegeven in het volgende voorbeeld. Vervang door YourSubscriptionKey de spraakresourcesleutel, vervang deze door YourServiceRegion uw spraakresourceregio en stel de eigenschappen van de aanvraagbody in zoals eerder beschreven.

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.1/projects/5d25e60a-7f4a-4816-afd9-783bb8daccfc"
  },
  "displayName": "My Model",
  "description": "My Model Description",
  "baseModel": null,
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/69e46263-ab10-4ab4-abbe-62e370104d95"
    }
  ],
  "locale": "en-US"
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/models"

Notitie

In dit voorbeeld is het baseModel niet ingesteld, dus het standaardbasismodel voor de landinstelling wordt gebruikt. De basismodel-URI wordt geretourneerd in het antwoord.

U ontvangt een antwoordtekst in de volgende indeling:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/69e46263-ab10-4ab4-abbe-62e370104d95"
    }
  ],
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7/manifest",
    "copyTo": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/86c4ebd7-d70d-4f67-9ccc-84609504ffc7:copyto"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/5d25e60a-7f4a-4816-afd9-783bb8daccfc"
  },
  "properties": {
    "deprecationDates": {
      "adaptationDateTime": "2023-01-15T00:00:00Z",
      "transcriptionDateTime": "2024-07-15T00:00:00Z"
    }
  },
  "lastActionDateTime": "2022-05-21T13:21:01Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-21T13:21:01Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description"
}

Belangrijk

Noteer de datum in de adaptationDateTime eigenschap. Dit is de laatste datum waarop u het basismodel kunt gebruiken voor training. Zie model- en eindpuntlevenscyclus voor meer informatie.

Noteer de datum in de transcriptionDateTime eigenschap. Dit is de laatste datum waarop u uw aangepaste model kunt gebruiken voor spraakherkenning. Zie model- en eindpuntlevenscyclus voor meer informatie.

De eigenschap op het hoogste niveau self in de hoofdtekst van het antwoord is de URI van het model. Gebruik deze URI voor meer informatie over de project-, manifest- en afschaffingsdatums van het model. U gebruikt deze URI ook om het model bij te werken of te verwijderen.

Een model kopiëren

U kunt een model kopiëren naar een ander project dat gebruikmaakt van dezelfde landinstelling. Nadat een model bijvoorbeeld is getraind met audiogegevens in een regio met toegewezen hardware voor training, kunt u het naar een spraakresource in een andere regio kopiëren, indien nodig.

Volg deze instructies om een model naar een project in een andere regio te kopiëren:

  1. Meld u aan bij Speech Studio.
  2. Selecteer Aangepaste spraak> Uw projectnaam >Aangepaste modellen trainen.
  3. Selecteer Kopiëren naar.
  4. Selecteer op de pagina Spraakmodel kopiëren een doelregio waar u het model wilt kopiëren. Schermopname van een woordgroepenlijst die is toegepast in Speech Studio.
  5. Selecteer een Spraak-resource in de doelregio of maak een nieuwe Speech-resource.
  6. Selecteer een project waarin u het model wilt kopiëren of maak een nieuw project.
  7. Selecteer Kopiëren.

Nadat het model is gekopieerd, ontvangt u een melding en kunt u het bekijken in het doelproject.

Het rechtstreeks kopiëren van een model naar een project in een andere regio wordt niet ondersteund met de Speech CLI. U kunt een model naar een project in een andere regio kopiëren met behulp van de Speech Studio of Speech naar de REST API voor tekst.

Als u een model naar een andere Speech-resource wilt kopiëren, gebruikt u de Models_CopyTo bewerking van de REST API voor spraak naar tekst. Bouw de aanvraagbody volgens de volgende instructies:

  • Stel de vereiste eigenschap in targetSubscriptionKey op de sleutel van de doel-spraakresource.

Maak een HTTP POST-aanvraag met behulp van de URI, zoals wordt weergegeven in het volgende voorbeeld. Gebruik de regio en URI van het model waaruit u wilt kopiëren. Vervang YourModelId door de model-id, vervang YourSubscriptionKey door uw Spraak-resourcesleutel, vervang door YourServiceRegion uw spraakresourceregio en stel de eigenschappen van de aanvraagbody in zoals eerder beschreven.

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.1/models/YourModelId:copyto"

Notitie

Alleen de targetSubscriptionKey eigenschap in de hoofdtekst van de aanvraag bevat informatie over de doelresource speech.

U ontvangt een antwoordtekst in de volgende indeling:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/eb5450a7-3ca2-461a-b2d7-ddbb3ad96540"
  },
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae/manifest",
    "copyTo": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae:copyto"
  },
  "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"
  }
}

een model Verbinding maken

Modellen zijn mogelijk gekopieerd uit het ene project met behulp van de Speech CLI of REST API, zonder dat ze zijn verbonden met een ander project. Verbinding maken een model bijwerken is een kwestie van het bijwerken van het model met een verwijzing naar het project.

Als u hierom wordt gevraagd in Speech Studio, kunt u deze verbinden door de knop Verbinding maken te selecteren.

Schermopname van de trainingspagina verbinding maken met modellen die kunnen worden verbonden met het huidige project.

Gebruik de spx csr model update opdracht om een model te verbinden met een project. Bouw de aanvraagparameters volgens de volgende instructies:

  • Stel de project parameter in op de URI van een bestaand project. Deze parameter wordt aanbevolen, zodat u het model ook kunt bekijken en beheren in Speech Studio. U kunt de spx csr project list opdracht uitvoeren om beschikbare projecten op te halen.
  • Stel de vereiste modelId parameter in op de id van het model dat u wilt verbinden met het project.

Hier volgt een voorbeeld van een Speech CLI-opdracht die een model verbindt met een project:

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

U ontvangt een antwoordtekst in de volgende indeling:

{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/e6ffdefd-9517-45a9-a89c-7b5028ed0e56"
  },
}

Voer de volgende opdracht uit voor Speech CLI-hulp bij modellen:

spx help csr model

Als u een nieuw model wilt verbinden met een project van de Speech-resource waar het model is gekopieerd, gebruikt u de Models_Update bewerking van de Spraak-naar-tekst-REST API. Bouw de aanvraagbody volgens de volgende instructies:

  • Stel de vereiste eigenschap in project op de URI van een bestaand project. Deze eigenschap wordt aanbevolen, zodat u het model ook kunt bekijken en beheren in Speech Studio. U kunt een Projects_List aanvraag indienen om beschikbare projecten op te halen.

Maak een HTTP PATCH-aanvraag met behulp van de URI, zoals wordt weergegeven in het volgende voorbeeld. Gebruik de URI van het nieuwe model. U kunt de nieuwe model-id ophalen uit de self eigenschap van de hoofdtekst van het Models_CopyTo antwoord. Vervang door YourSubscriptionKey de spraakresourcesleutel, vervang deze door YourServiceRegion uw spraakresourceregio en stel de eigenschappen van de aanvraagbody in zoals eerder beschreven.

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.1/projects/e6ffdefd-9517-45a9-a89c-7b5028ed0e56"
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/models"

U ontvangt een antwoordtekst in de volgende indeling:

{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/e6ffdefd-9517-45a9-a89c-7b5028ed0e56"
  },
}

Volgende stappen