Trénování vlastního modelu řeči

V tomto článku se dozvíte, jak vytrénovat vlastní model, aby se zlepšila přesnost rozpoznávání ze základního modelu Microsoftu. Přesnost rozpoznávání řeči a kvalita vlastního modelu řeči zůstává konzistentní, i když se uvolní nový základní model.

Poznámka:

Platíte za využití vlastního modelu řeči a hostování koncových bodů. Pokud byl základní model vytvořen 1. října 2023 a novější, bude se vám účtovat také trénování vlastního modelu řeči. Pokud byl základní model vytvořen před říjnem 2023, neúčtují se vám poplatky za trénování. Další informace najdete v tématu Ceny služby Azure AI Speech a část Poplatky za přizpůsobení v průvodci migrací převodu řeči na text 3.2.

Trénování modelu je obvykle iterativní proces. Nejprve vyberete základní model, který je výchozím bodem nového modelu. Model vytrénujete pomocí datových sad, které můžou obsahovat text a zvuk, a pak otestujete. Pokud kvalita nebo přesnost rozpoznávání nevyhovuje vašim požadavkům, můžete vytvořit nový model s více nebo upravenými trénovacími daty a pak to znovu otestovat.

Po vytrénování můžete použít vlastní model po omezenou dobu. Abyste mohli využívat lepší přesnost a kvalitu, musíte pravidelně znovu vytvářet a přizpůsobovat vlastní model z nejnovějšího základního modelu. Další informace najdete v tématu Životní cyklus modelu a koncového bodu.

Důležité

Pokud budete trénovat vlastní model se zvukovými daty, zvolte oblast prostředků služby Speech s vyhrazeným hardwarem pro trénování zvukových dat. Po vytrénování modelu ho můžete podle potřeby zkopírovat do prostředku služby Speech v jiné oblasti.

V oblastech s vyhrazeným hardwarem pro trénování vlastní řeči bude služba Speech používat až 20 hodin trénovacích dat zvuku a může zpracovávat přibližně 10 hodin dat za den. V jiných oblastech služba Speech využívá až 8 hodin zvukových dat a může zpracovávat přibližně 1 hodinu dat za den. Další informace najdete v tabulce poznámek pod čarou v tabulce oblastí .

Vytvořit model

Po nahrání trénovacích datových sad spusťte trénování modelu podle těchto pokynů:

  1. Přihlaste se k sadě Speech Studio.

  2. Vyberte Custom speech> Your project name >Train custom models.

  3. Vyberte Trénovat nový model.

  4. Na stránce Vybrat základní model vyberte základní model a pak vyberte Další. Pokud si nejste jistí, vyberte v horní části seznamu nejnovější model. Název základního modelu odpovídá datu, kdy byl vydán ve formátu RRRRMMDD. Možnosti přizpůsobení základního modelu jsou uvedeny v závorkách za názvem modelu v sadě Speech Studio.

    Důležité

    Poznamenejte si datum přizpůsobení vypršení platnosti . Toto je poslední datum, ke kterému můžete použít základní model pro trénování. Další informace najdete v tématu Životní cyklus modelu a koncového bodu.

  5. Na stránce Zvolit data vyberte jednu nebo více datových sad, které chcete použít pro trénování. Pokud nejsou dostupné žádné datové sady, zrušte nastavení a pak přejděte do nabídky datových sad služby Speech a nahrajte datové sady.

  6. Zadejte název a popis vlastního modelu a pak vyberte Další.

  7. Volitelně zaškrtněte políčko Přidat test v dalším kroku . Pokud tento krok přeskočíte, můžete později spustit stejné testy. Další informace naleznete v tématu Kvalita rozpoznávání testů a model testování kvantitativní.

  8. Výběrem možnosti Uložit a zavřít spustíte sestavení vlastního modelu.

  9. Vraťte se na stránku Trénovat vlastní modely .

    Důležité

    Poznamenejte si datum vypršení platnosti . Toto je poslední datum, kdy můžete pro rozpoznávání řeči použít vlastní model. Další informace najdete v tématu Životní cyklus modelu a koncového bodu.

K vytvoření modelu s datovými sadami pro trénování použijte spx csr model create příkaz. Parametry požadavku se sestaví podle následujících pokynů:

  • project Nastavte parametr na ID existujícího projektu. Tento parametr se doporučuje, abyste mohli model také zobrazit a spravovat v nástroji Speech Studio. Spuštěním spx csr project list příkazu můžete získat dostupné projekty.
  • Nastavte požadovaný dataset parametr na ID datové sady, kterou chcete použít pro trénování. Pokud chcete zadat více datových sad, nastavte datasets parametr (množné číslo) a oddělte ID středníkem.
  • Nastavte požadovaný language parametr. Národní prostředí datové sady musí odpovídat národnímu prostředí projektu. Národní prostředí nelze později změnit. Parametr Rozhraní příkazového locale řádku language služby Speech odpovídá vlastnosti v požadavku JSON a odpovědi.
  • Nastavte požadovaný name parametr. Tento parametr je název zobrazený v sadě Speech Studio. Parametr Rozhraní příkazového displayName řádku name služby Speech odpovídá vlastnosti v požadavku JSON a odpovědi.
  • Volitelně můžete vlastnost nastavit base . Například: --base 1aae1070-7972-47e9-a977-87e3b05c457d. Pokud tuto možnost nezadáte base, použije se výchozí základní model národního prostředí. Parametr Rozhraní příkazového baseModel řádku base služby Speech odpovídá vlastnosti v požadavku JSON a odpovědi.

Tady je příklad příkazu Rozhraní příkazového řádku služby Speech, který vytvoří model s datovými sadami pro trénování:

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

Poznámka:

V tomto příkladu base není nastavená, takže se použije výchozí základní model národního prostředí. Identifikátor URI základního modelu se vrátí v odpovědi.

Měl by se zobrazit text odpovědi v následujícím formátu:

{
  "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"
}

Důležité

Poznamenejte si datum ve adaptationDateTime vlastnosti. Toto je poslední datum, ke kterému můžete použít základní model pro trénování. Další informace najdete v tématu Životní cyklus modelu a koncového bodu.

Poznamenejte si datum ve transcriptionDateTime vlastnosti. Toto je poslední datum, kdy můžete pro rozpoznávání řeči použít vlastní model. Další informace najdete v tématu Životní cyklus modelu a koncového bodu.

Vlastnost nejvyšší úrovně self v těle odpovědi je identifikátor URI modelu. Pomocí tohoto identifikátoru URI získáte podrobnosti o datech ukončení projektu, manifestu a vyřazení modelu. Tento identifikátor URI slouží také k aktualizaci nebo odstranění modelu.

V případě nápovědy k rozhraní příkazového řádku služby Speech s modely spusťte následující příkaz:

spx help csr model

Pokud chcete vytvořit model s datovými sadami pro trénování, použijte Models_Create operaci Rozhraní REST API pro převod řeči na text. Sestavte tělo požadavku podle následujících pokynů:

  • project Nastavte vlastnost na identifikátor URI existujícího projektu. Tato vlastnost se doporučuje, abyste mohli model také zobrazit a spravovat v nástroji Speech Studio. Můžete vytvořit Projects_List žádost o získání dostupných projektů.
  • Nastavte požadovanou datasets vlastnost na identifikátor URI datových sad, které chcete použít pro trénování.
  • Nastavte požadovanou locale vlastnost. Národní prostředí modelu musí odpovídat národnímu prostředí projektu a základnímu modelu. Národní prostředí nelze později změnit.
  • Nastavte požadovanou displayName vlastnost. Tato vlastnost je název zobrazený v sadě Speech Studio.
  • Volitelně můžete vlastnost nastavit baseModel . Například: "baseModel": {"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"}. Pokud tuto možnost nezadáte baseModel, použije se výchozí základní model národního prostředí.

Vytvořte požadavek HTTP POST pomocí identifikátoru URI, jak je znázorněno v následujícím příkladu. Nahraďte YourSubscriptionKey klíčem prostředku služby Speech, nahraďte YourServiceRegion oblastí prostředků služby Speech a nastavte vlastnosti textu požadavku, jak jsme popsali dříve.

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"

Poznámka:

V tomto příkladu baseModel není nastavená, takže se použije výchozí základní model národního prostředí. Identifikátor URI základního modelu se vrátí v odpovědi.

Měl by se zobrazit text odpovědi v následujícím formátu:

{
  "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"
}

Důležité

Poznamenejte si datum ve adaptationDateTime vlastnosti. Toto je poslední datum, ke kterému můžete použít základní model pro trénování. Další informace najdete v tématu Životní cyklus modelu a koncového bodu.

Poznamenejte si datum ve transcriptionDateTime vlastnosti. Toto je poslední datum, kdy můžete pro rozpoznávání řeči použít vlastní model. Další informace najdete v tématu Životní cyklus modelu a koncového bodu.

Vlastnost nejvyšší úrovně self v těle odpovědi je identifikátor URI modelu. Pomocí tohoto identifikátoru URI získáte podrobnosti o datech ukončení projektu, manifestu a vyřazení modelu. Tento identifikátor URI také použijete k aktualizaci nebo odstranění modelu.

Kopírování modelu

Model můžete zkopírovat do jiného projektu, který používá stejné národní prostředí. Například po vytrénování modelu se zvukovými daty v oblasti s vyhrazeným hardwarem pro trénování můžete podle potřeby zkopírovat do prostředku služby Speech v jiné oblasti.

Podle těchto pokynů zkopírujte model do projektu v jiné oblasti:

  1. Přihlaste se k sadě Speech Studio.
  2. Vyberte Custom speech> Your project name >Train custom models.
  3. Vyberte Kopírovat do.
  4. Na stránce Kopírovat model řeči vyberte cílovou oblast, do které chcete model zkopírovat. Snímek obrazovky se seznamem frází použitým v sadě Speech Studio
  5. Vyberte prostředek služby Speech v cílové oblasti nebo vytvořte nový prostředek služby Speech.
  6. Vyberte projekt, do kterého chcete model zkopírovat, nebo vytvořte nový projekt.
  7. Vyberte Kopírovat.

Po úspěšném zkopírování modelu budete upozorněni a můžete ho zobrazit v cílovém projektu.

Kopírování modelu přímo do projektu v jiné oblasti se v rozhraní příkazového řádku služby Speech nepodporuje. Model můžete zkopírovat do projektu v jiné oblasti pomocí sady Speech Studio nebo rozhraní SPEECH na textové rozhraní REST API.

Pokud chcete zkopírovat model do jiného prostředku služby Speech, použijte operaci Models_CopyTo rozhraní REST API pro převod řeči na text. Sestavte tělo požadavku podle následujících pokynů:

  • Nastavte požadovanou targetSubscriptionKey vlastnost na klíč cílového prostředku služby Speech.

Vytvořte požadavek HTTP POST pomocí identifikátoru URI, jak je znázorněno v následujícím příkladu. Použijte oblast a identifikátor URI modelu, ze kterého chcete kopírovat. Nahraďte YourModelId ID modelu, nahraďte YourSubscriptionKey klíčem prostředku služby Speech, nahraďte YourServiceRegion oblastí prostředků služby Speech a nastavte vlastnosti textu požadavku, jak je popsáno výše.

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"

Poznámka:

targetSubscriptionKey Informace o cílovém prostředku služby Speech má pouze vlastnost v textu požadavku.

Měl by se zobrazit text odpovědi v následujícím formátu:

{
  "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"
  }
}

Připojení modelu

Modely se můžou zkopírovat z jednoho projektu pomocí rozhraní příkazového řádku služby Speech nebo rozhraní REST API, aniž by se připojily k jinému projektu. Připojení modelu je otázkou aktualizace modelu s odkazem na projekt.

Pokud se zobrazí výzva v sadě Speech Studio, můžete je připojit tak, že vyberete tlačítko Připojení.

Snímek obrazovky se stránkou pro trénování pro připojení, která zobrazuje modely, které je možné připojit k aktuálnímu projektu

K připojení modelu k projektu použijte spx csr model update příkaz. Parametry požadavku se sestaví podle následujících pokynů:

  • project Nastavte parametr na identifikátor URI existujícího projektu. Tento parametr se doporučuje, abyste mohli model také zobrazit a spravovat v nástroji Speech Studio. Spuštěním spx csr project list příkazu můžete získat dostupné projekty.
  • Nastavte požadovaný modelId parametr na ID modelu, který chcete připojit k projektu.

Tady je příklad příkazu Rozhraní příkazového řádku služby Speech, který připojí model k projektu:

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

Měl by se zobrazit text odpovědi v následujícím formátu:

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

V případě nápovědy k rozhraní příkazového řádku služby Speech s modely spusťte následující příkaz:

spx help csr model

Pokud chcete připojit nový model k projektu prostředku služby Speech, ve kterém se model zkopíroval, použijte Models_Update operaci rozhraní SPEECH pro textové rozhraní REST API. Sestavte tělo požadavku podle následujících pokynů:

  • Nastavte požadovanou project vlastnost na identifikátor URI existujícího projektu. Tato vlastnost se doporučuje, abyste mohli model také zobrazit a spravovat v nástroji Speech Studio. Můžete vytvořit Projects_List žádost o získání dostupných projektů.

Vytvořte požadavek HTTP PATCH pomocí identifikátoru URI, jak je znázorněno v následujícím příkladu. Použijte identifikátor URI nového modelu. Nové ID modelu můžete získat z self vlastnosti textu Models_CopyTo odpovědi. Nahraďte YourSubscriptionKey klíčem prostředku služby Speech, nahraďte YourServiceRegion oblastí prostředků služby Speech a nastavte vlastnosti textu požadavku, jak jsme popsali dříve.

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"

Měl by se zobrazit text odpovědi v následujícím formátu:

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

Další kroky