Udostępnij za pośrednictwem


Punkty końcowe usługi Batch

Usługa Azure Machine Learning umożliwia implementowanie punktów końcowych i wdrożeń wsadowych w celu wykonywania długotrwałego, asynchronicznego wnioskowania za pomocą modeli i potoków uczenia maszynowego. Podczas trenowania modelu lub potoku uczenia maszynowego należy go wdrożyć, aby inni mogli używać go z nowymi danymi wejściowymi do generowania przewidywań. Ten proces generowania przewidywań za pomocą modelu lub potoku jest nazywany wnioskowaniem.

Punkty końcowe partii odbierają wskaźniki do danych i uruchamiają zadania asynchronicznie, aby przetwarzać dane równolegle w klastrach obliczeniowych. Punkty końcowe partii przechowują dane wyjściowe w magazynie danych w celu dalszej analizy. Użyj punktów końcowych wsadowych, gdy:

  • Masz kosztowne modele lub potoki, które wymagają dłuższego czasu do uruchomienia.
  • Chcesz operacjonalizować potoki uczenia maszynowego i ponownie używać składników.
  • Należy przeprowadzić wnioskowanie na dużych ilościach danych dystrybuowanych w wielu plikach.
  • Nie masz wymagań dotyczących małych opóźnień.
  • Dane wejściowe modelu są przechowywane na koncie magazynu lub w zasobie danych usługi Azure Machine Learning.
  • Możesz skorzystać z równoległości.

Wdrożenia wsadowe

Wdrożenie to zestaw zasobów i obliczeń wymaganych do zaimplementowania funkcji zapewnianych przez punkt końcowy. Każdy punkt końcowy może hostować kilka wdrożeń z różnymi konfiguracjami, a ta funkcja ułatwia oddzielenie interfejsu punktu końcowego od szczegółów implementacji zdefiniowanych przez wdrożenie. Po wywołaniu punktu końcowego wsadowego automatycznie kieruje klienta do domyślnego wdrożenia. To domyślne wdrożenie można skonfigurować i zmienić w dowolnym momencie.

Diagram przedstawiający relację między punktem końcowym wsadowym i jego wdrożeniami.

Dwa typy wdrożeń są możliwe w punktach końcowych usługi Azure Machine Learning wsadowych:

Wdrożenie modelu

Wdrożenie modelu umożliwia operacjonalizacja wnioskowania modelu na dużą skalę, umożliwiając przetwarzanie dużych ilości danych w sposób o małym opóźnieniu i asynchronicznym. Usługa Azure Machine Learning automatycznie instrumentuje skalowalność, zapewniając równoległość procesów wnioskowania w wielu węzłach w klastrze obliczeniowym.

Użyj wdrożenia modelu, gdy:

  • Masz kosztowne modele, które wymagają dłuższego czasu na wnioskowanie.
  • Należy przeprowadzić wnioskowanie na dużych ilościach danych dystrybuowanych w wielu plikach.
  • Nie masz wymagań dotyczących małych opóźnień.
  • Możesz skorzystać z równoległości.

Główną zaletą wdrożeń modelu jest to, że można używać tych samych zasobów, które są wdrażane na potrzeby wnioskowania w czasie rzeczywistym w punktach końcowych online, ale teraz można uruchamiać je na dużą skalę w partii. Jeśli model wymaga prostego przetwarzania wstępnego lub przetwarzania końcowego, możesz utworzyć skrypt oceniania, który wykonuje wymagane przekształcenia danych.

Aby utworzyć wdrożenie modelu w punkcie końcowym wsadowym, należy określić następujące elementy:

  • Model
  • Klaster obliczeniowy
  • Skrypt oceniania (opcjonalny dla modeli MLflow)
  • Środowisko (opcjonalne dla modeli MLflow)

Wdrożenie składnika potoku

Wdrożenie składnika potoku umożliwia operacjonalizacja całych grafów przetwarzania (lub potoków) do wykonywania wnioskowania wsadowego w sposób o małym opóźnieniu i asynchronicznym.

Użyj wdrożenia składnika potoku, gdy:

  • Należy wykonać operacjonalizacja pełnych grafów obliczeniowych, które można rozdzielić na wiele kroków.
  • Należy ponownie użyć składników z potoków trenowania w potoku wnioskowania.
  • Nie masz wymagań dotyczących małych opóźnień.

Główną zaletą wdrożeń składników potoku jest możliwość ponownego użycia składników, które już istnieją na platformie, oraz możliwość operacjonalizacji złożonych procedur wnioskowania.

Aby utworzyć wdrożenie składnika potoku w punkcie końcowym wsadowym, należy określić następujące elementy:

  • Składnik potoku
  • Konfiguracja klastra obliczeniowego

Punkty końcowe usługi Batch umożliwiają również tworzenie wdrożeń składników potoku z istniejącego zadania potoku. W takim przypadku usługa Azure Machine Learning automatycznie tworzy składnik potoku poza zadaniem. Upraszcza to korzystanie z tego rodzaju wdrożeń. Jednak najlepszym rozwiązaniem jest jawne tworzenie składników potoku w celu usprawnienia praktyki metodyki MLOps.

Zarządzanie kosztami

Wywoływanie punktu końcowego wsadowego wyzwala asynchroniczne zadanie wnioskowania wsadowego. Usługa Azure Machine Learning automatycznie aprowizuje zasoby obliczeniowe podczas uruchamiania zadania i automatycznie cofa ich przydział podczas wykonywania zadania. W ten sposób płacisz tylko za obliczenia, gdy go używasz.

Napiwek

Podczas wdrażania modeli można zastąpić ustawienia zasobów obliczeniowych (na przykład liczba wystąpień) i ustawienia zaawansowane (takie jak rozmiar minisadowy, próg błędu itd.) dla każdego zadania wnioskowania wsadowego. Korzystając z tych konkretnych konfiguracji, możesz przyspieszyć wykonywanie i obniżyć koszty.

Punkty końcowe usługi Batch mogą również działać na maszynach wirtualnych o niskim priorytcie. Punkty końcowe usługi Batch mogą automatycznie odzyskiwać sprawność po cofniętych przydziałach maszyn wirtualnych i wznawiać pracę od miejsca, w którym została pozostawiona podczas wdrażania modeli na potrzeby wnioskowania. Aby uzyskać więcej informacji na temat używania maszyn wirtualnych o niskim priorytcie w celu zmniejszenia kosztów obciążeń wnioskowania wsadowego, zobacz Używanie maszyn wirtualnych o niskim priorytcie w punktach końcowych wsadowych.

Na koniec usługa Azure Machine Learning nie pobiera opłat za punkty końcowe wsadowe ani wdrożenia wsadowe, dzięki czemu możesz organizować punkty końcowe i wdrożenia zgodnie z twoim scenariuszem. Punkty końcowe i wdrożenia mogą używać niezależnych lub udostępnionych klastrów, dzięki czemu można uzyskać szczegółową kontrolę nad tym, z których są obliczane zadania. Użyj skalowania do zera w klastrach, aby upewnić się, że żadne zasoby nie są używane podczas bezczynności.

Usprawnij praktykę metodyki MLOps

Punkty końcowe usługi Batch mogą obsługiwać wiele wdrożeń w ramach tego samego punktu końcowego, co umożliwia zmianę implementacji punktu końcowego bez zmiany adresu URL używanego przez użytkowników do jego wywoływania.

Wdrożenia można dodawać, usuwać i aktualizować bez wpływu na sam punkt końcowy.

Diagram przedstawiający sposób użycia wielu wdrożeń w ramach tego samego punktu końcowego.

Elastyczne źródła danych i magazyn

Punkty końcowe usługi Batch odczytują i zapisują dane bezpośrednio z magazynu. Jako dane wejściowe można określić magazyny danych usługi Azure Machine Learning, zasoby danych usługi Azure Machine Learning lub konta magazynu. Aby uzyskać więcej informacji na temat obsługiwanych opcji wejściowych i sposobu ich określania, zobacz Tworzenie zadań i danych wejściowych w punktach końcowych wsadowych.

Zabezpieczenia

Punkty końcowe usługi Batch zapewniają wszystkie możliwości wymagane do obsługi obciążeń na poziomie produkcyjnym w ustawieniu przedsiębiorstwa. Obsługują one sieć prywatną w zabezpieczonych obszarach roboczych i uwierzytelnianiu firmy Microsoft Entra przy użyciu jednostki użytkownika (takiej jak konto użytkownika) lub jednostki usługi (takiej jak tożsamość zarządzana lub niezarządzana). Zadania generowane przez punkt końcowy wsadowy są uruchamiane w ramach tożsamości obiektu invoker, co zapewnia elastyczność implementacji dowolnego scenariusza. Aby uzyskać więcej informacji na temat autoryzacji podczas korzystania z punktów końcowych wsadowych, zobacz Jak uwierzytelniać się w punktach końcowych wsadowych.