W 2021 roku wystartowaliśmy AWS obsługuje usługi proaktywne ramach Wsparcie dla przedsiębiorstw AWS plan. Od czasu jego wprowadzenia pomogliśmy setkom klientów zoptymalizować ich obciążenia, ustawić bariery i poprawić widoczność kosztów i wykorzystania obciążeń związanych z uczeniem maszynowym (ML).
W tej serii postów dzielimy się doświadczeniami dotyczącymi optymalizacji kosztów w Amazon Sage Maker, w Część 1, pokazaliśmy, jak zacząć używać Eksplorator kosztów AWS aby zidentyfikować możliwości optymalizacji kosztów w SageMaker. W tym poście skupiamy się na środowiskach wnioskowania SageMaker: wnioskowaniu w czasie rzeczywistym, transformacji wsadowej, wnioskowaniu asynchronicznym i wnioskowaniu bezserwerowym.
SageMaker oferuje wiele opcji wnioskowania do wyboru w zależności od wymagań dotyczących obciążenia pracą:
- Wnioskowanie w czasie rzeczywistym do zastosowań online, wymagających małych opóźnień lub dużej przepustowości
- Transformacja wsadowa do zaplanowanego przetwarzania w trybie offline i gdy nie potrzebujesz stałego punktu końcowego
- Wnioskowanie asynchroniczne gdy masz duże ładunki i długie czasy przetwarzania i chcesz ustawić żądania w kolejce
- Wnioskowanie bezserwerowe w przypadku sporadycznych lub nieprzewidywalnych wzorców ruchu i tolerowania zimnego rozruchu
W poniższych sekcjach omówimy bardziej szczegółowo każdą opcję wnioskowania.
SageMaker wnioskowanie w czasie rzeczywistym
Kiedy tworzysz punkt końcowy, SageMaker dołącza plik Sklep Amazon Elastic Block (Amazon EBS) pojemność pamięci do Elastyczna chmura obliczeniowa Amazon Instancja (Amazon EC2), która hostuje punkt końcowy. Dotyczy to wszystkich typów instancji, które nie są wyposażone w pamięć SSD. Ponieważ typy instancji d* są wyposażone w pamięć masową SSD NVMe, SageMaker nie dołącza woluminu pamięci EBS do tych instancji obliczeniowych ML. Odnosić się do Woluminy pamięci instancji hosta dla rozmiaru woluminów pamięci, które SageMaker dołącza dla każdego typu instancji dla pojedynczego punktu końcowego i dla punktu końcowego z wieloma modelami.
Koszt punktów końcowych czasu rzeczywistego SageMaker opiera się na godzinnej instancji wykorzystanej przez każdą instancję, gdy punkt końcowy jest uruchomiony, koszcie miesięcznym w GB udostępnionej pamięci masowej (wolumin EBS), a także przetworzonych i wychodzących danych GB instancji punktu końcowego, jak opisano w Cennik Amazon SageMaker. W Eksploratorze kosztów możesz przeglądać koszty punktów końcowych w czasie rzeczywistym, stosując filtr według typu użycia. Nazwy tych typów zastosowań mają następującą strukturę:
REGION-Host:instanceType
(na przykład,USE1-Host:ml.c5.9xlarge
)REGION-Host:VolumeUsage.gp2
(na przykład,USE1-Host:VolumeUsage.gp2
)REGION-Hst:Data-Bytes-Out
(na przykład,USE2-Hst:Data-Bytes-In
)REGION-Hst:Data-Bytes-Out
(na przykład,USW2-Hst:Data-Bytes-Out)
Jak pokazano na poniższym zrzucie ekranu, filtrowanie według typu użycia Host:
pokaże listę typów wykorzystania hostingu w czasie rzeczywistym na koncie.
Możesz wybrać określone typy użycia lub wybrać Zaznacz wszystko i wybierz Aplikuj aby wyświetlić zestawienie kosztów wykorzystania hostingu SageMaker w czasie rzeczywistym. Aby zobaczyć zestawienie kosztów i wykorzystania według godzin instancji, musisz odznaczyć wszystkie opcje REGION-Host:VolumeUsage.gp2
typy użycia przed zastosowaniem filtra typu użycia. Możesz także zastosować dodatkowe filtry, takie jak numer konta, typ instancji EC2, znacznik alokacji kosztów, region i jeszcze. Poniższy zrzut ekranu przedstawia wykresy kosztów i wykorzystania dla wybranych typów wykorzystania hostingu.
Ponadto możesz sprawdzić koszty związane z jedną lub większą liczbą instancji hostingu, korzystając z opcji Typ instancji filtr. Poniższy zrzut ekranu przedstawia zestawienie kosztów i wykorzystania instancji hostującej ml.p2.xlarge.
Podobnie koszt przetworzonych i przetworzonych danych GB można wyświetlić, wybierając powiązane typy użycia jako zastosowany filtr, jak pokazano na poniższym zrzucie ekranu.
Po osiągnięciu pożądanych wyników za pomocą filtrów i grupowania możesz pobrać wyniki, wybierając Pobierz jako CSV lub zapisz raport wybierając Zapisz w bibliotece raportów. Ogólne wskazówki dotyczące korzystania z narzędzia Cost Explorer można znaleźć w artykule Nowy wygląd AWS Cost Explorer i typowe przypadki użycia.
Opcjonalnie możesz włączyć Raporty kosztów i użytkowania AWS (AWS CUR), aby uzyskać wgląd w dane dotyczące kosztów i wykorzystania Twoich kont. AWS CUR zawiera godzinne szczegóły zużycia AWS. Jest przechowywany w Usługa Amazon Simple Storage (Amazon S3) na rachunku płatnika, który konsoliduje dane dla wszystkich połączonych rachunków. Możesz uruchamiać zapytania, aby analizować trendy w użytkowaniu i podejmować odpowiednie działania w celu optymalizacji kosztów. Amazonka Atena to bezserwerowa usługa zapytań, za pomocą której można analizować dane z AWS CUR w Amazon S3 przy użyciu standardowego SQL. Więcej informacji i przykładowe zapytania można znaleźć w zakładce Biblioteka zapytań AWS CUR.
Możesz także przesyłać dane AWS CUR do Amazon QuickSight, gdzie możesz go pokroić w dowolną kostkę na potrzeby raportowania lub wizualizacji. Aby uzyskać instrukcje, zobacz Jak pozyskać i zwizualizować raport kosztów i wykorzystania AWS (CUR) w Amazon QuickSight?.
Informacje na poziomie zasobów, takie jak ARN punktów końcowych, typy instancji punktów końcowych, godzinowa stawka instancji, dzienne godziny użytkowania i inne, można uzyskać z AWS CUR. Możesz także uwzględnić w zapytaniu znaczniki alokacji kosztów, aby uzyskać dodatkowy poziom szczegółowości. Poniższe przykładowe zapytanie zwraca w czasie rzeczywistym wykorzystanie zasobów hostingowych z ostatnich 3 miesięcy dla danego konta płatnika:
Poniższy zrzut ekranu przedstawia wyniki uzyskane po uruchomieniu zapytania przy użyciu narzędzia Athena. Aby uzyskać więcej informacji, zobacz Odpytywanie raportów kosztów i użytkowania za pomocą Amazon Athena.
Wynik zapytania pokazuje ten punkt końcowy mme-xgboost-housing
z instancją ml.x4.xlarge raportuje 24 godziny działania przez wiele kolejnych dni. Stawka instancji wynosi 0.24 USD za godzinę, a dzienny koszt działania przez 24 godziny wynosi 5.76 USD.
Wyniki AWS CUR mogą pomóc Ci zidentyfikować wzorce punktów końcowych działających przez kolejne dni na każdym z połączonych kont, a także punkty końcowe o najwyższym miesięcznym koszcie. Może to również pomóc w podjęciu decyzji, czy punkty końcowe na kontach nieprodukcyjnych można usunąć, aby obniżyć koszty.
Optymalizuj koszty punktów końcowych czasu rzeczywistego
Z punktu widzenia zarządzania kosztami ważne jest identyfikowanie niedostatecznie wykorzystywanych (lub zbyt dużych) instancji i dostosowywanie rozmiaru i liczby instancji, jeśli to konieczne, do wymagań dotyczących obciążenia. Zapisywane są typowe metryki systemowe, takie jak wykorzystanie procesora/GPU i wykorzystanie pamięci Amazon Cloud Watch dla wszystkich instancji hostingowych. W przypadku punktów końcowych działających w czasie rzeczywistym SageMaker udostępnia w CloudWatch kilka dodatkowych wskaźników. Niektóre z często monitorowanych metryk obejmują liczbę wywołań i błędy wywołań 4xx/5xx. Aby zapoznać się z pełną listą metryk, zobacz Monitoruj Amazon SageMaker za pomocą Amazon CloudWatch.
Metryka CPUUtilization
podaje sumę wykorzystania każdego pojedynczego rdzenia procesora. Wykorzystanie procesora dla każdego zakresu rdzeni wynosi 0–100. Na przykład, jeśli są cztery procesory, plik CPUUtilization
zakres wynosi 0–400%. Metryka MemoryUtilization
to procent pamięci używanej przez kontenery w instancji. Ten zakres wartości wynosi 0–100%. Poniższy zrzut ekranu przedstawia przykład metryk CloudWatch CPUUtilization
i MemoryUtilization
dla instancji punktu końcowego ml.m4.10xlarge wyposażonej w 40 procesorów wirtualnych i 160 GiB pamięci.
Te wykresy metryk pokazują maksymalne wykorzystanie procesora na poziomie około 3,000%, co odpowiada 30 procesorom wirtualnym. Oznacza to, że ten punkt końcowy nie wykorzystuje więcej niż 30 procesorów wirtualnych z łącznej pojemności 40 procesorów wirtualnych. Podobnie wykorzystanie pamięci jest poniżej 6%. Korzystając z tych informacji, możesz poeksperymentować z mniejszą instancją, która będzie w stanie zaspokoić zapotrzebowanie na zasoby. Ponadto, CPUUtilization
metryka pokazuje klasyczny wzorzec okresowego wysokiego i niskiego zapotrzebowania na procesor, co sprawia, że ten punkt końcowy jest dobrym kandydatem do automatycznego skalowania. Możesz zacząć od mniejszej instancji i najpierw skalować w miarę zmiany zapotrzebowania na moc obliczeniową. Aby uzyskać informacje, zobacz Automatyczne skalowanie modeli Amazon SageMaker.
SageMaker doskonale nadaje się do testowania nowych modeli, ponieważ można je łatwo wdrożyć w środowisku testów A/B za pomocą warianty produkcyjnei płacisz tylko za to, z czego korzystasz. Każdy wariant produkcyjny działa na własnej instancji obliczeniowej, a opłata jest naliczana za godzinę wystąpienia wykorzystaną w przypadku każdego wystąpienia, gdy wariant jest uruchomiony.
SageMaker również obsługuje warianty cieni, które mają te same komponenty co wariant produkcyjny i działają na własnej instancji obliczeniowej. W przypadku wariantów cienia SageMaker automatycznie wdraża model w środowisku testowym, w czasie rzeczywistym kieruje kopię żądań wnioskowania otrzymanych przez model produkcyjny do modelu testowego i zbiera wskaźniki wydajności, takie jak opóźnienia i przepustowość. Dzięki temu możesz zweryfikować każdy nowy potencjalny komponent stosu obsługującego model przed wypromowaniem go do produkcji.
Kiedy zakończysz testy i nie będziesz już intensywnie używać punktu końcowego ani wariantów, powinieneś go usunąć, aby zaoszczędzić na kosztach. Ponieważ model jest przechowywany w Amazon S3, możesz go odtworzyć w razie potrzeby. Możesz automatycznie wykryć te punkty końcowe i podjąć działania naprawcze (takie jak ich usunięcie) za pomocą Zdarzenia Amazon CloudWatch i AWS Lambda Funkcje. Można na przykład użyć Invocations
metryka, aby uzyskać całkowitą liczbę żądań wysłanych do punktu końcowego modelu, a następnie wykryć, czy punkty końcowe były bezczynne przez ostatnią liczbę godzin (bez żadnych wywołań przez określony czas, na przykład 24 godziny).
Jeśli masz kilka niewykorzystanych instancji punktów końcowych, rozważ opcje hostingu, takie jak wielomodelowe punkty końcowe (MME), wielokontenerowe punkty końcowe (MCE) i szeregowe potoki wnioskowania aby skonsolidować użycie w mniejszej liczbie instancji punktów końcowych.
W przypadku wdrażania modelu wnioskowania w czasie rzeczywistym i asynchronicznego można zoptymalizować koszty i wydajność, wdrażając modele w programie SageMaker przy użyciu Grawiton AWS. AWS Graviton to rodzina procesorów zaprojektowana przez AWS, które zapewniają najlepszą wydajność cenową i są bardziej energooszczędne niż ich odpowiedniki x86. Wskazówki dotyczące wdrażania modelu ML w instancjach opartych na AWS Graviton oraz szczegółowe informacje na temat korzyści w zakresie wydajności cenowej można znaleźć w artykule Uruchamiaj obciążenia wnioskowania uczenia maszynowego w instancjach opartych na AWS Graviton za pomocą Amazon SageMaker. SageMaker również obsługuje Inferencja AWS akceleratory przez ml.inf2 rodzina instancji do wdrażania modeli ML na potrzeby wnioskowania asynchronicznego w czasie rzeczywistym. Możesz używać tych instancji w SageMaker, aby osiągnąć wysoką wydajność przy niskich kosztach w przypadku modeli generatywnej sztucznej inteligencji (AI), w tym dużych modeli językowych (LLM) i transformatorów wizyjnych.
Ponadto możesz użyć Polecający wnioskowanie Amazon SageMaker aby przeprowadzić testy obciążenia i ocenić korzyści w zakresie wydajności cenowej wynikające z wdrożenia modelu w tych instancjach. Dodatkowe wskazówki dotyczące automatycznego wykrywania bezczynnych punktów końcowych SageMaker, a także odpowiedniego rozmiaru instancji i automatycznego skalowania punktów końcowych SageMaker można znaleźć w artykule Zapewnij wydajne zasoby obliczeniowe w Amazon SageMaker.
Transformacja wsadowa SageMaker
Wnioskowanie wsadowe lub wnioskowanie offline, to proces generowania prognoz na podstawie partii obserwacji. Prognozy offline sprawdzają się w przypadku większych zbiorów danych oraz w przypadkach, gdy możesz pozwolić sobie na oczekiwanie kilku minut lub godzin na odpowiedź.
Koszt transformacji wsadowej SageMaker opiera się na godzinnej instancji wykorzystanej przez każdą instancję podczas działania zadania transformacji wsadowej, jak opisano w Cennik Amazon SageMaker. W Eksploratorze kosztów możesz eksplorować koszty transformacji wsadowej, stosując filtr według typu użycia. Nazwa tego typu użycia ma strukturę: REGION-Tsform:instanceType
(na przykład, USE1-Tsform:ml.c5.9xlarge
).
Jak pokazano na poniższym zrzucie ekranu, filtrowanie według typu użycia Tsform:
wyświetli listę typów użycia transformacji wsadowej SageMaker na koncie.
Możesz wybrać określone typy użycia lub wybrać Zaznacz wszystko i wybierz Aplikuj aby wyświetlić zestawienie kosztów użycia instancji transformacji wsadowej dla wybranych typów. Jak wspomniano wcześniej, możesz także zastosować dodatkowe filtry. Poniższy zrzut ekranu przedstawia wykresy kosztów i użycia dla wybranych typów użycia transformacji wsadowej.
Optymalizuj koszty transformacji wsadowej
Transformacja wsadowa SageMaker pobiera opłaty tylko za instancje używane podczas działania zadań. Jeśli Twoje dane znajdują się już w Amazon S3, odczytanie danych wejściowych z Amazon S3 i zapisanie danych wyjściowych w Amazon S3 jest bezpłatne. Podjęto próbę przesłania wszystkich obiektów wyjściowych do usługi Amazon S3. Jeśli wszystko się powiedzie, zadanie transformacji wsadowej zostanie oznaczone jako ukończone. Jeśli jeden lub więcej obiektów ulegnie awarii, zadanie transformacji wsadowej zostanie oznaczone jako zakończone niepowodzeniem.
Opłaty za zadania transformacji wsadowej obowiązują w następujących scenariuszach:
- Praca zakończyła się sukcesem
- Niepowodzenie z powodu
ClientError
a kontener modelu to SageMaker lub framework zarządzany przez SageMaker - Niepowodzenie z powodu
AlgorithmError
orClientError
a kontener modelu jest Twoim własnym, niestandardowym kontenerem (BYOC)
Poniżej przedstawiono niektóre najlepsze praktyki optymalizacji zadania transformacji wsadowej SageMaker. Zalecenia te mogą skrócić całkowity czas wykonywania zadania transformacji wsadowej, obniżając w ten sposób koszty:
- Zestaw Strategia wsadowa do
MultiRecord
iSplitType
doLine
jeśli potrzebujesz zadania transformacji wsadowej, aby utworzyć mini partie z pliku wejściowego. Jeśli nie może automatycznie podzielić zbioru danych na mini partie, możesz podzielić go na mini partie, umieszczając każdą partię w oddzielnym pliku wejściowym, umieszczonym w zasobniku źródła danych S3. - Upewnij się, że wielkość partii mieści się w pamięci. SageMaker zwykle obsługuje to automatycznie; jednak przy ręcznym dzieleniu partii należy to dostroić w oparciu o pamięć.
- Wsadowa transformacja dzieli obiekty S3 na wejściu według klucza i mapuje te obiekty na instancje. Jeśli masz wiele plików, jedna instancja może przetworzyć
input1.csv
, a inna instancja może zostać przetworzonainput2.csv
. Jeśli masz jeden plik wejściowy, ale inicjujesz wiele instancji obliczeniowych, tylko jedna instancja przetwarza plik wejściowy, a pozostałe instancje są bezczynne. Upewnij się, że liczba plików jest równa lub większa niż liczba instancji. - Jeśli masz dużą liczbę małych plików, korzystne może być połączenie wielu plików w niewielką liczbę większych plików, aby skrócić czas interakcji z Amazon S3.
- Jeśli używasz UtwórzZadaniePrzekształć API, możesz skrócić czas potrzebny na wykonanie zadań transformacji wsadowej, używając optymalnych wartości parametrów, takich jak Maksymalna ładowność w MB, Maksymalne Współbieżne Transformacjelub Strategia wsadowa:
MaxConcurrentTransforms
wskazuje maksymalną liczbę równoległych żądań, które można wysłać do każdej instancji w zadaniu transformacji. Idealna wartość dlaMaxConcurrentTransforms
jest równa liczbie rdzeni vCPU w instancji.MaxPayloadInMB
to maksymalny dozwolony rozmiar ładunku w MB. Wartość wMaxPayloadInMB
musi być większy lub równy rozmiarowi pojedynczego rekordu. Aby oszacować rozmiar rekordu w MB, podziel rozmiar zestawu danych przez liczbę rekordów. Aby mieć pewność, że rekordy mieszczą się w maksymalnym rozmiarze ładunku, zalecamy użycie nieco większej wartości. Wartość domyślna to 6 MB.MaxPayloadInMB
nie może być większy niż 100 MB. Jeśli określisz opcję opcjonalnąMaxConcurrentTransforms
parametr, następnie wartość (MaxConcurrentTransforms
*MaxPayloadInMB
) również nie może przekraczać 100 MB.- W przypadkach, gdy ładunek może być dowolnie duży i jest przesyłany przy użyciu kodowania fragmentarycznego HTTP, ustaw wartość MaxPayloadInMB na 0. Ta funkcja działa tylko w obsługiwanych algorytmach. Obecnie wbudowane algorytmy SageMaker nie obsługują kodowania fragmentarycznego HTTP.
- Zadania wnioskowania wsadowego są zwykle dobrymi kandydatami do skalowania poziomego. Każdy pracownik w ramach klastra może operować na innym podzbiorze danych bez konieczności wymiany informacji z innymi pracownikami. AWS oferuje wiele opcji przechowywania i obliczeń, które umożliwiają skalowanie w poziomie. Jeśli pojedyncza instancja nie jest wystarczająca do spełnienia wymagań dotyczących wydajności, rozważ użycie wielu instancji równolegle w celu rozłożenia obciążenia. Aby zapoznać się z kluczowymi kwestiami dotyczącymi projektowania zadań transformacji wsadowej, zobacz Wnioskowanie wsadowe na dużą skalę dzięki Amazon SageMaker.
- Stale monitoruj wskaźniki wydajności zadań transformacji wsadowej SageMaker za pomocą CloudWatch. Poszukaj wąskich gardeł, takich jak wysokie wykorzystanie procesora lub procesora graficznego, użycie pamięci lub przepustowość sieci, aby określić, czy konieczne jest dostosowanie rozmiarów lub konfiguracji instancji.
- SageMaker korzysta z Amazon S3 wieloczęściowy interfejs API przesyłania aby przesłać wyniki zadania transformacji wsadowej do Amazon S3. Jeśli wystąpi błąd, przesłane wyniki zostaną usunięte z Amazon S3. W niektórych przypadkach, na przykład w przypadku awarii sieci, w Amazon S3 może pozostać niekompletny, wieloczęściowy plik. Aby uniknąć opłat za przechowywanie, zalecamy dodanie Polityka zasobnika S3 do zasad cyklu życia segmentu S3. Ta zasada usuwa niekompletne przesyłanie wieloczęściowe, które może być przechowywane w zasobniku S3. Aby uzyskać więcej informacji, zobacz Zarządzanie cyklem życia pamięci masowej.
Wnioskowanie asynchroniczne SageMaker
Wnioskowanie asynchroniczne to doskonały wybór w przypadku obciążeń wrażliwych na koszty, z dużymi ładunkami i ruchem seryjnym. Przetwarzanie żądań może zająć do 1 godziny, a ładunek może mieć rozmiar do 1 GB, dlatego jest bardziej odpowiedni w przypadku obciążeń o mniejszych wymaganiach dotyczących opóźnień.
Wywoływanie asynchronicznych punktów końcowych różni się od punktów końcowych czasu rzeczywistego. Zamiast przekazywać ładunek żądania synchronicznie z żądaniem, przesyłasz ładunek do Amazon S3 i przekazujesz identyfikator URI S3 jako część żądania. Wewnętrznie SageMaker utrzymuje kolejkę z tymi żądaniami i przetwarza je. Podczas tworzenia punktu końcowego możesz opcjonalnie określić Usługa prostego powiadomienia Amazon (Amazon SNS), aby otrzymywać powiadomienia o powodzeniu lub błędach. Po otrzymaniu powiadomienia o pomyślnym przetworzeniu żądania wnioskowania możesz uzyskać dostęp do wyniku w wyjściowej lokalizacji Amazon S3.
Koszt wnioskowania asynchronicznego opiera się na liczbie godzin wykorzystanej przez każdą instancję podczas działania punktu końcowego, koszcie miesięcznym w GB udostępnionej pamięci masowej, a także GB danych przetworzonych w instancji punktu końcowego i poza nią, zgodnie z opisem w artykule Cennik Amazon SageMaker. W Eksploratorze kosztów można filtrować koszty wnioskowania asynchronicznego, stosując filtr według typu użycia. Nazwa tego typu użycia ma strukturę: REGION-AsyncInf:instanceType
(na przykład, USE1-AsyncInf:ml.c5.9xlarge
). Należy pamiętać, że typy wykorzystania wolumenu GB i przetwarzanych danych GB są takie same jak punkty końcowe w czasie rzeczywistym, jak wspomniano wcześniej w tym poście.
Jak pokazano na poniższym zrzucie ekranu, filtrowanie według typu użycia AsyncInf:
w Eksploratorze kosztów wyświetla podział kosztów według typów użycia asynchronicznego punktu końcowego.
Aby zobaczyć zestawienie kosztów i wykorzystania według godzin instancji, musisz odznaczyć wszystkie opcje REGION-Host:VolumeUsage.gp2
typy użycia przed zastosowaniem filtra typu użycia. Możesz także zastosować dodatkowe filtry. Informacje na poziomie zasobów, takie jak ARN punktu końcowego, typy instancji punktów końcowych, godzinowa stawka instancji i dzienne godziny użytkowania można uzyskać z AWS CUR. Poniżej znajduje się przykład zapytania AWS CUR w celu uzyskania wykorzystania zasobów hostingu asynchronicznego w ciągu ostatnich 3 miesięcy:
Poniższy zrzut ekranu pokazuje wyniki uzyskane z uruchomienia zapytania AWS CUR przy użyciu Atheny.
Wynik zapytania pokazuje ten punkt końcowy sagemaker-abc-model-5
z instancją ml.m5.xlarge raportuje 24 godziny działania przez wiele kolejnych dni. Stawka instancji wynosi 0.23 USD za godzinę, a dzienny koszt działania przez 24 godziny wynosi 5.52 USD.
Jak wspomniano wcześniej, wyniki AWS CUR mogą pomóc w zidentyfikowaniu wzorców działania punktów końcowych przez kolejne dni, a także punktów końcowych o najwyższym miesięcznym koszcie. Może to również pomóc w podjęciu decyzji, czy punkty końcowe na kontach nieprodukcyjnych można usunąć, aby obniżyć koszty.
Optymalizuj koszty wnioskowania asynchronicznego
Podobnie jak w przypadku punktów końcowych czasu rzeczywistego, koszt asynchronicznych punktów końcowych zależy od użycia typu instancji. Dlatego ważne jest, aby identyfikować niewykorzystane wystąpienia i zmieniać ich rozmiar w oparciu o wymagania dotyczące obciążenia. Aby monitorować asynchroniczne punkty końcowe, SageMaker tworzy kilka wskaźników jak na przykład ApproximateBacklogSize
, HasBacklogWithoutCapacity
i inne dostępne w CloudWatch. Te metryki mogą pokazywać żądania w kolejce dla instancji i mogą być używane do automatycznego skalowania punktu końcowego. Wnioskowanie asynchroniczne SageMaker obejmuje także metryki na poziomie hosta. Aby uzyskać informacje na temat metryk na poziomie hosta, zobacz Zadania SageMaker i metryki punktów końcowych. Te metryki mogą pokazywać wykorzystanie zasobów, co może pomóc w dostosowaniu odpowiedniego rozmiaru instancji.
SageMaker obsługuje automatyczne skalowanie dla asynchronicznych punktów końcowych. W przeciwieństwie do punktów końcowych hostowanych w czasie rzeczywistym, punkty końcowe wnioskowania asynchronicznego obsługują skalowanie wystąpień do zera poprzez ustawienie minimalnej pojemności na zero. W przypadku asynchronicznych punktów końcowych SageMaker zdecydowanie zaleca utworzenie konfiguracji zasad na potrzeby skalowania śledzenia celów dla wdrożonego modelu (wariantu). Należy zdefiniować zasady skalowania, które będą skalowane w pliku ApproximateBacklogPerInstance
niestandardową metrykę i ustaw MinCapacity
wartość do zera.
Wnioskowanie asynchroniczne pozwala zaoszczędzić na kosztach poprzez automatyczne skalowanie liczby wystąpień do zera, gdy nie ma żadnych żądań do przetworzenia, dzięki czemu płacisz tylko wtedy, gdy punkt końcowy przetwarza żądania. Żądania odebrane, gdy istnieje zero wystąpień, są umieszczane w kolejce do przetworzenia po skalowaniu punktu końcowego. Dlatego w przypadku przypadków użycia, które tolerują kilkuminutową karę za zimny start, można opcjonalnie przeskalować liczbę wystąpień punktu końcowego do zera, gdy nie ma zaległych żądań, i zwiększyć skalowanie w miarę nadejścia nowych żądań. Czas zimnego startu zależy od czasu wymaganego do uruchomienia nowego punktu końcowego od zera. Ponadto, jeśli sam model jest duży, czas może się wydłużyć. Jeśli przetwarzanie Twojego zadania ma trwać dłużej niż 1 godzinę, możesz rozważyć transformację wsadową SageMaker.
Dodatkowo możesz także wziąć pod uwagę czas oczekiwania żądania w połączeniu z czasem przetwarzania, aby wybrać typ instancji. Na przykład, jeśli Twój przypadek użycia toleruje wielogodzinny czas oczekiwania, możesz wybrać mniejszą instancję, aby zaoszczędzić koszty.
Dodatkowe wskazówki dotyczące odpowiedniego rozmiaru instancji i automatycznego skalowania dla punktów końcowych SageMaker można znaleźć w artykule Zapewnij wydajne zasoby obliczeniowe w Amazon SageMaker.
Wnioskowanie bezserwerowe
Wnioskowanie bezserwerowe umożliwia wdrażanie modeli uczenia maszynowego na potrzeby wnioskowania bez konieczności konfigurowania podstawowej infrastruktury lub zarządzania nią. W oparciu o liczbę żądań wnioskowania otrzymywanych przez model, bezserwerowe wnioskowanie SageMaker automatycznie udostępnia, skaluje i wyłącza moc obliczeniową. W rezultacie płacisz tylko za czas obliczeniowy potrzebny do uruchomienia kodu wnioskowania i ilość przetworzonych danych, a nie za czas bezczynności. W przypadku bezserwerowych punktów końcowych udostępnianie instancji nie jest konieczne. Musisz podać rozmiar pamięci i maksymalna współbieżność. Ponieważ bezserwerowe punkty końcowe udostępniają zasoby obliczeniowe na żądanie, w punkcie końcowym może wystąpić kilka dodatkowych sekund opóźnienia (zimny start) w przypadku pierwszego wywołania po okresie bezczynności. Płacisz za moc obliczeniową używaną do przetwarzania żądań wnioskowania, rozliczaną według milisekundy, GB-miesięcy udostępnionej pamięci masowej oraz ilości przetworzonych danych. Opłata za obliczenia zależy od wybranej konfiguracji pamięci.
W Eksploratorze kosztów możesz filtrować koszty bezserwerowych punktów końcowych, stosując filtr według typu użycia. Nazwa tego typu użycia ma strukturę: REGION-ServerlessInf:Mem-MemorySize
(na przykład, USE2-ServerlessInf:Mem-4GB
). Należy pamiętać, że typy wykorzystania wolumenu GB i przetwarzanych danych GB są takie same jak w przypadku punktów końcowych czasu rzeczywistego.
Możesz zobaczyć podział kosztów, stosując dodatkowe filtry, takie jak numer konta, typ instancji, region i inne. Poniższy zrzut ekranu przedstawia podział kosztów poprzez zastosowanie filtrów dla typu użycia wnioskowania bezserwerowego.
Optymalizuj koszty wnioskowania bezserwerowego
Konfigurując bezserwerowy punkt końcowy, możesz określić rozmiar pamięci i maksymalną liczbę jednoczesnych wywołań. Bezserwerowe wnioskowanie SageMaker automatycznie przydziela zasoby obliczeniowe proporcjonalnie do wybranej pamięci. Jeśli wybierzesz większy rozmiar pamięci, Twój kontener będzie miał dostęp do większej liczby procesorów wirtualnych. W przypadku wnioskowania bezserwerowego płacisz tylko za moc obliczeniową wykorzystywaną do przetwarzania żądań wnioskowania, rozliczaną według milisekundy, oraz za ilość przetworzonych danych. Opłata za obliczenia zależy od wybranej konfiguracji pamięci. Dostępne rozmiary pamięci to 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB i 6144 MB. Ceny rosną wraz ze wzrostem rozmiaru pamięci, jak wyjaśniono w Cennik Amazon SageMaker, dlatego ważne jest, aby wybrać prawidłowy rozmiar pamięci. Ogólnie rzecz biorąc, rozmiar pamięci powinien być co najmniej tak duży, jak rozmiar modelu. Jednak dobrą praktyką jest odwoływanie się do wykorzystania pamięci przy podejmowaniu decyzji o rozmiarze pamięci punktu końcowego, oprócz samego rozmiaru modelu.
Ogólne najlepsze praktyki optymalizacji kosztów wnioskowania SageMaker
Optymalizacja kosztów hostingu nie jest wydarzeniem jednorazowym. Jest to ciągły proces monitorowania wdrożonej infrastruktury, wzorców użytkowania i wydajności, a także uważnego obserwowania nowych innowacyjnych rozwiązań udostępnianych przez AWS, które mogą mieć wpływ na koszty. Weź pod uwagę następujące najlepsze praktyki:
- Wybierz odpowiedni typ instancji – SageMaker obsługuje wiele typów instancji, każdy z różną kombinacją pojemności procesora, procesora graficznego, pamięci i pamięci masowej. W oparciu o wymagania dotyczące zasobów modelu wybierz typ instancji, który zapewnia niezbędne zasoby bez nadmiernej alokacji. Aby uzyskać informacje na temat dostępnych typów instancji SageMaker, ich specyfikacji i wskazówek dotyczących wyboru właściwej instancji, zobacz Zapewnij wydajne zasoby obliczeniowe w Amazon SageMaker.
- Przetestuj w trybie lokalnym – W celu szybszego wykrywania błędów i debugowania zaleca się przetestowanie kodu i kontenera (w przypadku BYOC) w tryb lokalny przed uruchomieniem obciążenia wnioskowania w zdalnej instancji SageMaker. Tryb lokalny to świetny sposób na przetestowanie skryptów przed uruchomieniem ich w środowisku hostingowym zarządzanym przez SageMaker.
- Optymalizuj modele, aby były bardziej wydajne – Niezoptymalizowane modele mogą prowadzić do wydłużenia czasu działania i zużycia większej ilości zasobów. Możesz wybrać więcej lub większe instancje, aby poprawić wydajność; wiąże się to jednak z wyższymi kosztami. Optymalizując modele pod kątem większej wydajności, możesz obniżyć koszty, używając mniejszej liczby lub mniejszych instancji, zachowując tę samą lub lepszą charakterystykę wydajności. Możesz użyć Amazon Sage Maker Neo z wnioskowaniem SageMaker w celu automatycznej optymalizacji modeli. Więcej szczegółów i próbek można znaleźć w artykule Zoptymalizuj wydajność modelu za pomocą Neo.
- Korzystaj z tagów i narzędzi do zarządzania kosztami – Aby zachować wgląd w obciążenia wnioskowania, zaleca się używanie tagów oraz narzędzi do zarządzania kosztami AWS, takich jak Budżety AWSThe Konsola rozliczeniowa AWSoraz funkcję prognozowania narzędzia Cost Explorer. Możesz także poznać plany oszczędnościowe SageMaker jako elastyczny model cenowy. Aby uzyskać więcej informacji na temat tych opcji, zobacz Część 1 z tej serii.
Wnioski
W tym poście przedstawiliśmy wskazówki dotyczące analizy kosztów i najlepszych praktyk podczas korzystania z opcji wnioskowania SageMaker. Ponieważ uczenie maszynowe staje się potężnym narzędziem w różnych branżach, szkolenie i wdrażanie modeli uczenia maszynowego musi pozostać opłacalne. SageMaker oferuje szeroki i rozbudowany zestaw funkcji ułatwiających każdy etap procesu uczenia maszynowego oraz zapewnia możliwości optymalizacji kosztów bez wpływu na wydajność i elastyczność. Skontaktuj się ze swoim zespołem AWS, aby uzyskać wskazówki dotyczące kosztów obciążeń SageMaker.
O autorach
Deepali Rajale jest starszym specjalistą AI/ML w AWS. Współpracuje z klientami korporacyjnymi, dostarczając wskazówek technicznych z najlepszymi praktykami wdrażania i utrzymywania rozwiązań AI/ML w ekosystemie AWS. Pracowała z wieloma organizacjami nad różnymi przypadkami użycia głębokiego uczenia się, obejmującymi NLP i wizję komputerową. Pasjonuje się wspieraniem organizacji w wykorzystywaniu generatywnej sztucznej inteligencji w celu poprawy ich doświadczeń związanych z użytkowaniem. W wolnym czasie lubi filmy, muzykę i literaturę.
Uriego Rosenberga jest dyrektorem technicznym specjalizującym się w AI i ML na Europę, Bliski Wschód i Afrykę. Uri z siedzibą w Izraelu zapewnia klientom korporacyjnym możliwość projektowania, budowania i działania na dużą skalę we wszystkich aspektach uczenia maszynowego. W wolnym czasie lubi jeździć na rowerze, uprawiać turystykę pieszą i wspinaczkę skałkową.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoAiStream. Analiza danych Web3. Wiedza wzmocniona. Dostęp tutaj.
- Wybijanie przyszłości w Adryenn Ashley. Dostęp tutaj.
- Kupuj i sprzedawaj akcje spółek PRE-IPO z PREIPO®. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/part-5-analyze-amazon-sagemaker-spend-and-determine-cost-optimization-opportunities-based-on-usage-part-5-hosting/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 000
- 1
- 100
- 2021
- 24
- 30
- 40
- 500
- 7
- 8
- a
- Zdolny
- O nas
- akceleratory
- dostęp
- Konto
- Konta
- Osiągać
- osiągnięty
- w poprzek
- Działania
- działania
- Dodaj
- dodatek
- Dodatkowy
- Afryka
- Po
- AI
- AI / ML
- Algorytmy
- Wszystkie kategorie
- przydział
- pozwala
- już
- również
- Amazonka
- Amazon EC2
- Amazon Sage Maker
- Amazon Web Services
- ilość
- an
- analiza
- w czasie rzeczywistym sprawiają,
- i
- Inne
- każdy
- więcej
- api
- stosowany
- Aplikuj
- Stosowanie
- właściwy
- w przybliżeniu
- SĄ
- sztuczny
- sztuczna inteligencja
- Sztuczna inteligencja (AI)
- AS
- powiązany
- At
- dołączać
- próbę
- samochód
- automatycznie
- dostępny
- uniknąć
- AWS
- z powrotem
- na podstawie
- BE
- bo
- być
- zanim
- poniżej
- korzystny
- korzyści
- Korzyści
- BEST
- Najlepsze praktyki
- Ulepsz Swój
- Duży
- większe
- billing
- Blokować
- awaria
- przynieść
- budować
- wbudowany
- ale
- by
- CAN
- kandydat
- kandydatów
- zdolności
- Pojemność
- walizka
- Etui
- pewien
- Zmiany
- Charakterystyka
- opłata
- naładowany
- Opłaty
- wybór
- Dodaj
- Wybierając
- klasyczny
- Wspinaczka
- Grupa
- kod
- zimno
- kombinacje
- połączyć
- połączony
- jak
- byliśmy spójni, od początku
- wspólny
- powszechnie
- kompletny
- składnik
- składniki
- obliczać
- komputer
- Wizja komputerowa
- równoległy
- systemu
- kolejny
- Rozważać
- Rozważania
- konsolidować
- Konsoliduje
- spożywane
- konsumpcja
- Pojemnik
- Pojemniki
- zawiera
- ciągły
- rdzeń
- skorygowania
- Koszty:
- Zarządzanie kosztami
- opłacalne
- Koszty:
- mógłby
- Stwórz
- tworzenie
- Obecnie
- zwyczaj
- Klientów
- codziennie
- dane
- zbiory danych
- Dni
- zdecydować
- Decydowanie
- głęboko
- głęboka nauka
- Domyślnie
- Kreowanie
- zależy
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- wdraża się
- Wnętrze
- zaprojektowany
- życzenia
- detal
- detale
- Ustalać
- różne
- dyskutować
- Wyświetlacz
- wyświetlacze
- rozprowadzać
- do
- Nie
- zrobić
- nie
- Podwójna
- na dół
- pobieranie
- z powodu
- podczas
- każdy
- Wcześniej
- z łatwością
- Wschód
- Ekosystem
- wydajny
- bądź
- upoważniać
- uprawniającej
- umożliwiać
- Umożliwia
- Punkt końcowy
- energia
- wzmacniać
- zapewnić
- Enterprise
- Środowisko
- środowiska
- równy
- Równoważny
- błąd
- Błędy
- ustanawia
- oszacowanie
- Europie
- oceniać
- wydarzenie
- przykład
- przekraczać
- wymiana
- spodziewany
- doświadczenie
- eksperyment
- wyjaśnione
- odkryj
- badacz
- obszernie
- dodatkowy
- oko
- ułatwienie
- FAIL
- Failed
- członków Twojej rodziny
- szybciej
- Cecha
- kilka
- mniej
- filet
- Akta
- filtrować
- filtracja
- filtry
- i terminów, a
- dopasować
- elastyczne
- Skupiać
- następujący
- następujący sposób
- W razie zamówieenia projektu
- znaleziono
- cztery
- od
- pełny
- Funkcje
- Ponadto
- Wzrost
- Ogólne
- generujący
- generatywny
- generatywna sztuczna inteligencja
- otrzymać
- dany
- dobry
- GPU
- wykresy
- wspaniały
- większy
- Zarządzanie
- poradnictwo
- Uchwyty
- Have
- mający
- he
- pomoc
- pomógł
- jej
- Wysoki
- wyższy
- Najwyższa
- jego
- Poziomy
- hostowane
- Hosting
- koszty hostingu
- gospodarze
- godzina
- GODZINY
- W jaki sposób
- How To
- Jednak
- HTML
- http
- HTTPS
- Setki
- i
- idealny
- zidentyfikować
- Idle
- if
- Rezultat
- wpływ
- ważny
- podnieść
- in
- zawierać
- obejmuje
- Włącznie z
- Zwiększenia
- wskazuje
- indywidualny
- przemysłowa
- Informacja
- Infrastruktura
- Innowacyjny
- wkład
- spostrzeżenia
- przykład
- instrukcje
- Inteligencja
- wzajemne oddziaływanie
- wewnętrznie
- najnowszych
- Wprowadzenie
- z udziałem
- Izrael
- IT
- JEGO
- samo
- Praca
- Oferty pracy
- jpg
- Zapalony
- konserwacja
- Klawisz
- język
- duży
- większe
- Nazwisko
- Utajenie
- uruchomić
- uruchomiona
- prowadzić
- Wyprowadzenia
- dowiedziałem
- nauka
- najmniej
- Lekcje
- Lessons Learned
- poziom
- Dźwignia
- wifecycwe
- lubić
- Linia
- powiązany
- Lista
- literatura
- załadować
- miejscowy
- lokalizacja
- długo
- dłużej
- Popatrz
- niski
- niższy
- Opuszczenie
- maszyna
- uczenie maszynowe
- utrzymać
- Utrzymywanie
- utrzymuje
- robić
- WYKONUJE
- zarządzanie
- zarządzane
- i konserwacjami
- Narzędzia zarządzania
- kierownik
- ręcznie
- Mapy
- wyraźny
- Mecz
- maksymalny
- Może..
- znaczy
- Poznaj nasz
- Pamięć
- wzmiankowany
- metryczny
- Metryka
- Środkowy
- Bliski Wschód
- może
- minimum
- minut
- ML
- Moda
- model
- modele
- monitor
- monitorowane
- monitorowanie
- Miesiąc
- miesięcznie
- miesięcy
- jeszcze
- Kino
- Wielomodelowy punkt końcowy
- wielokrotność
- Muzyka
- musi
- Nazwa
- Nazwy
- niezbędny
- Potrzebować
- potrzebne
- wymagania
- sieć
- AWARIA SIECI
- Nowości
- nlp
- Nie
- powiadomienie
- Powiadomienia
- numer
- obiekty
- uzyskać
- uzyskane
- of
- poza
- Oferty
- nieaktywny
- on
- ONE
- Online
- tylko
- działać
- Szanse
- Optymalny
- optymalizacja
- Optymalizacja
- optymalizacji
- Option
- Opcje
- or
- zamówienie
- organizacji
- Inne
- na zewnątrz
- przerwa
- opisane
- wydajność
- wybitny
- koniec
- własny
- Parallel
- parametr
- parametry
- część
- przechodzić
- Przechodzący
- namiętny
- Przeszłość
- Wzór
- wzory
- Zapłacić
- procent
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- okres
- periodycznie
- perspektywa
- wybierać
- rurociąg
- krok po kroku
- plany
- plato
- Analiza danych Platona
- PlatoDane
- polityka
- możliwie
- Post
- Wiadomości
- mocny
- praktyka
- praktyki
- Przewidywania
- Cena
- wycena
- Model wyceny
- Proaktywne
- wygląda tak
- Obrobiony
- procesów
- przetwarzanie
- Procesory
- Produkcja
- promowanie
- zapewniać
- pod warunkiem,
- zapewnia
- że
- zaopatrzenie
- cele
- Putting
- zapytania
- zasięg
- Kurs
- raczej
- dosięgnąć
- Czytający
- real
- w czasie rzeczywistym
- otrzymać
- Odebrane
- otrzymuje
- polecić
- zalecenia
- Zalecana
- zaleca
- rekord
- dokumentacja
- zmniejszyć
- region
- prasowe
- pozostawać
- zdalny
- Usunięto
- raport
- Raportowanie
- Raporty
- zażądać
- wywołań
- wymagany
- wymagania
- Zasób
- Zasoby
- odpowiedź
- REST
- dalsze
- Efekt
- powraca
- prawo
- skała
- Rolka
- trasy
- Zasada
- reguły
- run
- bieganie
- sagemaker
- Wnioskowanie SageMakera
- taki sam
- Zapisz
- Oszczędności
- Skala
- waga
- skalowaniem
- scenariusze
- zaplanowane
- zadraśnięcie
- skrypty
- sekund
- działy
- widzieć
- wybrany
- wybierając
- senior
- wysłany
- oddzielny
- Serie
- Bezserwerowe
- usługa
- Usługi
- służąc
- zestaw
- ustawienie
- kilka
- Shadow
- Share
- ona
- powinien
- pokazać
- pokazał
- pokazane
- Targi
- Podobnie
- Prosty
- ponieważ
- pojedynczy
- Rozmiar
- rozmiary
- Plaster
- mały
- mniejszy
- So
- Rozwiązania
- kilka
- Źródło
- specjalista
- specyficzny
- Specyfikacje
- wydać
- dzielić
- stos
- standard
- początek
- rozpoczęty
- Ewolucja krok po kroku
- przechowywanie
- przechowywany
- strongly
- zbudowany
- sukces
- udany
- Z powodzeniem
- taki
- wystarczający
- odpowiedni
- wsparcie
- wspieraj proaktywnie
- Utrzymany
- podpory
- system
- TAG
- Brać
- trwa
- zadania
- zespół
- Techniczny
- test
- Testowanie
- Testy
- niż
- że
- Połączenia
- ich
- Im
- następnie
- Tam.
- a tym samym
- w związku z tym
- Te
- rzeczy
- to
- tych
- Przez
- wydajność
- czas
- czasy
- do
- narzędzie
- narzędzia
- aktualny
- Kwota produktów:
- ruch drogowy
- Trening
- Przekształcać
- Transformatory
- Trendy
- prawdziwy
- włącza
- rodzaj
- typy
- zasadniczy
- w odróżnieniu
- nieobliczalny
- przesłanych
- Stosowanie
- posługiwać się
- przypadek użycia
- używany
- zastosowania
- za pomocą
- zazwyczaj
- Wykorzystując
- UPRAWOMOCNIĆ
- wartość
- Wartości
- Wariant
- różnorodny
- Zobacz i wysłuchaj
- widoczność
- wizja
- wyobrażanie sobie
- Tom
- kłęby
- czekać
- chcieć
- Droga..
- we
- sieć
- usługi internetowe
- DOBRZE
- Co
- jeśli chodzi o komunikację i motywację
- czy
- który
- Podczas
- szeroki
- Szeroki zasięg
- będzie
- w
- w ciągu
- bez
- pracował
- pracownik
- pracowników
- działa
- pisanie
- napisany
- You
- Twój
- zefirnet
- zero