Trenowanie to proces, w którym model uczy się na podstawie oznaczonych danych. Po zakończeniu trenowania będzie można wyświetlić wydajność modelu, aby określić, czy trzeba poprawić model.
Aby wytrenować model, należy rozpocząć zadanie szkoleniowe i utworzyć model tylko pomyślnie ukończone zadania. Zadania szkoleniowe wygasają po siedmiu dniach, co oznacza, że nie będzie można pobrać szczegółów zadania po tym czasie. Jeśli zadanie trenowania zostało ukończone pomyślnie i model został utworzony, model nie zostanie naruszony. Jednocześnie można uruchomić tylko jedno zadanie szkoleniowe i nie można uruchomić innych zadań w tym samym projekcie.
Czas trenowania może trwać od kilku minut, gdy zajmuje się kilkoma dokumentami, do kilku godzin w zależności od rozmiaru zestawu danych i złożoności schematu.
Wymagania wstępne
Aby uzyskać więcej informacji, zobacz cykl projektowania projektu.
Dzielenie danych
Przed rozpoczęciem procesu trenowania dokumenty oznaczone etykietą w projekcie są podzielone na zestaw szkoleniowy i zestaw testów. Każdy z nich pełni inną funkcję.
Zestaw szkoleniowy jest używany w trenowaniu modelu. Jest to zestaw , z którego model uczy się oznaczonych jednostek i zakresów tekstu, które mają zostać wyodrębnione jako jednostki.
Zestaw testów to zestaw ślepy, który nie jest wprowadzany do modelu podczas trenowania, ale tylko podczas oceny.
Po pomyślnym zakończeniu trenowania modelu jest on używany do dokonywania przewidywań na podstawie dokumentów w zestawie testowym, a na podstawie tych przewidywań obliczane są metryki oceny.
Zaleca się upewnienie się, że wszystkie jednostki są odpowiednio reprezentowane w zestawie trenowania i testowania.
Niestandardowa funkcja NER obsługuje dwie metody dzielenia danych:
-
Automatyczne dzielenie zestawu testów z danych treningowych: system podzieli dane oznaczone etykietami między zestawy treningowe i testowe, zgodnie z wybranymi wartościami procentowymi. Zalecany podział procentowy wynosi 80% na potrzeby trenowania i 20% na potrzeby testowania.
Uwaga
Jeśli wybierzesz opcję Automatycznie dzieląc zestaw testów z danych treningowych, tylko dane przypisane do zestawu treningowego zostaną podzielone zgodnie z podanymi wartościami procentowymi.
-
Użyj ręcznego podziału danych treningowych i testowych: ta metoda umożliwia użytkownikom zdefiniowanie, które dokumenty z etykietami powinny należeć do tego zestawu. Ten krok jest włączony tylko w przypadku dodania dokumentów do zestawu testów podczas etykietowania danych.
Trenowanie modelu
Aby rozpocząć trenowanie modelu z poziomu programu Language Studio:
Wybierz pozycję Zadania trenowania z menu po lewej stronie.
Wybierz pozycję Start a training job (Rozpocznij zadanie szkoleniowe) z górnego menu.
Wybierz pozycję Train a new model (Trenowanie nowego modelu ) i wpisz nazwę modelu w polu tekstowym. Możesz również zastąpić istniejący model , wybierając tę opcję i wybierając model, który chcesz zastąpić z menu rozwijanego. Zastępowanie wyuczonego modelu jest nieodwracalne, ale nie wpłynie to na wdrożone modele, dopóki nowy model nie zostanie wdrożony.
Wybierz metodę dzielenia danych. Możesz wybrać opcję Automatyczne dzielenie zestawu testowego z danych treningowych, gdzie system podzieli oznaczone dane między dane treningowe i testowe, zgodnie z określonymi wartościami procentowymi.
Możesz też użyć ręcznego podziału danych treningowych i testowych. Ta opcja jest włączona tylko w przypadku dodania dokumentów do zestawu testów podczas etykietowania danych. Zobacz How to train a model (Jak wytrenować model ), aby uzyskać informacje na temat dzielenia danych.
Wybierz przycisk Train (Trenuj).
Jeśli wybierzesz identyfikator zadania trenowania z listy, zostanie wyświetlone okienko boczne, w którym można sprawdzić postęp trenowania, stan zadania i inne szczegóły dotyczące tego zadania.
Uwaga
- Tylko pomyślnie ukończone zadania szkoleniowe będą generować modele.
- Trenowanie może potrwać od kilku minut do kilku godzin na podstawie rozmiaru oznaczonych danych.
- Jednocześnie może być uruchomione tylko jedno zadanie trenowania. Nie można uruchomić innego zadania trenowania w tym samym projekcie, dopóki uruchomione zadanie nie zostanie ukończone.
Rozpoczynanie zadania szkoleniowego
Prześlij żądanie POST przy użyciu następującego adresu URL, nagłówków i treści JSON, aby przesłać zadanie szkoleniowe. Zastąp poniższe wartości symboli zastępczych własnymi wartościami.
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Symbol zastępczy |
Wartość |
Przykład |
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość jest uwzględniana w wielkości liter. |
myProject |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się tutaj, dotyczy najnowszej wersji wydanej. Zobacz Cykl życia modelu, aby dowiedzieć się więcej o innych dostępnych wersjach interfejsu API. |
2022-05-01 |
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Klucz |
Wartość |
Ocp-Apim-Subscription-Key |
Twój klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść żądania
Użyj następującego kodu JSON w treści żądania. Model zostanie podany {MODEL-NAME}
po zakończeniu trenowania. Tylko pomyślne zadania szkoleniowe będą tworzyć modele.
{
"modelLabel": "{MODEL-NAME}",
"trainingConfigVersion": "{CONFIG-VERSION}",
"evaluationOptions": {
"kind": "percentage",
"trainingSplitPercentage": 80,
"testingSplitPercentage": 20
}
}
Klucz |
Symbol zastępczy |
Wartość |
Przykład |
modelLabel |
{MODEL-NAME} |
Nazwa modelu, która zostanie przypisana do modelu po pomyślnym wytrenowaniu. |
myModel |
wersjaKonfiguracjiTreningowej |
{CONFIG-VERSION} |
Jest to wersja modelu, która będzie używana do trenowania modelu. |
2022-05-01 |
opcje oceny |
|
Opcja dzielenia danych między zestawy trenowania i testowania. |
{} |
rodzaj / miły |
percentage |
Metody podzielone. Możliwe wartości to percentage lub manual . Aby uzyskać więcej informacji, zobacz Jak wytrenować model . |
percentage |
procent podziału szkolenia |
80 |
Procent oznakowanych danych, które mają zostać uwzględnione w zestawie treningowym. Zalecana wartość to 80 . |
80 |
testingSplitPercentage |
20 |
Procent oznakowanych danych, które mają zostać uwzględnione w zestawie testów. Zalecana wartość to 20 . |
20 |
Uwaga
Wartości trainingSplitPercentage
i testingSplitPercentage
są wymagane tylko wtedy, gdy Kind
jest ustawiona wartość percentage
, a suma obu wartości procentowych powinna być równa 100.
Po wysłaniu żądania interfejsu API otrzymasz odpowiedź wskazującą 202
, że zadanie zostało przesłane poprawnie. Wyodrębnij wartość location
w nagłówkach odpowiedzi. Zostanie on sformatowany w następujący sposób:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
{JOB-ID}
służy do identyfikowania żądania, ponieważ ta operacja jest asynchroniczna. Możesz użyć tego adresu URL, aby uzyskać stan trenowania.
Uzyskiwanie stanu zadania szkoleniowego
Trenowanie może trwać czasami w zależności od rozmiaru danych treningowych i złożoności schematu. Następujące żądanie umożliwia kontynuowanie sondowania stanu zadania szkoleniowego do momentu jego pomyślnego ukończenia.
Użyj następującego żądania GET , aby uzyskać stan postępu trenowania modelu. Zastąp poniższe wartości zastępcze własnymi wartościami.
Adres URL żądania
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Symbol zastępczy |
Wartość |
Przykład |
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nazwa projektu. Ten parametr uwzględnia wielkość liter. |
myProject |
{JOB-ID} |
Identyfikator dla ustalenia statusu treningu modelu. Ta wartość znajduje się w wartości nagłówka location otrzymanej w poprzednim kroku. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się tutaj, dotyczy najnowszej wersji wydanej. Zobacz Cykl życia modelu, aby dowiedzieć się więcej o innych dostępnych wersjach interfejsu API. |
2022-05-01 |
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
klucz |
Wartość |
Ocp-Apim-Subscription-Key |
Klucz do twojego zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść odpowiedzi
Po wysłaniu żądania otrzymasz następującą odpowiedź.
{
"result": {
"modelLabel": "{MODEL-NAME}",
"trainingConfigVersion": "{CONFIG-VERSION}",
"estimatedEndDateTime": "2022-04-18T15:47:58.8190649Z",
"trainingStatus": {
"percentComplete": 3,
"startDateTime": "2022-04-18T15:45:06.8190649Z",
"status": "running"
},
"evaluationStatus": {
"percentComplete": 0,
"status": "notStarted"
}
},
"jobId": "{JOB-ID}",
"createdDateTime": "2022-04-18T15:44:44Z",
"lastUpdatedDateTime": "2022-04-18T15:45:48Z",
"expirationDateTime": "2022-04-25T15:44:44Z",
"status": "running"
}
Anuluj zadanie trenowania
Aby anulować zadanie szkoleniowe z poziomu programu Language Studio, przejdź do strony Zadania trenowania . Wybierz zadanie szkoleniowe, które chcesz anulować, a następnie wybierz pozycję Anuluj w górnym menu.
Utwórz żądanie POST przy użyciu następującego adresu URL, nagłówków i treści JSON, aby anulować zadanie szkoleniowe.
Adres URL żądania
Podczas tworzenia żądania interfejsu API użyj następującego adresu URL. Zastąp poniższe wartości zastępcze własnymi wartościami.
{Endpoint}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}/:cancel?api-version={API-VERSION}
Symbol zastępczy |
Wartość |
Przykład |
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość jest uwzględniana w wielkości liter. |
EmailApp |
{JOB-ID} |
Ta wartość to identyfikator zadania szkoleniowego. |
XXXXX-XXXXX-XXXX-XX |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się, dotyczy najnowszej wydanej wersji modelu. |
2022-05-01 |
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Klucz |
Wartość |
Ocp-Apim-Subscription-Key |
Klucz do twojego zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Po wysłaniu żądania API otrzymasz odpowiedź 202 z nagłówkiem Operation-Location
, który służy do sprawdzania stanu zadania.
Następne kroki
Po zakończeniu trenowania będzie można wyświetlić wydajność modelu, aby opcjonalnie poprawić model w razie potrzeby. Gdy model jest zadowalający, możesz go wdrożyć, udostępniając go do wyodrębniania jednostek z tekstu.