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 default instance_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_name i 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_name elementu . |
'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.