Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY:
Rozszerzenie Azure CLI ml w wersji 2 (bieżąca)
Python SDK azure-ai-ml w wersji 2 (bieżąca)
Po wyszkoleniu modeli uczenia maszynowego lub potokach lub znalezieniu odpowiednich modeli z katalogu modeli należy wdrożyć je w środowisku produkcyjnym, aby inne osoby mogły korzystać z wnioskowania. Wnioskowanie to proces stosowania nowych danych wejściowych do modelu uczenia maszynowego lub potoku w celu wygenerowania danych wyjściowych. Chociaż te dane wyjściowe są zwykle nazywane "przewidywaniami", wnioskowanie może generować dane wyjściowe dla innych zadań uczenia maszynowego, takich jak klasyfikacja i klastrowanie. W usłudze Azure Machine Learning wnioskowanie jest wykonywane przy użyciu punktów końcowych.
Punkty końcowe i wdrożenia
Punkt końcowy to stabilny i trwały adres URL, którego można użyć do żądania lub wywołania modelu. Należy podać wymagane dane wejściowe do punktu końcowego i odebrać dane wyjściowe. Usługa Azure Machine Learning obsługuje standardowe wdrożenia, punkty końcowe online i punkty końcowe wsadowe. Punkt końcowy zapewnia:
- Stabilny i trwały adres URL (taki jak endpoint-name.region.inference.ml.azure.com)
- Mechanizm uwierzytelniania
- Mechanizm autoryzacji
Wdrożenie to zestaw zasobów i zasobów obliczeniowych wymaganych do hostowania modelu lub składnika, który wykonuje rzeczywiste wnioskowanie. Punkt końcowy zawiera wdrożenie. W przypadku punktów końcowych, zarówno online, jak i wsadowych, jeden punkt końcowy może zawierać kilka działań wdrożeniowych. Wdrożenia mogą hostować niezależne zasoby i zużywać różne zasoby na podstawie potrzeb zasobów. Punkt końcowy ma również mechanizm routingu, który może kierować żądania do dowolnego z jego wdrożeń.
Niektóre typy punktów końcowych w usłudze Azure Machine Learning zużywają dedykowane zasoby we wdrożeniach. Aby te punkty końcowe były uruchamiane, musisz mieć limit przydziału zasobów obliczeniowych w ramach subskrypcji platformy Azure. Jednak niektóre modele obsługują wdrożenie bezserwerowe, co pozwala im nie korzystać z limitu przydziału z twojej subskrypcji. W przypadku wdrożeń bezserwerowych opłaty są naliczane na podstawie użycia.
Intuition
Załóżmy, że pracujesz nad aplikacją, która przewiduje typ i kolor samochodu ze zdjęcia. W przypadku tej aplikacji użytkownik z pewnymi poświadczeniami wysyła żądanie HTTP do adresu URL i udostępnia obraz samochodu w ramach żądania. W zamian użytkownik otrzymuje odpowiedź zawierającą typ i kolor samochodu jako wartości ciągu. W tym scenariuszu adres URL służy jako punkt końcowy.
Teraz załóżmy, że analityk danych Alice implementuje aplikację. Alice ma rozbudowane środowisko TensorFlow i decyduje się wdrożyć model przy użyciu klasyfikatora sekwencyjnego Keras z architekturą ResNet z usługi TensorFlow Hub. Po przetestowaniu modelu Alice jest zadowolona ze swoich wyników i decyduje się na użycie modelu do rozwiązania problemu z przewidywaniem samochodu. Model jest duży i wymaga 8 GB pamięci z 4 rdzeniami do uruchomienia. W tym scenariuszu model Alicji i zasoby — takie jak kod i obliczenia — które są wymagane do uruchomienia modelu tworzą wdrożenie w punkcie końcowym.
Po kilku miesiącach organizacja odkrywa, że aplikacja działa słabo na obrazach ze słabymi warunkami oświetlenia. Bob, inny analityk danych, ma wiedzę na temat technik rozszerzania danych, które pomagają modelom tworzyć niezawodność tego czynnika. Jednak Bob woli używać PyTorch do implementowania modelu i trenowania nowego modelu z PyTorch. Bob chce stopniowo testować ten model w środowisku produkcyjnym, dopóki organizacja nie będzie gotowa do wycofania starego modelu. Nowy model działa również lepiej podczas wdrażania na GPU, więc wdrożenie musi obejmować GPU. W tym scenariuszu model Boba i zasoby — takie jak kod i obliczenia — które są wymagane do uruchomienia modelu tworzą kolejne wdrożenie w ramach tego samego punktu końcowego.
Punkty końcowe: standardowe wdrożenie, online i wsadowe
Usługa Azure Machine Learning obsługuje standardowe wdrożenia, punkty końcowe online i punkty końcowe wsadowe.
Wdrożenia standardowe i punkty końcowe online są przeznaczone do wnioskowania w czasie rzeczywistym. Po wywołaniu punktu końcowego wyniki są zwracane w odpowiedzi punktu końcowego. Wdrożenia standardowe nie korzystają z limitu przydziału z subskrypcji; zamiast tego są rozliczane standardowo.
Punkty końcowe usługi Batch są przeznaczone do długotrwałego wnioskowania wsadowego. Podczas wywoływania punktu końcowego wsadowego generowane jest zadanie wsadowe, które wykonuje rzeczywistą pracę.
Kiedy należy używać standardowych punktów końcowych wdrażania, online i wsadowych
Wdrożenie standardowe:
Użyj standardowych wdrożeń, aby korzystać z dużych bazowych modeli na potrzeby wnioskowania w czasie rzeczywistym gotowych do użycia lub dostrajania takich modeli. Nie wszystkie modele są dostępne do wdrożenia we wdrożeniach standardowych. Zalecamy używanie tego trybu wdrażania w przypadku:
- Państwa model to model bazowy lub dostosowana wersja modelu bazowego, który jest dostępny do standardowych wdrożeń.
- Możesz skorzystać z wdrożenia bez limitu przydziału.
- Nie musisz dostosowywać stosu wnioskowania używanego do uruchamiania modelu.
Punkty końcowe online:
Użyj punktów końcowych online , aby wdrożyć modele do wnioskowania w czasie rzeczywistym w synchronicznych żądaniach o niskim opóźnieniu. Zalecamy ich używanie w przypadku:
- Twój model jest podstawowym modelem lub dostrojoną wersją podstawowego modelu, ale nie jest obsługiwany w standardowym środowisku wdrożeniowym.
- Wymagania dotyczące małych opóźnień.
- Model może odpowiedzieć na żądanie w stosunkowo krótkim czasie.
- Dane wejściowe modelu mieszczą się w pakiecie żądania HTTP.
- Musisz skalować w górę pod względem liczby żądań.
Punkty końcowe usługi Batch:
Użyj punktów końcowych wsadowych , aby operacjonalizować modele lub potoki na potrzeby długotrwałego wnioskowania asynchronicznego. Zalecamy ich używanie w przypadku:
- 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, które są dystrybuowane 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.
Porównanie standardowych punktów wdrożenia, punktów końcowych online oraz wsadowych punktów końcowych
Wszystkie standardowe wdrożenia, punkty końcowe online i punkty końcowe wsadowe są oparte na idei punktów końcowych, dlatego można łatwo przejść z jednego do drugiego. Punkty końcowe online i wsadowe mogą również zarządzać wieloma wdrożeniami dla tego samego punktu końcowego.
Endpoints
W poniższej tabeli przedstawiono podsumowanie różnych funkcji dostępnych na poziomie punktu końcowego dla standardowych wdrożeń, punktów końcowych online i punktów końcowych wsadowych.
| Feature | Wdrożenia standardowe | Punkty końcowe online | Punkty końcowe usługi Batch |
|---|---|---|---|
| Stabilny adres URL wywołania | Yes | Yes | Yes |
| Obsługa wielu wdrożeń | No | Yes | Yes |
| Routing wdrożenia | None | Podział ruchu | Przełącz do domyślnego |
| Dublowanie ruchu w celu bezpiecznego wprowadzania | No | Yes | No |
| Obsługa Swagger | Yes | Yes | No |
| Authentication | Key | Klucz i identyfikator entra firmy Microsoft (wersja zapoznawcza) | Microsoft Entra ID |
| Obsługa sieci prywatnej (starsza wersja) | No | Yes | Yes |
| Izolacja sieci zarządzanej | Yes | Yes | Tak (zobacz wymaganą dodatkową konfigurację) |
| Klucze zarządzane przez klienta | NA | Yes | Yes |
| Podstawa kosztów | Na punkt końcowy, na minutę1 | None | None |
1Niewielka część jest naliczana za każdą minutę standardowego wdrożenia. Zobacz sekcję wdrożenia, aby uzyskać opłaty związane z konsumpcją, które są rozliczane za token.
Deployments
W poniższej tabeli przedstawiono podsumowanie różnych funkcji dostępnych dla standardowych wdrożeń, punktów końcowych online i punktów końcowych partii na poziomie wdrożenia. Te koncepcje dotyczą każdego wdrożenia w punkcie końcowym (w przypadku punktów końcowych online i wsadowych) oraz mają zastosowanie do standardowych wdrożeń (gdzie koncepcja wdrożenia jest wbudowana w punkt końcowy).
| Feature | Wdrożenia standardowe | Punkty końcowe online | Punkty końcowe usługi Batch |
|---|---|---|---|
| Typy wdrożeń | Models | Models | Modele i składniki potoku |
| Wdrażanie modelu MLflow | Nie, tylko określone modele w wykazie | Yes | Yes |
| Wdrażanie modelu niestandardowego | Nie, tylko określone modele w wykazie | Tak, ze skryptem oceniania | Tak, ze skryptem oceniania |
| Serwer wnioskowania 3 | Interfejs API wnioskowania modelu Azure AI | — Serwer wnioskowania usługi Azure Machine Learning -Tryton - Niestandardowe (przy użyciu byOC) |
Wnioskowanie wsadowe |
| Wykorzystany zasób obliczeniowy | Brak (bezserwerowy) | Wystąpienia lub szczegółowe zasoby | Wystąpienia klastra |
| Typ środowiska obliczeniowego | Brak (bezserwerowy) | Zarządzane obliczenia i platforma Kubernetes | Zarządzane obliczenia i platforma Kubernetes |
| Obliczenia o niskim priorytcie | NA | No | Yes |
| Skalowanie obliczeń do zera | Built-in | No | Yes |
| Skalowanie automatyczne przetwarzania4 | Built-in | Tak, na podstawie użycia zasobów | Tak, na podstawie liczby zadań |
| Zarządzanie nadwyżkami zdolności produkcyjnych | Throttling | Throttling | Queuing |
| Podstawa kosztu5 | Za token | Na wdrożenie: uruchomione wystąpienia obliczeniowe | Dla każdego zadania: wystąpienia obliczeniowe wykorzystywane w zadaniu (ograniczone do maksymalnej liczby wystąpień klastra) |
| Lokalne testowanie wdrożeń | No | Yes | No |
2Serwer wnioskowania odnosi się do technologii obsługującej, która pobiera żądania, przetwarza je i tworzy odpowiedzi. Serwer wnioskowania określa również format danych wejściowych i oczekiwanych danych wyjściowych.
3Autoskalowanie to możliwość dynamicznego skalowania w górę lub w dół przydzielonych zasobów wdrożenia na podstawie obciążenia. Wdrożenia online i wsadowe używają różnych strategii skalowania automatycznego. Wdrożenia online są skalowane w górę i w dół na podstawie wykorzystania zasobów (na przykład procesora CPU, pamięci, żądań itp.), punkty końcowe wsadowe są skalowane w górę lub w dół na podstawie liczby utworzonych zadań.
4 Opłaty za wdrożenia online i wsadowe są naliczane na podstawie zużytych zasobów. We wdrożeniach online zasoby są aprowizowane w czasie wdrażania. W przypadku wdrożeń wsadowych zasoby nie są używane w czasie wdrażania, ale w momencie uruchomienia zadania. W związku z tym nie ma żadnych kosztów związanych z samym wdrożeniem wsadowym. Podobnie zadania w kolejce nie zużywają zasobów.
Interfejsy deweloperskie
Punkty końcowe zostały zaprojektowane w celu ułatwienia organizacjom operacjonalizacji obciążeń na poziomie produkcyjnym w usłudze Azure Machine Learning. Punkty końcowe są niezawodnymi i skalowalnymi zasobami i zapewniają najlepsze możliwości implementowania przepływów pracy metodyki MLOps.
Punkty końcowe wsadowe i online można tworzyć i zarządzać nimi za pomocą kilku narzędzi programistycznych:
- Interfejs wiersza poleceń platformy Azure i zestaw SDK dla Pythona
- Azure Resource Manager/interfejs API REST
- Portal internetowy usługi Azure Machine Learning Studio
- Witryna Azure Portal (IT/administrator)
- Obsługa potoków ciągłej integracji/ciągłego wdrażania metodyki MLOps przy użyciu interfejsu wiersza polecenia platformy Azure i interfejsów REST/ARM