Konfigurowanie rozwiązania AutoML do trenowania modelu przetwarzania języka naturalnego
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)
Z tego artykułu dowiesz się, jak trenować modele przetwarzania języka naturalnego (NLP) za pomocą zautomatyzowanego uczenia maszynowego w usłudze Azure Machine Learning. Modele NLP można tworzyć za pomocą zautomatyzowanego uczenia maszynowego za pomocą zestawu SDK języka Python usługi Azure Machine Learning w wersji 2 lub interfejsu wiersza polecenia usługi Azure Machine Learning w wersji 2.
Zautomatyzowane uczenie maszynowe obsługuje nlp, co umożliwia specjalistom uczenia maszynowego i analitykom danych wprowadzanie własnych danych tekstowych i tworzenie niestandardowych modeli na potrzeby zadań NLP. Zadania NLP obejmują klasyfikację tekstu wieloklasowego, klasyfikację tekstu z wieloma etykietami i rozpoznawanie nazwanych jednostek (NER).
Możesz bezproblemowo zintegrować z funkcją etykietowania danych usługi Azure Machine Learning, aby oznaczyć dane tekstowe lub przenieść istniejące dane z etykietami. Zautomatyzowane uczenie maszynowe zapewnia możliwość korzystania z trenowania rozproszonego w klastrach obliczeniowych z wieloma procesorami GPU w celu szybszego trenowania modelu. Wynikowy model można zoperacjonalizować na dużą skalę przy użyciu możliwości metodyki MLOps usługi Azure Machine Learning.
Wymagania wstępne
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, zarejestruj się, aby wypróbować bezpłatną lub płatną wersję usługi Azure Machine Learning już dziś.
Obszar roboczy usługi Azure Machine Learning z obliczeniami trenowania procesora GPU. Aby utworzyć obszar roboczy, zobacz Tworzenie zasobów obszaru roboczego. Aby uzyskać więcej informacji, zobacz Rozmiary maszyn wirtualnych zoptymalizowanych pod kątem procesora GPU, aby uzyskać więcej informacji na temat wystąpień procesora GPU udostępnianych przez platformę Azure.
Ostrzeżenie
Obsługa modeli wielojęzycznych i korzystanie z modeli o dłuższej maksymalnej długości sekwencji jest niezbędna w przypadku kilku przypadków użycia nlp, takich jak zestawy danych innych niż angielskie i dokumenty o dłuższym zakresie. W związku z tym te scenariusze mogą wymagać większej ilości pamięci procesora GPU, aby trenowanie modelu powiodło się, takie jak seria NC_v3 lub seria ND.
Zainstalowany interfejs wiersza polecenia usługi Azure Machine Learning w wersji 2. Aby uzyskać wskazówki dotyczące aktualizowania i instalowania najnowszej wersji, zobacz Instalowanie i konfigurowanie interfejsu wiersza polecenia (wersja 2).
W tym artykule założono, że znasz konfigurowanie eksperymentu zautomatyzowanego uczenia maszynowego. Postępuj zgodnie z instrukcjami, aby zobaczyć główne wzorce projektowania eksperymentów zautomatyzowanego uczenia maszynowego.
Wybierz zadanie NLP
Określ, jakie zadanie NLP chcesz wykonać. Obecnie zautomatyzowane uczenie maszynowe obsługuje następujące zadania głębokiej sieci neuronowej NLP.
Zadanie | Składnia zadania rozwiązania AutoML | opis |
---|---|---|
Klasyfikacja tekstu wieloklasowego | Interfejs wiersza polecenia w wersji 2: text_classification Zestaw SDK w wersji 2: text_classification() |
Istnieje wiele możliwych klas, a każda próbka może być klasyfikowana jako dokładnie jedna klasa. Zadanie polega na przewidywaniu poprawnej klasy dla każdej próbki. Na przykład klasyfikowanie skryptu filmu jako "Komedia" lub "Romantyk". |
Klasyfikacja tekstu z wieloma etykietami | Interfejs wiersza polecenia w wersji 2: text_classification_multilabel Zestaw SDK w wersji 2: text_classification_multilabel() |
Istnieje wiele możliwych klas, a każda próbka może mieć przypisaną dowolną liczbę klas. Zadanie polega na przewidywaniu wszystkich klas dla każdej próbki Na przykład klasyfikowanie skryptu filmowego jako "Komedia" lub "Romantyk" lub "Komedia i romantyczny". |
Rozpoznawanie jednostek nazwanych | Interfejs wiersza polecenia w wersji 2:text_ner Zestaw SDK w wersji 2: text_ner() |
Istnieje wiele możliwych tagów tokenów w sekwencjach. Zadanie polega na przewidywaniu tagów dla wszystkich tokenów dla każdej sekwencji. Na przykład wyodrębnianie jednostek specyficznych dla domeny z tekstu bez struktury, takiego jak kontrakty lub dokumenty finansowe. |
Progowanie
Progowanie to funkcja z wieloma etykietami, która umożliwia użytkownikom wybranie progu, który przewidywane prawdopodobieństwo doprowadzi do pozytywnej etykiety. Niższe wartości umożliwiają uzyskanie większej liczby etykiet, co jest lepsze, gdy użytkownicy dbają o kompletność, ale ta opcja może prowadzić do większej liczby wyników fałszywie dodatnich. Wyższe wartości umożliwiają mniejszą liczbę etykiet, a tym samym lepszą dla użytkowników, którzy dbają o precyzję, ale ta opcja może prowadzić do większej liczby wyników fałszywie ujemnych.
Przygotowywanie danych
W przypadku eksperymentów NLP w zautomatyzowanym uczeniu maszynowym można udostępnić dane w .csv
formacie dla zadań klasyfikacji wieloklasowej i wieloeznakowej. W przypadku zadań NER obsługiwane są pliki dwukolumnowe .txt
używające spacji jako separatora i zgodne z formatem CoNLL. Poniższe sekcje zawierają szczegółowe informacje o formacie danych akceptowanym dla każdego zadania.
Wiele klas
W przypadku klasyfikacji wieloklasowej zestaw danych może zawierać kilka kolumn tekstowych i dokładnie jedną kolumnę etykiety. W poniższym przykładzie jest tylko jedna kolumna tekstowa.
text,labels
"I love watching Chicago Bulls games.","NBA"
"Tom Brady is a great player.","NFL"
"There is a game between Yankees and Orioles tonight","MLB"
"Stephen Curry made the most number of 3-Pointers","NBA"
Wiele etykiet
W przypadku klasyfikacji z wieloma etykietami kolumny zestawu danych będą takie same jak w przypadku wielu klas, jednak istnieją specjalne wymagania dotyczące formatu danych w kolumnie etykiety. Dwa zaakceptowane formaty i przykłady znajdują się w poniższej tabeli.
Opcje formatowania kolumn etykiet | Wiele etykiet | Jedna etykieta | Brak etykiet |
---|---|---|---|
Zwykły tekst | "label1, label2, label3" |
"label1" |
"" |
Lista języka Python z cudzysłowami | "['label1','label2','label3']" |
"['label1']" |
"[]" |
Ważne
Różne analizatory służą do odczytywania etykiet dla tych formatów. Jeśli używasz formatu zwykłego tekstu, użyj tylko alfabetycznych, liczbowych i '_'
w etykietach. Wszystkie inne znaki są rozpoznawane jako separator etykiet.
Jeśli na przykład etykieta to "cs.AI"
, jest ona odczytywana jako "cs"
i "AI"
. Mając format listy języka Python, etykieta będzie miała "['cs.AI']"
wartość , która jest odczytywana jako "cs.AI"
.
Przykładowe dane dla wielu etykiet w formacie zwykłego tekstu.
text,labels
"I love watching Chicago Bulls games.","basketball"
"The four most popular leagues are NFL, MLB, NBA and NHL","football,baseball,basketball,hockey"
"I like drinking beer.",""
Przykładowe dane dla wielu etykiet na liście języka Python z formatem cudzysłowów.
text,labels
"I love watching Chicago Bulls games.","['basketball']"
"The four most popular leagues are NFL, MLB, NBA and NHL","['football','baseball','basketball','hockey']"
"I like drinking beer.","[]"
Rozpoznawanie nazwanych jednostek (NER)
W przeciwieństwie do wielu klas lub wielu etykiet, które mają .csv
format zestawów danych, rozpoznawanie nazwanych jednostek wymaga formatu CoNLL. Plik musi zawierać dokładnie dwie kolumny, a w każdym wierszu token i etykietę są oddzielone pojedynczą spacją.
Na przykład:
Hudson B-loc
Square I-loc
is O
a O
famous O
place O
in O
New B-loc
York I-loc
City I-loc
Stephen B-per
Curry I-per
got O
three O
championship O
rings O
Sprawdzanie poprawności danych
Przed trenowanie modelu zautomatyzowane uczenie maszynowe stosuje sprawdzanie poprawności danych wejściowych, aby upewnić się, że dane można wstępnie przetworzyć. Jeśli którykolwiek z tych testów zakończy się niepowodzeniem, przebieg zakończy się niepowodzeniem z odpowiednim komunikatem o błędzie. Poniżej przedstawiono wymagania dotyczące przekazywania testów poprawności danych dla każdego zadania.
Uwaga
Niektóre testy sprawdzania poprawności danych mają zastosowanie zarówno do trenowania, jak i zestawu weryfikacji, natomiast inne mają zastosowanie tylko do zestawu treningowego. Jeśli testowy zestaw danych nie może przejść weryfikacji danych, oznacza to, że zautomatyzowane uczenie maszynowe nie może go przechwycić i istnieje możliwość niepowodzenia wnioskowania modelu lub spadku wydajności modelu.
Zadanie | Sprawdzanie poprawności danych |
---|---|
Wszystkie zadania | Wymagane jest co najmniej 50 próbek szkoleniowych |
Wiele klas i wiele etykiet | Dane szkoleniowe i dane weryfikacji muszą mieć - Ten sam zestaw kolumn — Taka sama kolejność kolumn od lewej do prawej — Ten sam typ danych dla kolumn o tej samej nazwie - Co najmniej dwie unikatowe etykiety - Unikatowe nazwy kolumn w każdym zestawie danych (na przykład zestaw treningowy nie może mieć wielu kolumn o nazwie Age) |
Tylko wiele klas | Brak |
Tylko wiele etykiet | - Format kolumny etykiety musi być w akceptowanym formacie - Co najmniej jedna próbka powinna mieć etykiety 0 lub 2+, w przeciwnym razie powinno to być multiclass zadanie — Wszystkie etykiety powinny być w str formacie lub int bez nakładania się. Nie należy mieć etykiety 1 i etykiety '1' |
Tylko NER | — Plik nie powinien zaczynać się od pustego wiersza — Każdy wiersz musi być pustym wierszem lub postępować zgodnie z formatem {token} {label} , gdzie istnieje dokładnie jedno miejsce między tokenem a etykietą i bez odstępu po etykiecie — Wszystkie etykiety muszą zaczynać się od I- , B- lub być dokładnie O . Uwzględniana wielkość liter - Dokładnie jeden pusty wiersz między dwoma próbkami - Dokładnie jeden pusty wiersz na końcu pliku |
Konfigurowanie eksperymentu
Funkcja NLP zautomatyzowanego uczenia maszynowego jest wyzwalana za pomocą zadań specyficznych dla zadania określonego automl
zadania, które są tym samym przepływem pracy do przesyłania zautomatyzowanych eksperymentów uczenia maszynowego na potrzeby zadań klasyfikacji, regresji i prognozowania. Parametry można ustawić tak, jak w przypadku tych eksperymentów, takich jak experiment_name
, compute_name
i dane wejściowe.
Istnieją jednak kluczowe różnice:
- Możesz zignorować
primary_metric
wartość , ponieważ jest to tylko do celów raportowania. Obecnie zautomatyzowane uczenie maszynowe trenuje tylko jeden model na przebieg dla nlp i nie ma wyboru modelu. - Parametr
label_column_name
jest wymagany tylko w przypadku zadań klasyfikacji tekstu wieloklasowej i wieloetekstowej. - Jeśli więcej niż 10% próbek w zestawie danych zawiera więcej niż 128 tokenów, jest uważany za długi zakres.
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
W przypadku zadań zautomatyzowanego uczenia maszynowego interfejsu wiersza polecenia w wersji 2 należy skonfigurować eksperyment w pliku YAML, tak jak poniżej.
Ustawienia językowe
W ramach funkcji NLP zautomatyzowane uczenie maszynowe obsługuje 104 języki wykorzystujące wstępnie wytrenowane modele nazw DNN specyficzne dla języka i wielojęzyczne, takie jak rodzina modeli. Obecnie wybór języka jest domyślnie domyślny dla języka angielskiego.
W poniższej tabeli podsumowano, jaki model jest stosowany na podstawie typu i języka zadań. Zobacz pełną listę obsługiwanych języków i ich kodów.
Typ zadania | Składnia dla dataset_language |
Algorytm modelu tekstu |
---|---|---|
Klasyfikacja tekstu z wieloma etykietami | "eng" "deu" "mul" |
Angielski bez liter Niemiecki Wielojęzyczny W przypadku wszystkich innych języków zautomatyzowane uczenie maszynowe stosuje wielojęzyczne |
Klasyfikacja tekstu wieloklasowego | "eng" "deu" "mul" |
Angielski przypadek Wielojęzyczny W przypadku wszystkich innych języków zautomatyzowane uczenie maszynowe stosuje wielojęzyczne |
Rozpoznawanie nazwanych jednostek (NER) | "eng" "deu" "mul" |
Angielski przypadek Niemiecki Wielojęzyczny W przypadku wszystkich innych języków zautomatyzowane uczenie maszynowe stosuje wielojęzyczne |
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
Język zestawu danych można określić w sekcji cechowania pliku YAML konfiguracji. jest również używany w procesie cechowania zautomatyzowanego trenowania eksperymentów uczenia maszynowego, dowiedz się więcej na temat integracji i cechowania w zautomatyzowanym uczeniu maszynowym (SDK w wersji 1).
featurization:
dataset_language: "eng"
Szkolenie rozproszone
Możesz również uruchomić eksperymenty NLP z rozproszonym szkoleniem w klastrze obliczeniowym usługi Azure Machine Learning.
Przesyłanie zadania automatycznego uczenia maszynowego
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
Aby przesłać zadanie rozwiązania AutoML, możesz uruchomić następujące polecenie interfejsu wiersza polecenia w wersji 2 ze ścieżką do pliku .yml, nazwy obszaru roboczego, grupy zasobów i identyfikatora subskrypcji.
az ml job create --file ./hello-automl-job-basic.yml --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Przykłady kodu
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
Zobacz następujące przykładowe pliki YAML dla każdego zadania NLP.
Zamiatanie modeli i dostrajanie hiperparametrów (wersja zapoznawcza)
Ważne
Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.
Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
Funkcja NLP automatycznego uczenia maszynowego umożliwia udostępnienie listy modeli i kombinacji hiperparametrów za pośrednictwem przestrzeni wyszukiwania hiperparametrów w konfiguracji. Funkcja Hyperdrive generuje kilka przebiegów podrzędnych, z których każdy jest przebiegiem dostrajania dla danego modelu NLP i zestawem wartości hiperparametrów, które zostały wybrane i przetoczyły się na podstawie podanej przestrzeni wyszukiwania.
Obsługiwane algorytmy modelu
Poniżej wymieniono wszystkie wstępnie wytrenowane modele sieci DNN tekstu dostępne w rozwiązaniu NlP automatycznego uczenia maszynowego do dostrajania:
- -base-cased
- -large-uncased
- -base-multilingual-cased
- -base-german-cased
- -large-cased
- distilbert-base-cased
- distilbert-base-uncased
- roberta-base
- roberta-large
- distilroberta-base
- xlm-roberta-base
- xlm-roberta-large
- xlnet-base-cased
- xlnet-large-cased
Należy pamiętać, że duże modele są większe niż ich odpowiedniki podstawowe. Zazwyczaj są one bardziej wydajne, ale zajmują więcej pamięci i czasu na trenowanie. W związku z tym ich wymagania dotyczące jednostki SKU są bardziej rygorystyczne: zalecamy uruchamianie na maszynach wirtualnych serii ND w celu uzyskania najlepszych wyników.
Obsługiwane algorytmy modelu — HuggingFace (wersja zapoznawcza)
Po uruchomieniu nowego zaplecza w potokach usługi Azure Machine Learning można dodatkowo użyć dowolnego modelu klasyfikacji tekstu/tokenu z centrum HuggingFace dla klasyfikacji tekstu, klasyfikacji tokenów będącej częścią biblioteki przekształcania (np. microsoft/deberta-large-mnli). Możesz również znaleźć listę wyselekcjonowanych modeli w rejestrze modeli usługi Azure Machine Learning, które zostały zweryfikowane przy użyciu składników potoku.
Użycie dowolnego modelu HuggingFace spowoduje wyzwolenie przebiegów przy użyciu składników potoku. Jeśli są używane zarówno starsze modele, jak i HuggingFace, wszystkie uruchomienia/wersje próbne zostaną wyzwolone przy użyciu składników.
Obsługiwane hiperparametry
W poniższej tabeli opisano hiperparametry obsługiwane przez funkcję NlP rozwiązania AutoML.
Nazwa parametru | opis | Składnia |
---|---|---|
gradient_accumulation_steps | Liczba operacji wstecznych, których gradienty mają zostać podsumowane przed wykonaniem jednego kroku spadku gradientu przez wywołanie funkcji kroku optymalizatora. Jest to użycie efektywnego rozmiaru partii, który jest gradient_accumulation_steps razy większy niż maksymalny rozmiar pasujący do procesora GPU. |
Musi być dodatnią liczbą całkowitą. |
learning_rate | Początkowa szybkość nauki. | Musi być zmiennoprzecinkowym w zakresie (0, 1). |
learning_rate_scheduler | Typ harmonogramu szybkości nauki. | Musi wybrać jedną z linear, cosine, cosine_with_restarts, polynomial, constant, constant_with_warmup opcji . |
model_name | Nazwa jednego z obsługiwanych modeli. | Musi wybrać jedną z bert_base_cased, bert_base_uncased, bert_base_multilingual_cased, bert_base_german_cased, bert_large_cased, bert_large_uncased, distilbert_base_cased, distilbert_base_uncased, roberta_base, roberta_large, distilroberta_base, xlm_roberta_base, xlm_roberta_large, xlnet_base_cased, xlnet_large_cased opcji . |
number_of_epochs | Liczba epok treningowych. | Musi być dodatnią liczbą całkowitą. |
training_batch_size | Rozmiar partii trenowania. | Musi być dodatnią liczbą całkowitą. |
validation_batch_size | Sprawdzanie poprawności rozmiaru partii. | Musi być dodatnią liczbą całkowitą. |
warmup_ratio | Współczynnik całkowitych kroków treningowych używanych do rozgrzewki liniowej z zakresu od 0 do learning_rate. | Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
weight_decay | Wartość rozkładu masy, gdy optymalizator jest sgd, adam lub adamw. | Musi być zmiennoprzecinkowym w zakresie [0, 1]. |
Wszystkie dyskretne hiperparametry zezwalają tylko na dystrybucje wyboru, takie jak liczba całkowita typu training_batch_size
i hiperparametry typu model_name
ciąg. Wszystkie hiperparametry ciągłe, takie jak learning_rate
obsługa wszystkich dystrybucji.
Konfigurowanie ustawień zamiatania
Możesz skonfigurować wszystkie parametry związane z funkcjami zamiatania. Wiele przestrzeni podrzędnych modelu można utworzyć za pomocą hiperparametrów warunkowych dla odpowiedniego modelu, jak pokazano w każdym przykładzie dostrajania hiperparametrów.
W tym miejscu są obsługiwane te same dyskretne i ciągłe opcje dystrybucji, które są dostępne dla ogólnych zadań funkcji HyperDrive. Zobacz wszystkie dziewięć opcji dostrajania hiperparametrów modelu
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
limits:
timeout_minutes: 120
max_trials: 4
max_concurrent_trials: 2
sweep:
sampling_algorithm: grid
early_termination:
type: bandit
evaluation_interval: 10
slack_factor: 0.2
search_space:
- model_name:
type: choice
values: [bert_base_cased, roberta_base]
number_of_epochs:
type: choice
values: [3, 4]
- model_name:
type: choice
values: [distilbert_base_cased]
learning_rate:
type: uniform
min_value: 0.000005
max_value: 0.00005
Metody próbkowania dla zamiatania
Podczas zamiatania hiperparametrów należy określić metodę próbkowania, która ma być używana do zamiatania przez zdefiniowaną przestrzeń parametrów. Obecnie następujące metody próbkowania są obsługiwane za pomocą parametru sampling_algorithm
:
Typ próbkowania | Składnia zadania rozwiązania AutoML |
---|---|
Losowe próbkowanie | random |
Próbkowanie siatki | grid |
Próbkowanie bayesowskie | bayesian |
Budżet eksperymentu
Opcjonalnie możesz określić budżet eksperymentu dla zadania trenowania nlp zautomatyzowanego uczenia maszynowego przy użyciu parametru timeout_minutes
w parametrze limits
— czas w minutach przed zakończeniem eksperymentu. Jeśli żaden z nich nie zostanie określony, domyślny limit czasu eksperymentu wynosi siedem dni (maksymalnie 60 dni).
Funkcja NLP automatycznego uczenia maszynowego obsługuje trial_timeout_minutes
również maksymalny czas w minutach, przez który może zostać uruchomiona indywidualna wersja próbna przed zakończeniem, oraz max_nodes
maksymalna liczba węzłów z klastra obliczeniowego pomocniczego do użycia dla zadania. Te parametry należą również do limits
sekcji.
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
limits:
timeout_minutes: 60
trial_timeout_minutes: 20
max_nodes: 2
Zasady wczesnego kończenia
Możesz automatycznie zakończyć przebiegi o niskiej wydajności z zasadami wczesnego kończenia. Wczesne zakończenie poprawia wydajność obliczeniową, oszczędzając zasoby obliczeniowe, które w przeciwnym razie zostałyby wydane na mniej obiecujące konfiguracje. Funkcja NLP automatycznego uczenia maszynowego obsługuje zasady wczesnego kończenia przy użyciu parametru early_termination
. Jeśli nie określono żadnych zasad zakończenia, wszystkie konfiguracje są uruchamiane do ukończenia.
Dowiedz się więcej na temat konfigurowania zasad wczesnego zakończenia dla zamiatania hiperparametrów.
Zasoby dla zamiatania
Możesz kontrolować zasoby wydane na zamiatanie hiperparametrów, określając max_trials
wartości i max_concurrent_trials
dla zamiatania.
Parametr | Szczegół |
---|---|
max_trials |
Parametr maksymalnej liczby konfiguracji do zamiatania. Musi być liczbą całkowitą z zakresu od 1 do 1000. Podczas eksplorowania tylko domyślnych hiperparametrów dla danego algorytmu modelu ustaw ten parametr na 1. Domyślna wartość wynosi 1. |
max_concurrent_trials |
Maksymalna liczba przebiegów, które mogą być uruchamiane współbieżnie. W przypadku określenia musi być liczbą całkowitą z zakresu od 1 do 100. Domyślna wartość wynosi 1. UWAGA: max_concurrent_trials jest ograniczona max_trials wewnętrznie. Jeśli na przykład użytkownik ustawia max_concurrent_trials=4 wartości , max_trials=2 wartości zostaną wewnętrznie zaktualizowane jako max_concurrent_trials=2 , max_trials=2 . |
Wszystkie parametry powiązane z funkcjami zamiatania można skonfigurować, jak pokazano w tym przykładzie.
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
sweep:
limits:
max_trials: 10
max_concurrent_trials: 2
sampling_algorithm: random
early_termination:
type: bandit
evaluation_interval: 2
slack_factor: 0.2
delay_evaluation: 6
Znane problemy
Radzenie sobie z niskimi wynikami lub wyższymi wartościami strat:
W przypadku niektórych zestawów danych, niezależnie od zadania NLP, wygenerowane wyniki mogą być bardzo niskie, czasami nawet zero. Ten wynik jest dołączony przez wyższe wartości strat, co oznacza, że sieć neuronowa nie mogła się zbieżnie. Te wyniki mogą występować częściej w przypadku niektórych jednostek SKU procesora GPU.
Chociaż takie przypadki są rzadkie, są one możliwe i najlepszym sposobem obsługi jest wykorzystanie dostrajania hiperparametrów i zapewnienie szerszego zakresu wartości, zwłaszcza w przypadku hiperparametrów, takich jak współczynniki uczenia. Dopóki nasza funkcja dostrajania hiperparametrów nie będzie dostępna w środowisku produkcyjnym, zalecamy użytkownikom, którzy napotykają te problemy, aby korzystać z klastrów obliczeniowych NC6 lub ND6. Te klastry zwykle mają wyniki trenowania, które są dość stabilne.