CI/CD pro vlastní řeč

Implementujte automatizované trénování, testování a správu verzí, abyste umožnili průběžné vylepšování vlastních modelů řeči při použití aktualizací na trénovací a testovací data. Prostřednictvím efektivní implementace pracovních postupů CI/CD můžete zajistit, aby byl koncový bod pro nejvýkonnější vlastní model řeči vždy dostupný.

Kontinuální integrace (CI) je technická praxe častého potvrzení aktualizací ve sdíleném úložišti a provádění automatizovaného sestavení na něm. Pracovní postupy CI pro vlastní řeč trénují nový model ze svých zdrojů dat a provádějí automatizované testování na novém modelu, aby se zajistilo, že funguje lépe než předchozí model.

Průběžné doručování (CD) přebírá modely z procesu CI a vytváří koncový bod pro každý vylepšený vlastní speech model. Cd usnadňuje integraci koncových bodů do řešení.

Vlastní řešení CI/CD jsou možná, ale pro robustní předdefinované řešení použijte úložiště šablon Speech DevOps, které spouští pracovní postupy CI/CD pomocí GitHub Actions.

Pracovní postupy CI/CD pro vlastní řeč

Účelem těchto pracovních postupů je zajistit, aby každý vlastní model řeči měl lepší přesnost rozpoznávání než předchozí build. Pokud se aktualizace testovacích a/nebo trénovacích dat zvýší přesnost, vytvoří tyto pracovní postupy nový vlastní koncový bod řeči.

Servery Git, jako je GitHub a Azure DevOps, můžou spouštět automatizované pracovní postupy, když dojde ke konkrétním událostem Gitu, jako jsou sloučení nebo žádosti o přijetí změn. Pracovní postup CI se například dá aktivovat, když se aktualizace testovacích dat nasdílí do hlavní větve. Různé servery Git mají různé nástroje, ale umožňují skriptování příkazů rozhraní příkazového řádku (CLI), aby se mohly spouštět na serveru sestavení.

Kromě toho by pracovní postupy měly pojmenovat a ukládat data, testy, testovací soubory, modely a koncové body tak, aby je bylo možné sledovat zpět k potvrzení nebo verzi, ze které pocházejí. Je také užitečné pojmenovat tyto prostředky, aby bylo možné snadno zjistit, které byly vytvořeny po aktualizaci testovacích dat a trénovacích dat.

Pracovní postup CI pro testování aktualizací dat

Hlavním účelem pracovních postupů CI/CD je vytvořit nový model s využitím trénovacích dat a otestovat tento model pomocí testovacích dat a zjistit, jestli se míra chyb Ve Wordu (WER) zlepšila v porovnání s předchozím modelem s nejlepším výkonem ("srovnávací model"). Pokud nový model funguje lépe, stane se novým srovnávacím modelem, se kterým se budou budoucí modely porovnávat.

Pracovní postup CI pro testování aktualizací dat by měl znovu testovat aktuální srovnávací model s aktualizovanými testovacími daty, aby se vypočítal revidovaný standard WER. Tím se zajistí, že když se weR nového modelu porovná s WER srovnávacího testu, oba modely byly testovány na stejných testovacích datech a porovnáváte je stejně jako s podobnými.

Tento pracovní postup by se měl aktivovat při aktualizacích testovacích dat a:

  • Otestujte model srovnávacího testu na základě aktualizovaných testovacích dat.
  • Pomocí aktualizovaných dat uložte testovací výstup, který obsahuje WER modelu srovnávacího testu.
  • WeR z těchto testů se stane novým srovnávacím testem WER, který budoucí modely musí porazit.
  • Pracovní postup CD se nespustí pro aktualizace testovacích dat.

Pracovní postup CI pro aktualizace trénovacích dat

Aktualizace trénování dat označují aktualizace vlastního modelu.

Tento pracovní postup by se měl aktivovat při aktualizacích trénovacích dat a:

  • Trénování nového modelu s aktualizovanými trénovacími daty
  • Otestujte nový model na základě testovacích dat.
  • Uložte testovací výstup, který obsahuje WER.
  • Porovnejte WER z nového modelu s WER z modelu srovnávacího testu.
  • Pokud se WER nezlepší, zastavte pracovní postup.
  • Pokud se WER zlepší, spusťte pracovní postup CD a vytvořte vlastní koncový bod řeči.

Pracovní postup CD

Po aktualizaci trénovacích dat by se měl pracovní postup CD automaticky spustit, aby se pro tento model vytvořil nový koncový bod a aby byl tento koncový bod dostupný tak, aby ho bylo možné použít v řešení.

Správa vydaných verzí

Většina týmů vyžaduje ruční kontrolu a schvalování nasazení do produkčního prostředí. V případě produkčního nasazení můžete chtít zajistit, že k tomu dojde, když jsou pro podporu k dispozici klíčové osoby ve vývojovém týmu nebo během období s nízkým provozem.

Nástroje pro vlastní pracovní postupy řeči

Pro pracovní postupy automatizace CI/CD pro vlastní řeč použijte následující nástroje:

  • Azure CLI pro vytvoření ověřování instančního objektu Azure, dotazování předplatných Azure a ukládání výsledků testů do azure Blob.
  • Azure AI Speech CLI pro interakci se službou Speech z příkazového řádku nebo automatizovaného pracovního postupu

Řešení DevOps pro vlastní řeč pomocí GitHub Actions

U již implementovaného řešení DevOps pro vlastní řeč přejděte do úložiště šablony Speech DevOps. Vytvořte kopii šablony a začněte vyvíjet vlastní modely s robustním systémem DevOps, který zahrnuje testování, trénování a správu verzí pomocí GitHub Actions. Úložiště poskytuje ukázková testovací a trénovací data, která vám pomůžou s nastavením a vysvětlením pracovního postupu. Po počátečním nastavení nahraďte ukázková data daty projektu.

Úložiště šablony Speech DevOps poskytuje infrastrukturu a podrobné pokyny pro:

  • Zkopírujte úložiště šablon do svého účtu GitHubu a pak vytvořte prostředky Azure a instanční objekt pro pracovní postupy CI/CD GitHub Actions.
  • Projděte si "vnitřní smyčku vývoje". Aktualizujte trénovací a testovací data z větve funkcí, otestujte změny pomocí dočasného vývojového modelu a vytvořte žádost o přijetí změn, abyste mohli navrhnout a zkontrolovat změny.
  • Při aktualizaci trénovacích dat v žádosti o přijetí změn na hlavní trénování modelů pomocí pracovního postupu CI GitHub Actions.
  • Proveďte automatizované testování přesnosti pro vytvoření míry chyb wordového modelu (WER). Uložte výsledky testu do objektu blob Azure.
  • Spuštěním pracovního postupu CD vytvořte koncový bod, když se weR zlepší.

Další kroky

  • Pomocí úložiště šablony Speech DevOps můžete implementovat DevOps pro vlastní řeč pomocí GitHub Actions.