Udostępnij za pośrednictwem


Schemat YAML z obsługą interfejsu wiersza polecenia platformy Kubernetes z obsługą usługi Azure Arc

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)

Źródłowy schemat JSON można znaleźć pod adresem https://azuremlschemas.azureedge.net/latest/kubernetesOnlineDeployment.schema.json.

Uwaga

Składnia YAML szczegółowo w tym dokumencie jest oparta na schemacie JSON dla najnowszej wersji rozszerzenia interfejsu wiersza polecenia uczenia maszynowego w wersji 2. Ta składnia jest gwarantowana tylko do pracy z najnowszą wersją rozszerzenia interfejsu wiersza polecenia uczenia maszynowego w wersji 2. Schematy dla starszych wersji rozszerzeń można znaleźć pod adresem https://azuremlschemasprod.azureedge.net/.

Składnia YAML

Klucz Type Opis Dozwolone wartości Domyślna wartość
$schema string Schemat YAML. Jeśli używasz rozszerzenia programu VS Code usługi Azure Machine Learning do tworzenia pliku YAML, w tym $schema w górnej części pliku, możesz wywołać uzupełnianie schematu i zasobów.
name string Wymagany. Nazwa wdrożenia.

W tym miejscu zdefiniowano reguły nazewnictwa.
description string Opis wdrożenia.
tags obiekt Słownik tagów wdrożenia.
endpoint_name string Wymagany. Nazwa punktu końcowego do utworzenia wdrożenia w obszarze.
model ciąg lub obiekt Model do użycia na potrzeby wdrożenia. Ta wartość może być odwołaniem do istniejącego modelu w wersji w obszarze roboczym lub specyfikacji wbudowanego modelu.

Aby odwołać się do istniejącego modelu, użyj azureml:<model-name>:<model-version> składni .

Aby zdefiniować wbudowany model, postępuj zgodnie ze schematem modelu.

Najlepszym rozwiązaniem dla scenariuszy produkcyjnych jest utworzenie modelu oddzielnie i odwołanie do niego w tym miejscu.

To pole jest opcjonalne w przypadku niestandardowych scenariuszy wdrażania kontenerów.
model_mount_path string Ścieżka do zainstalowania modelu w kontenerze niestandardowym. Dotyczy tylko niestandardowych scenariuszy wdrażania kontenerów. model Jeśli pole zostanie określone, zostanie ono zainstalowane na tej ścieżce w kontenerze.
code_configuration obiekt Konfiguracja logiki kodu oceniania.

To pole jest opcjonalne w przypadku niestandardowych scenariuszy wdrażania kontenerów.
code_configuration.code string Ścieżka lokalna do katalogu kodu źródłowego na potrzeby oceniania modelu.
code_configuration.scoring_script string Ścieżka względna do pliku oceniania w katalogu kodu źródłowego.
environment_variables obiekt Słownik par klucz-wartość zmiennej środowiskowej do ustawienia w kontenerze wdrażania. Dostęp do tych zmiennych środowiskowych można uzyskać za pomocą skryptów oceniania.
environment ciąg lub obiekt Wymagany. Środowisko do użycia na potrzeby wdrożenia. Ta wartość może być odwołaniem do istniejącego środowiska w wersji w obszarze roboczym lub specyfikacji środowiska wbudowanego.

Aby odwołać się do istniejącego środowiska, użyj azureml:<environment-name>:<environment-version> składni .

Aby zdefiniować wbudowane środowisko, postępuj zgodnie ze schematem środowiska.

Najlepszym rozwiązaniem dla scenariuszy produkcyjnych jest utworzenie środowiska oddzielnie i odwołanie do niego w tym miejscu.
instance_type string Typ wystąpienia używany do umieszczania obciążenia wnioskowania. W przypadku pominięcia obciążenie wnioskowania zostanie umieszczone w domyślnym typie wystąpienia klastra Kubernetes określonego w polu punktu końcowego compute . Jeśli zostanie określony, obciążenie wnioskowania zostanie umieszczone na tym wybranym typie wystąpienia.

Zestaw typów wystąpień dla klastra Kubernetes jest konfigurowany za pośrednictwem niestandardowej definicji zasobów klastra Kubernetes (CRD), dlatego nie są one częścią schematu YAML usługi Azure Machine Learning na potrzeby dołączania obliczeń kubernetes. Aby uzyskać więcej informacji, zobacz Create and select Kubernetes instance types (Tworzenie i wybieranie typów wystąpień kubernetes).
instance_count integer Liczba wystąpień do użycia na potrzeby wdrożenia. Określ wartość na podstawie oczekiwanego obciążenia. To pole jest wymagane tylko wtedy, gdy używasz typu skalowania default (scale_settings.type: default).

instance_count można zaktualizować po utworzeniu wdrożenia za pomocą az ml online-deployment update polecenia .
app_insights_enabled boolean Czy włączyć integrację z wystąpieniem usługi aplikacja systemu Azure Insights skojarzonym z obszarem roboczym. false
scale_settings obiekt Ustawienia skalowania wdrożenia. Obsługiwane dwa typy ustawień skalowania to default typ skalowania i typ skalowania target_utilization .

Za pomocą typu skalowania (scale_settings.type: default) można ręcznie skalować liczbę wystąpień w górę i w dół po utworzeniu defaultinstance_count wdrożenia, aktualizując właściwość.

Aby skonfigurować typ skalowania target_utilization (scale_settings.type: target_utilization), zobacz TargetUcenterScaleSettings , aby uzyskać zestaw konfigurowalnych właściwości.
scale_settings.type string Typ skalowania. default, target_utilization target_utilization
data_collector obiekt Ustawienia zbierania danych dla wdrożenia. Zobacz DataCollector , aby zapoznać się z zestawem konfigurowalnych właściwości.
request_settings obiekt Ustawienia żądania oceniania dla wdrożenia. Zobacz RequestSettings , aby uzyskać zestaw konfigurowalnych właściwości.
liveness_probe obiekt Ustawienia sondy liveness do regularnego monitorowania kondycji kontenera. Zobacz ProbeSettings , aby uzyskać zestaw konfigurowalnych właściwości.
readiness_probe obiekt Ustawienia sondy gotowości do sprawdzania poprawności, czy kontener jest gotowy do obsługi ruchu. Zobacz ProbeSettings , aby uzyskać zestaw konfigurowalnych właściwości.
resources obiekt Wymagania dotyczące zasobów kontenera.
resources.requests obiekt Żądania zasobów dla kontenera. Zobacz ContainerResourceRequests , aby uzyskać zestaw konfigurowalnych właściwości.
resources.limits obiekt Limity zasobów dla kontenera. Zobacz ContainerResourceLimits , aby uzyskać zestaw konfigurowalnych właściwości.

RequestSettings

Klucz Type Opis Domyślna wartość
request_timeout_ms integer Limit czasu oceniania w milisekundach. 5000
max_concurrent_requests_per_instance integer Maksymalna liczba współbieżnych żądań na wystąpienie dozwolone dla wdrożenia.

Nie zmieniaj tego ustawienia z wartości domyślnej, chyba że zostanie wyświetlone polecenie pomocy technicznej firmy Microsoft lub członek zespołu usługi Azure Machine Learning.
1
max_queue_wait_ms integer Maksymalny czas w milisekundach żądania pozostanie w kolejce. 500

ProbeSettings

Klucz Type Opis Domyślna wartość
period integer Jak często (w sekundach) wykonać sondę. 10
initial_delay integer Liczba sekund po uruchomieniu kontenera przed zainicjowaniem sondy. Wartość minimalna to 1. 10
timeout integer Liczba sekund, po których sonda upłynął limit czasu. Wartość minimalna to 1. 2
success_threshold integer Minimalna liczba kolejnych sukcesów dla sondy, która ma zostać uznana za pomyślną po niepodaniu. Wartość minimalna to 1. 1
failure_threshold integer Gdy sonda zakończy się niepowodzeniem, system spróbuje failure_threshold kilka razy przed rezygnacją. Rezygnacja w przypadku sondy liveness oznacza, że kontener zostanie uruchomiony ponownie. W przypadku sondy gotowości kontener zostanie oznaczony jako Nieprzeczytany. Wartość minimalna to 1. 30

TargetUscsiScaleSettings

Klucz Type Opis Domyślna wartość
type const Typ skalowania target_utilization
min_instances integer Minimalna liczba wystąpień do użycia. 1
max_instances integer Maksymalna liczba wystąpień do skalowania do. 1
target_utilization_percentage integer Docelowe użycie procesora CPU dla narzędzia do skalowania automatycznego. 70
polling_interval integer Jak często autoskalator powinien próbować skalować wdrożenie w sekundach. 1

ContainerResourceRequests

Klucz Type opis
cpu string Liczba rdzeni procesora CPU żądanych dla kontenera.
memory string Żądany rozmiar pamięci dla kontenera
nvidia.com/gpu string Liczba kart GPU firmy NVIDIA żądanych dla kontenera

ContainerResourceLimits

Klucz Type opis
cpu string Limit liczby rdzeni procesora CPU dla kontenera.
memory string Limit rozmiaru pamięci dla kontenera.
nvidia.com/gpu string Limit liczby kart GPU firmy NVIDIA dla kontenera

DataCollector

Klucz Type Opis Domyślna wartość
sampling_rate liczba zmiennoprzecinkowa Wartość procentowa, reprezentowana jako współczynnik dziesiętny, danych do zebrania. Na przykład wartość 1,0 reprezentuje zbieranie 100% danych. 1.0
rolling_rate string Szybkość partycjonowania danych w magazynie. Wartość może być następująca: Minuta, Godzina, Dzień, Miesiąc, Rok. Hour
collections obiekt Zestaw poszczególnych elementów collection_namei ich odpowiednich ustawień dla tego wdrożenia.
collections.<collection_name> obiekt Logiczne grupowanie danych wnioskowania produkcyjnego do zbierania (przykład: model_inputs). Istnieją dwie nazwy zarezerwowane: request i response, które odpowiadają odpowiednio zbieraniu danych żądania HTTP i ładunku odpowiedzi. Wszystkie inne nazwy są dowolne i można je definiować przez użytkownika.

Uwaga: Każda collection_name z nich powinna odpowiadać nazwie obiektu używanego Collector we wdrożeniu score.py do zbierania danych wnioskowania produkcyjnego. Aby uzyskać więcej informacji na temat zbierania danych ładunku i zbierania danych przy użyciu dostarczonego zestawu SDK języka Python, zobacz Zbieranie danych z modeli w środowisku produkcyjnym.
collections.<collection_name>.enabled boolean Czy włączyć zbieranie danych dla określonego collection_nameelementu . 'False''
collections.<collection_name>.data.name string Nazwa zasobu danych do zarejestrowania się przy użyciu zebranych danych. <endpoint>-<deployment>-<collection_name>
collections.<collection_name>.data.path string Pełna ścieżka magazynu danych usługi Azure Machine Learning, w której zebrane dane powinny być zarejestrowane jako zasób danych. azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name>
collections.<collection_name>.data.version integer Wersja zasobu danych do zarejestrowania przy użyciu zebranych danych w usłudze Blob Storage. 1

Uwagi

Polecenia az ml online-deployment mogą służyć do zarządzania wdrożeniami online usługi Kubernetes w usłudze Azure Machine Learning.

Przykłady

Przykłady są dostępne w repozytorium GitHub przykłady.

Następne kroki