Ciągła integracja/ciągłe wdrażanie na potrzeby mowy niestandardowej

Zaimplementuj zautomatyzowane trenowanie, testowanie i zarządzanie wydaniami, aby umożliwić ciągłe ulepszanie niestandardowych modeli mowy podczas stosowania aktualizacji do danych szkoleniowych i testowych. Dzięki efektywnej implementacji przepływów pracy ciągłej integracji/ciągłego wdrażania można zapewnić, że punkt końcowy dla najlepszego niestandardowego modelu mowy jest zawsze dostępny.

Ciągła integracja (CI) to praktyka inżynieryjna częstego zatwierdzania aktualizacji w udostępnionym repozytorium i przeprowadzania na nim zautomatyzowanej kompilacji. Przepływy pracy ciągłej integracji dla niestandardowej mowy trenują nowy model ze swoich źródeł danych i przeprowadzają zautomatyzowane testowanie na nowym modelu, aby zapewnić, że działa lepiej niż poprzedni model.

Ciągłe dostarczanie (CD) pobiera modele z procesu ciągłej integracji i tworzy punkt końcowy dla każdego ulepszonego niestandardowego modelu mowy. Dysk CD ułatwia integrację punktów końcowych z rozwiązaniami.

Możliwe są niestandardowe rozwiązania ciągłej integracji/ciągłego wdrażania, ale w przypadku niezawodnego, wstępnie utworzonego rozwiązania użyj repozytorium szablonu DevOps usługi Mowa, które wykonuje przepływy pracy ciągłej integracji/ciągłego wdrażania przy użyciu funkcji GitHub Actions.

Przepływy pracy ciągłej integracji/ciągłego wdrażania dla mowy niestandardowej

Celem tych przepływów pracy jest zapewnienie, że każdy niestandardowy model rozpoznawania mowy ma lepszą dokładność rozpoznawania niż poprzednia kompilacja. Jeśli aktualizacje danych testowania i/lub trenowania zwiększają dokładność, te przepływy pracy tworzą nowy niestandardowy punkt końcowy mowy.

Serwery Git, takie jak GitHub i Azure DevOps, mogą uruchamiać zautomatyzowane przepływy pracy po wystąpieniu określonych zdarzeń usługi Git, takich jak scalanie lub żądania ściągnięcia. Na przykład przepływ pracy ciągłej integracji można wyzwolić, gdy aktualizacje danych testowych są wypychane do gałęzi głównej. Różne serwery Git mają różne narzędzia, ale umożliwiają wykonywanie skryptów poleceń interfejsu wiersza polecenia (CLI), aby mogły być wykonywane na serwerze kompilacji.

Po drodze przepływy pracy powinny nazywać i przechowywać dane, testy, pliki testowe, modele i punkty końcowe, aby można je było prześledzić z powrotem do zatwierdzenia lub wersji, z której pochodzą. Warto również nazwać te zasoby, aby łatwo było zobaczyć, które zostały utworzone po zaktualizowaniu danych testowych i danych treningowych.

Przepływ pracy ciągłej integracji na potrzeby testowania aktualizacji danych

Głównym celem przepływów pracy ciągłej integracji/ciągłego wdrażania jest utworzenie nowego modelu przy użyciu danych treningowych i przetestowanie tego modelu przy użyciu danych testowych w celu ustalenia, czy współczynnik błędów programu Word (WER) poprawił się w porównaniu z poprzednim modelem o najlepszej wydajności (model porównawczy). Jeśli nowy model działa lepiej, staje się nowym modelem porównawczym, w którym porównane są przyszłe modele.

Przepływ pracy ciągłej integracji na potrzeby testowania aktualizacji danych powinien ponownie przetestować bieżący model porównawczy ze zaktualizowanymi danymi testowymi, aby obliczyć poprawioną usługę WER. Gwarantuje to, że gdy WER nowego modelu jest porównywany z WER testu porównawczego, oba modele zostały przetestowane pod kątem tych samych danych testowych i porównujesz je z takimi samymi przykładami.

Ten przepływ pracy powinien być wyzwalany w przypadku aktualizacji do testowania danych i:

  • Przetestuj model porównawczy pod kątem zaktualizowanych danych testowych.
  • Zapisz dane wyjściowe testu zawierające WER modelu porównawczego przy użyciu zaktualizowanych danych.
  • WER z tych testów stanie się nowym benchmarkiem WER, który przyszłe modele muszą pokonać.
  • Przepływ pracy ciągłego wdrażania nie jest wykonywany w celu aktualizacji do testowania danych.

Przepływ pracy ciągłej integracji na potrzeby aktualizacji danych szkoleniowych

Aktualizacje do trenowania danych oznacza aktualizacje modelu niestandardowego.

Ten przepływ pracy powinien być wyzwalany w przypadku aktualizacji danych szkoleniowych i:

  • Trenowanie nowego modelu przy użyciu zaktualizowanych danych treningowych.
  • Przetestuj nowy model pod kątem danych testowych.
  • Zapisz dane wyjściowe testu, które zawierają usługę WER.
  • Porównaj usługę WER z nowego modelu z WER z modelu porównawczego.
  • Jeśli usługa WER nie poprawi się, zatrzymaj przepływ pracy.
  • Jeśli usługa WER ulegnie poprawie, wykonaj przepływ pracy ciągłego wdrażania, aby utworzyć niestandardowy punkt końcowy mowy.

Przepływ pracy ciągłego wdrażania

Po aktualizacji danych treningowych poprawia rozpoznawanie modelu przepływ pracy ciągłego wdrażania powinien zostać automatycznie wykonany w celu utworzenia nowego punktu końcowego dla tego modelu i udostępnienia tego punktu końcowego w taki sposób, aby mógł być używany w rozwiązaniu.

Zarządzanie wydaniami

Większość zespołów wymaga ręcznego przeglądu i procesu zatwierdzania wdrożenia w środowisku produkcyjnym. W przypadku wdrożenia produkcyjnego możesz upewnić się, że ma to miejsce, gdy kluczowe osoby w zespole deweloperów są dostępne do pomocy technicznej lub w okresach niskiego ruchu.

Narzędzia do niestandardowych przepływów pracy mowy

Użyj następujących narzędzi dla przepływów pracy automatyzacji ciągłej integracji/ciągłego wdrażania dla mowy niestandardowej:

  • Interfejs wiersza polecenia platformy Azure umożliwiający utworzenie uwierzytelniania jednostki usługi platformy Azure, wykonywanie zapytań dotyczących subskrypcji platformy Azure i przechowywanie wyników testów w usłudze Azure Blob.
  • Interfejs wiersza polecenia usługi Azure AI Speech umożliwiający interakcję z usługą Mowa z poziomu wiersza polecenia lub zautomatyzowanego przepływu pracy.

Rozwiązanie DevOps do obsługi mowy niestandardowej przy użyciu funkcji GitHub Actions

W przypadku już zaimplementowanego rozwiązania DevOps na potrzeby mowy niestandardowej przejdź do repozytorium szablonu usługi Speech DevOps. Utwórz kopię szablonu i rozpocznij tworzenie modeli niestandardowych przy użyciu niezawodnego systemu DevOps, który obejmuje testowanie, trenowanie i przechowywanie wersji przy użyciu funkcji GitHub Actions. Repozytorium udostępnia przykładowe dane testowania i szkolenia ułatwiające konfigurowanie i objaśnienie przepływu pracy. Po wstępnej konfiguracji zastąp przykładowe dane danymi projektu.

Repozytorium szablonu usługi Speech DevOps zawiera infrastrukturę i szczegółowe wskazówki dotyczące:

  • Skopiuj repozytorium szablonów do konta usługi GitHub, a następnie utwórz zasoby platformy Azure i jednostkę usługi dla przepływów pracy ciągłej integracji/ciągłego wdrażania funkcji GitHub Actions.
  • Przejdź przez "wewnętrzną pętlę dev". Aktualizowanie danych szkoleniowych i testowych z gałęzi funkcji, testowanie zmian za pomocą tymczasowego modelu programowania i zgłaszanie żądania ściągnięcia w celu zaproponowania i przejrzenia zmian.
  • Gdy dane szkoleniowe są aktualizowane w żądaniu ściągnięcia do strony głównej, wytrenuj modele za pomocą przepływu pracy ciągłej integracji funkcji GitHub Actions.
  • Przeprowadź zautomatyzowane testowanie dokładności w celu ustanowienia współczynnika błędów programu Word (WER) modelu. Zapisz wyniki testu w usłudze Azure Blob.
  • Wykonaj przepływ pracy ciągłego wdrażania, aby utworzyć punkt końcowy po ulepszeniu usługi WER.

Następne kroki

  • Użyj repozytorium szablonu Usługi Speech DevOps, aby zaimplementować metodyę DevOps na potrzeby mowy niestandardowej za pomocą funkcji GitHub Actions.