Co to jest aprowizowana przepływność?

Aprowizowana przepływność umożliwia określenie wymaganej przepływności we wdrożeniu. Następnie usługa przydziela niezbędną pojemność przetwarzania modelu i zapewnia, że jest gotowa. Przepływność jest definiowana pod względem aprowizowanej jednostki przepływności (PTU), która jest znormalizowanym sposobem reprezentowania przepływności dla danego wdrożenia. Każda para wersji modelu wymaga różnych ilości jednostek PTU do wdrożenia i zapewnienia różnych przepływności na jednostkę PTU.

Jaki jest aprowizowany typ wdrożenia?

  • Przewidywalna wydajność: stabilne maksymalne opóźnienie i przepływność dla jednolitych obciążeń.
  • Pojemność przetwarzania zarezerwowanego: wdrożenie konfiguruje ilość przepływności. Po wdrożeniu przepływność jest dostępna niezależnie od tego, czy jest używana, czy nie.
  • Oszczędności kosztów: obciążenia o wysokiej przepływności mogą zapewnić oszczędności kosztów w porównaniu z użyciem tokenów.

Wdrożenie usługi Azure OpenAI to jednostka zarządzania dla określonego modelu OpenAI. Wdrożenie zapewnia klientowi dostęp do modelu na potrzeby wnioskowania i integruje więcej funkcji, takich jak moderowanie zawartości (zobacz dokumentację con tryb namiotu ration).

Uwaga

Przydział aprowizowanej jednostki przepływności różni się od limitu przydziału standardowego w usłudze Azure OpenAI i nie jest domyślnie dostępny. Aby dowiedzieć się więcej o tej ofercie, skontaktuj się z zespołem ds. kont Microsoft.

Co otrzymasz?

Temat Zaaprowizowane
Co to jest? Zapewnia gwarantowaną przepływność przy mniejszych przyrostach niż istniejąca aprowizowana oferta. Wdrożenia mają spójne maksymalne opóźnienie dla danej wersji modelu.
KtoTo jest dla? Klienci, którzy chcą zagwarantować przepływność z minimalną wariancją opóźnienia.
Norma sprzedaży Aprowizowanie jednostek przepływności zarządzanej dla danego modelu.
Opóźnienie Ograniczenie maksymalnego opóźnienia z modelu. Ogólne opóźnienie jest czynnikiem kształtu wywołania.
Wykorzystanie Aprowizowana miara wykorzystania zarządzana w usłudze Azure Monitor.
Szacowanie rozmiaru Podany kalkulator w skryscie studio i benchmarkingu.

Jak mogę uzyskać dostęp do aprowizowania?

Aby uzyskać aprowizowaną przepływność, musisz porozmawiać z zespołem ds. sprzedaży/konta firmy Microsoft. Jeśli nie masz zespołu ds. sprzedaży/konta, niestety w tej chwili nie możesz kupić aprowizowanej przepływności.

Jakie modele i regiony są dostępne dla aprowizowanej przepływności?

Region gpt-4, 0613 gpt-4, 1106-Preview gpt-4, 0125-Preview gpt-4, turbo-2024-04-09 gpt-4-32k, 0613 gpt-35-turbo, 1106 gpt-35-turbo, 0125
australiaeast -
brazilsouth - - -
canadacentral - - - -
canadaeast - - - -
eastus -
eastus2 -
francecentral - -
germanywestcentral - -
japaneast - - - -
koreacentral - - - -
northcentralus -
norwayeast - - - -
polandcentral -
southafricanorth - - -
southcentralus -
southindia -
swedencentral -
switzerlandnorth -
szwajcariawest - - - - - -
uksouth -
westus -
westus3

Uwaga

Aprowizowana wersja wersji gpt-4:turbo-2024-04-09 jest obecnie ograniczona tylko do tekstu.

Najważniejsze pojęcia

Aprowizowanie jednostek przepływności

Aprowizowanie jednostek przepływności (PTU) to jednostki wydajności przetwarzania modelu, które można zarezerwować i wdrożyć na potrzeby monitów przetwarzania i generowania zakończeń. Minimalne wdrożenie jednostek PTU, przyrosty i pojemność przetwarzania skojarzona z każdą jednostką różnią się w zależności od typu i wersji modelu.

Typy wdrożeń

Podczas wdrażania modelu w usłudze Azure OpenAI należy ustawić wartość sku-name Na wartość Provisioned-Managed. Parametr sku-capacity określa liczbę jednostek PTU przypisanych do wdrożenia.

az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
--deployment-name MyDeployment \
--model-name gpt-4 \
--model-version 0613  \
--model-format OpenAI \
--sku-capacity 100 \
--sku-name ProvisionedManaged 

Norma sprzedaży

Aprowizowany limit przydziału przepływności reprezentuje określoną łączną przepływność, którą można wdrożyć. Limit przydziału w usłudze Azure OpenAI service jest zarządzany na poziomie subskrypcji. Wszystkie zasoby usługi Azure OpenAI w ramach subskrypcji współużytkuje ten limit przydziału.

Limit przydziału jest określony w jednostkach aprowizowanej przepływności i jest specyficzny dla trypletu (typ wdrożenia, model, region). Limit przydziału nie jest wymienny. Oznacza to, że nie można użyć limitu przydziału dla GPT-4 do wdrożenia GPT-3.5-Turbo.

Podczas gdy podejmujemy każdą próbę zapewnienia, że można wdrożyć limit przydziału, limit przydziału nie reprezentuje gwarancji, że podstawowa pojemność jest dostępna. Usługa przypisuje pojemność podczas operacji wdrażania i jeśli pojemność jest niedostępna, wdrożenie kończy się niepowodzeniem z powodu błędu braku pojemności.

Określanie liczby jednostek PTU wymaganych dla obciążenia

Jednostki PTU reprezentują pojemność przetwarzania modelu. Podobnie jak w przypadku komputerów lub baz danych, różne obciążenia lub żądania do modelu będą zużywać różne ilości bazowej pojemności przetwarzania. Konwersja z cech kształtu wywołania (rozmiar monitu, rozmiar generowania i szybkość wywołań) na jednostki PTU jest złożona i nieliniowa. Aby uprościć ten proces, możesz użyć kalkulatora pojemności usługi Azure OpenAI do rozmiaru określonych kształtów obciążenia.

Kilka zagadnień wysokiego poziomu:

  • Generacje wymagają większej pojemności niż monity
  • Większe wywołania są stopniowo droższe do obliczeń. Na przykład 100 wywołań z rozmiarem monitu o token 1000 będzie wymagać mniejszej pojemności niż 1 wywołanie z 100 000 tokenów w wierszu polecenia. Oznacza to również, że rozkład tych kształtów wywołań jest ważny w ogólnej przepływności. Wzorce ruchu z szeroką dystrybucją, która obejmuje niektóre bardzo duże wywołania, mogą mieć niższą przepływność na jednostkę PTU niż węższy rozkład z tym samym średnim rozmiarem tokenu monitu i ukończenia.

Jak działa wydajność wykorzystania

Aprowidowane wdrożenia zapewniają przydzieloną ilość pojemności przetwarzania modelu w celu uruchomienia danego modelu.

W przypadku wdrożeń aprowizowanych zarządzanych po przekroczeniu pojemności interfejs API natychmiast zwróci błąd stanu HTTP 429. Dzięki temu użytkownik może podejmować decyzje dotyczące zarządzania ruchem. Użytkownicy mogą przekierowywać żądania do oddzielnego wdrożenia, do standardowego wystąpienia płatności zgodnie z rzeczywistym użyciem lub korzystać ze strategii ponawiania prób w celu zarządzania danym żądaniem. Usługa będzie nadal zwracać kod stanu HTTP 429, dopóki wykorzystanie spadnie poniżej 100%.

Jak mogę monitorować pojemność?

Metryka Aprowizowanego wykorzystania zarządzanego w wersji 2 w usłudze Azure Monitor mierzy użycie danych wdrożeń w 1-minutowych przyrostach. Wdrożenia zarządzane przez aprowizację są zoptymalizowane pod kątem zapewnienia, że zaakceptowane wywołania są przetwarzane przy użyciu consis tryb namiotu l czasu przetwarzania (rzeczywiste opóźnienie końcowe zależy od cech wywołania).

Co należy zrobić, gdy otrzymuję odpowiedź 429?

Odpowiedź 429 nie jest błędem, ale zamiast tego jest częścią projektu informującego użytkowników, że dane wdrożenie jest w pełni wykorzystywane w danym momencie. Zapewniając szybką odpowiedź w trybie failover, masz kontrolę nad sposobem obsługi tych sytuacji w sposób, który najlepiej odpowiada wymaganiom aplikacji.

Nagłówki retry-after-ms i retry-after w odpowiedzi informują o czasie oczekiwania przed zaakceptowaniem następnego wywołania. Sposób obsługi tej odpowiedzi zależy od wymagań aplikacji. Oto kilka zagadnień:

  • Możesz rozważyć przekierowanie ruchu do innych modeli, wdrożeń lub środowisk. Ta opcja jest rozwiązaniem o najniższym opóźnieniu, ponieważ akcję można podjąć natychmiast po otrzymaniu sygnału 429. Aby dowiedzieć się, jak skutecznie zaimplementować ten wzorzec, zobacz ten wpis społeczności.
  • Jeśli masz problemy z dłuższymi opóźnieniami poszczególnych wywołań, zaimplementuj logikę ponawiania po stronie klienta. Ta opcja zapewnia najwyższą przepływność na jednostkę PTU. Biblioteki klienckie usługi Azure OpenAI obejmują wbudowane funkcje do obsługi ponownych prób.

Jak usługa decyduje, kiedy wysłać 429?

W ofercie aprowizowanej zarządzanej każde żądanie jest oceniane indywidualnie zgodnie z rozmiarem monitu, oczekiwanym rozmiarem generacji i modelem w celu określenia oczekiwanego wykorzystania. Jest to w przeciwieństwie do wdrożeń z płatnością zgodnie z rzeczywistym użyciem, które mają niestandardowe zachowanie ograniczające szybkość na podstawie szacowanego obciążenia ruchu. W przypadku wdrożeń z płatnością zgodnie z rzeczywistym użyciem może to prowadzić do wygenerowania protokołu HTTP 429 przed przekroczeniem zdefiniowanych wartości przydziału, jeśli ruch nie jest równomiernie dystrybuowany.

W przypadku aprowizowania zarządzanego użyjemy odmiany algorytmu przeciekającej zasobnika, aby zachować wykorzystanie poniżej 100% przy jednoczesnym korzystaniu z pewnego wzrostu ruchu. Logika wysokiego poziomu jest następująca:

  1. Każdy klient ma określoną pojemność, którą może wykorzystać we wdrożeniu

  2. Po wysłaniu żądania:

    a. Gdy bieżące wykorzystanie jest wyższe niż 100%, usługa zwraca kod 429 z retry-after-ms nagłówkiem ustawionym na czas, aż użycie będzie poniżej 100%

    b. W przeciwnym razie usługa szacuje przyrostową zmianę użycia wymaganą do obsługi żądania, łącząc tokeny monitów i określone max_tokens w wywołaniu. max_tokens Jeśli parametr nie zostanie określony, usługa będzie szacować wartość. To oszacowanie może prowadzić do obniżenia współbieżności niż oczekiwano, gdy liczba rzeczywistych wygenerowanych tokenów jest mała. W przypadku najwyższej współbieżności upewnij się, że max_tokens wartość jest jak najbliżej rzeczywistego rozmiaru generowania.

  3. Po zakończeniu żądania znamy rzeczywisty koszt obliczeń dla wywołania. Aby zapewnić dokładną księgowość, poprawmy wykorzystanie przy użyciu następującej logiki:

    a. Jeśli szacowana wartość rzeczywista > , różnica jest dodawana do wykorzystania wdrożenia b. Jeśli szacowana wartość rzeczywista < , różnica jest odejmowana.

  4. Całkowite wykorzystanie jest dekrementowane w ciągłym tempie na podstawie liczby wdrożonych jednostek PTU.

Uwaga

Połączenia są akceptowane, dopóki wykorzystanie osiągnie 100%. Wzrosty nieco ponad 100% mogą być dozwolone w krótkich okresach, ale w czasie ruch jest ograniczony do 100% wykorzystania.

Diagram przedstawiający sposób dodawania kolejnych wywołań do wykorzystania.

Ile współbieżnych wywołań można mieć we wdrożeniu?

Liczba współbieżnych wywołań, które można osiągnąć, zależy od kształtu każdego wywołania (rozmiar monitu, max_token parametru itp.). Usługa będzie nadal akceptować wywołania do momentu osiągnięcia 100%. Aby określić przybliżoną liczbę współbieżnych wywołań, możesz wymodelować maksymalną liczbę żądań na minutę dla określonego kształtu wywołania w kalkulatorze pojemności. Jeśli system generuje mniej niż liczba tokenów próbkowania, takich jak max_token, zaakceptuje więcej żądań.

Następne kroki