Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Usługi internetowe Amazona

Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Usługi internetowe Amazona

Amazon Sage Maker ułatwia wdrażanie modeli uczenia maszynowego (ML) na potrzeby wnioskowania w czasie rzeczywistym i oferuje szeroki wybór instancji ML obejmujących procesory i akceleratory, takie jak Inferencja AWS. Dzięki w pełni zarządzanej usłudze możesz skalować wdrożenia modeli, minimalizować koszty wnioskowania i efektywniej zarządzać modelami w środowisku produkcyjnym, przy zmniejszonym obciążeniu operacyjnym. Punkt końcowy wnioskowania w czasie rzeczywistym SageMaker składa się z punktu końcowego HTTP i instancji ML wdrożonych w wielu strefach dostępności w celu zapewnienia wysokiej dostępności. SageMaker automatyczne skalowanie aplikacji może dynamicznie dostosowywać liczbę instancji ML udostępnionych dla modelu w odpowiedzi na zmiany obciążenia. Punkt końcowy równomiernie dystrybuuje przychodzące żądania do instancji ML przy użyciu algorytmu okrężnego.

Gdy modele uczenia maszynowego wdrożone w instancjach odbierają wywołania API od dużej liczby klientów, losowa dystrybucja żądań może działać bardzo dobrze, gdy nie ma dużej zmienności w żądaniach i odpowiedziach. Jednak w systemach z generatywnymi obciążeniami AI żądania i odpowiedzi mogą być niezwykle zmienne. W takich przypadkach często pożądane jest równoważenie obciążenia poprzez uwzględnienie pojemności i wykorzystania instancji, a nie losowe równoważenie obciążenia.

W tym poście omawiamy strategię routingu LOR (najmniej oczekujących żądań) SageMaker oraz sposób, w jaki może ona zminimalizować opóźnienia w przypadku niektórych typów obciążeń wnioskowania w czasie rzeczywistym, biorąc pod uwagę pojemność i wykorzystanie instancji ML. Mówimy o jego zaletach w porównaniu z domyślnym mechanizmem routingu oraz o tym, jak włączyć LOR dla wdrożeń modelu. Na koniec przedstawiamy analizę porównawczą poprawy opóźnień dzięki LOR w porównaniu z domyślną strategią routingu losowego.

Strategia SageMaker LOR

Domyślnie punkty końcowe SageMaker mają strategię losowego routingu. SageMaker obsługuje teraz strategię LOR, która pozwala SageMakerowi optymalnie kierować żądania do instancji, która najlepiej nadaje się do obsługi tego żądania. SageMaker umożliwia to poprzez monitorowanie obciążenia instancji za punktem końcowym oraz modeli lub komponentów wnioskowania wdrożonych w każdej instancji.

Poniższy interaktywny diagram przedstawia domyślne zasady routingu, w których żądania przychodzące do punktów końcowych modelu są przekazywane w sposób losowy do wystąpień ML.

Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Poniższy interaktywny diagram przedstawia strategię routingu, w której SageMaker przekieruje żądanie do instancji, która ma najmniejszą liczbę oczekujących żądań.

Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Ogólnie rzecz biorąc, routing LOR działa dobrze w przypadku modeli podstawowych lub generatywnych modeli AI, gdy model odpowiada w ciągu setek milisekund do minut. Jeśli odpowiedź Twojego modelu ma mniejsze opóźnienia (do setek milisekund), możesz zyskać więcej na losowym routingu. Niezależnie od tego zalecamy przetestowanie i określenie najlepszego algorytmu routingu dla Twoich obciążeń.

Jak ustawić strategie routingu SageMaker

SageMaker umożliwia teraz ustawienie RoutingStrategy parametr podczas tworzenia EndpointConfiguration dla punktów końcowych. Inny RoutingStrategy wartości obsługiwane przez SageMaker to:

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

Poniżej znajduje się przykładowe wdrożenie modelu w punkcie końcowym wnioskowania z włączoną funkcją LOR:

  1. Utwórz konfigurację punktu końcowego, ustawiając RoutingStrategy as LEAST_OUTSTANDING_REQUESTS:
    endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, ProductionVariants=[ { "VariantName": "variant1", "ModelName": model_name, "InstanceType": "instance_type", "InitialInstanceCount": initial_instance_count, ….. "RoutingConfig": { 'RoutingStrategy': 'LEAST_OUTSTANDING_REQUESTS'} }, ],
    )

  2. Utwórz punkt końcowy, korzystając z konfiguracji punktu końcowego (bez zmian):
    create_endpoint_response = sm_client.create_endpoint( EndpointName="endpoint_name", EndpointConfigName="endpoint_config_name"
    )

Wyniki osiągów

Przeprowadziliśmy testy porównawcze wydajności, aby zmierzyć kompleksowe opóźnienie wnioskowania i przepustowość codegen2-7B model hostowany na instancjach ml.g5.24xl z domyślnym routingiem i inteligentnymi punktami końcowymi routingu. Model CodeGen2 należy do rodziny autoregresyjnych modeli językowych i generuje kod wykonywalny po otrzymaniu monitu w języku angielskim.

W naszej analizie zwiększyliśmy liczbę instancji ml.g5.24xl za każdym punktem końcowym dla każdego uruchomienia testu wraz ze wzrostem liczby jednoczesnych użytkowników, jak pokazano w poniższej tabeli.

Testowanie Liczba jednoczesnych użytkowników Liczba instancji
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

Zmierzyliśmy opóźnienie P99 od końca do końca dla obu punktów końcowych i zaobserwowaliśmy poprawę opóźnienia o 4–33%, gdy liczba instancji wzrosła z 5 do 20, jak pokazano na poniższym wykresie.

Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Podobnie zaobserwowaliśmy poprawę przepustowości na minutę na instancję o 15–16%, gdy liczba instancji wzrosła z 5 do 20.

Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

To pokazuje, że inteligentny routing może poprawić dystrybucję ruchu pomiędzy punktami końcowymi, prowadząc do poprawy kompleksowych opóźnień i ogólnej przepustowości.

Wnioski

W tym poście wyjaśniliśmy strategie routingu SageMaker i nową opcję włączania routingu LOR. Wyjaśniliśmy, jak włączyć LOR i jakie korzyści może to przynieść wdrożeniu modelu. Nasze testy wydajności wykazały poprawę opóźnień i przepustowości podczas wnioskowania w czasie rzeczywistym. Aby dowiedzieć się więcej o funkcjach routingu SageMaker, zobacz dokumentacja. Zachęcamy do oceny obciążeń związanych z wnioskowaniem i ustalenia, czy strategia routingu jest optymalnie skonfigurowana.


O autorach

Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.James Park jest architektem rozwiązań w Amazon Web Services. Współpracuje z Amazon.com przy projektowaniu, budowaniu i wdrażaniu rozwiązań technologicznych w AWS, a szczególnie interesuje się sztuczną inteligencją i uczeniem maszynowym. W wolnym czasie lubi szukać nowych kultur, nowych doświadczeń i być na bieżąco z najnowszymi trendami technologicznymi. Znajdziesz go na LinkedIn.

Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Venugopal Pai jest architektem rozwiązań w AWS. Mieszka w Bengaluru w Indiach i pomaga klientom z branży cyfrowej skalować i optymalizować ich aplikacje na platformie AWS.

Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Dawid Nigenda jest starszym inżynierem ds. rozwoju oprogramowania w zespole Amazon SageMaker, obecnie pracującym nad udoskonaleniem przepływów pracy w zakresie uczenia maszynowego w środowisku produkcyjnym, a także nad uruchomieniem nowych funkcji wnioskowania. W wolnym czasie stara się dotrzymać kroku swoim dzieciom.

Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Deepti Ragha jest inżynierem rozwoju oprogramowania w zespole Amazon SageMaker. Jej obecna praca koncentruje się na budowaniu funkcji do efektywnego hostowania modeli uczenia maszynowego. W wolnym czasie lubi podróżować, wędrować i uprawiać rośliny.

Alana TanaAlana Tana jest starszym menedżerem produktu w firmie SageMaker, kierując pracami nad wnioskowaniem na dużych modelach. Pasjonuje go zastosowanie uczenia maszynowego w obszarze analityki. Poza pracą lubi przebywać na świeżym powietrzu.

Zminimalizuj opóźnienia wnioskowania w czasie rzeczywistym, korzystając ze strategii routingu Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Dawal Patel jest głównym architektem uczenia maszynowego w AWS. Pracował z organizacjami od dużych przedsiębiorstw po średniej wielkości start-upy w zakresie problemów związanych z przetwarzaniem rozproszonym i sztuczną inteligencją. Koncentruje się na uczeniu głębokim, w tym w domenach NLP i Computer Vision. Pomaga klientom uzyskać wnioskowanie o wysokiej wydajności modelu w SageMaker.

Znak czasu:

Więcej z Uczenie maszynowe AWS