Udostępnij za pośrednictwem


Co to jest aprowizowana przepływność?

Uwaga

Oferta Azure OpenAI Provisioned otrzymała znaczące aktualizacje 12 sierpnia 2024 r., w tym dostosowanie modelu zakupu do standardów platformy Azure i przejście do limitu przydziału niezależnego od modelu. Zdecydowanie zaleca się, aby klienci dołączyli przed tą datą przeczytać aktualizację aprowizacji usługi Azure OpenAI z sierpnia, aby dowiedzieć się więcej o tych zmianach.

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.

Jakie są aprowidowane i globalne typy wdrożeń aprowizowania?

  • 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). Wdrożenia globalne są dostępne w tych samych zasobach usługi Azure OpenAI co typy wdrożeń innych niż globalne, ale umożliwiają korzystanie z globalnej infrastruktury platformy Azure w celu dynamicznego kierowania ruchu do centrum danych z najlepszą dostępnością dla każdego żądania.

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.
Dla kogo jest przeznaczony? Klienci, którzy chcą zagwarantować przepływność z minimalną wariancją opóźnienia.
Norma sprzedaży Aprowizowana jednostka przepływności zarządzanej lub globalna aprowizowana jednostka przepływności zarządzanej przypisana na region. Limit przydziału można używać w dowolnym dostępnym modelu usługi Azure OpenAI.
Opóźnienie Ograniczenie maksymalnego opóźnienia z modelu. Ogólne opóźnienie jest czynnikiem kształtu wywołania.
Wykorzystanie Aprowizowana miara Wykorzystania zarządzanego w wersji 2 dostępna w usłudze Azure Monitor.
Szacowanie rozmiaru Podany kalkulator w skryscie studio i benchmarkingu.
Buforowanie monitów W przypadku obsługiwanych modeli rabat wynosi do 100% buforowanych tokenów wejściowych.

Ile przepływności na jednostkę PTU otrzymujesz dla każdego modelu

Ilość przepływności (tokenów na minutę lub moduł TPM) pobiera wdrożenie na jednostkę PTU jest funkcją tokenów wejściowych i wyjściowych w ciągu minuty. Generowanie tokenów wyjściowych wymaga większego przetwarzania niż tokenów wejściowych, dlatego im więcej tokenów wyjściowych wygenerowało niższy ogólny moduł TPM. Usługa dynamicznie równoważy koszty danych wejściowych i wyjściowych, więc użytkownicy nie muszą ustawiać określonych limitów danych wejściowych i wyjściowych. Takie podejście oznacza, że wdrożenie jest odporne na wahania kształtu obciążenia.

Aby ułatwić uproszczenie nakładu pracy związanego z ustalaniem rozmiaru, w poniższej tabeli przedstawiono moduł TPM dla gpt-4o jednostek i gpt-4o-mini modeli reprezentujących maksymalny moduł TPM przy założeniu, że cały ruch jest wejściowy lub wyjściowy. Aby dowiedzieć się, jak różne współczynniki tokenów wejściowych i wyjściowych wpływają na maksymalny rozmiar modułu TPM na jednostkę PTU, zobacz kalkulator pojemności usługi Azure OpenAI. W tabeli przedstawiono również wartości docelowe opóźnienia umowy dotyczącej poziomu usług (SLA) dla modelu. Aby uzyskać więcej informacji na temat umowy SLA dla usługi Azure OpenAI, zobacz stronę Umowy dotyczące poziomu usług (SLA) dla usług online

gpt-4o, 2024-05-13 & gpt-4o, 2024-08-06 gpt-4o-mini, 2024-07-18
Wdrożenie minimalne aprowizacji globalnej 15 15
Globalna aprowizowana przyrost skali 5 5
Wdrożenie minimalne aprowizacji regionalnej 50 25
Regionalna aprowizowana przyrost skali 50 25
Maksymalna liczba wejściowych modułów TPM na jednostkę PTU 2500 37,000
Maksymalna liczba modułów TPM wyjściowych na jednostkę PTU 833 12,333
Wartość docelowa opóźnienia 25 tokenów na sekundę 33 tokeny na sekundę

Pełną listę można znaleźć w kalkulatorze programu AOAI Studio.

Najważniejsze pojęcia

Typy wdrożeń

Podczas tworzenia aprowizowanego wdrożenia w usłudze Azure OpenAI Studio typ wdrożenia w oknie dialogowym Tworzenie wdrożenia to Aprowizowanie zarządzane. Podczas tworzenia globalnego aprowizowanego wdrożenia zarządzanego w usłudze Azure Open Studio typ wdrożenia w oknie dialogowym Tworzenie wdrożenia to Global Provisioned-Managed.

Podczas tworzenia aprowizowanego wdrożenia w usłudze Azure OpenAI za pośrednictwem interfejsu wiersza polecenia lub interfejsu API należy ustawić wartość sku-name ProvisionedManaged. Podczas tworzenia globalnego aprowizowania wdrożenia w usłudze Azure OpenAI za pośrednictwem interfejsu wiersza polecenia lub interfejsu API należy ustawić wartość sku-name GlobalProvisionedManaged. 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

Aprowizowanie jednostek przepływności

Aprowizowanie jednostek przepływności (PTU) to ogólne jednostki wydajności przetwarzania modelu, których można użyć do rozmiaru aprowizowania wdrożeń w celu osiągnięcia wymaganej przepływności na potrzeby monitów przetwarzania i generowania zakończeń. Aprowizowanie jednostek przepływności jest przydzielane subskrypcji jako limit przydziału. Każdy przydział jest specyficzny dla regionu i definiuje maksymalną liczbę jednostek PTU, które można przypisać do wdrożeń w tej subskrypcji i regionie.

Limit przydziału niezależnego modelu

W przeciwieństwie do limitu przydziału tokenów na minutę (TPM) używanych przez inne oferty usługi Azure OpenAI, jednostki PTU są niezależne od modelu. Jednostki PTU mogą służyć do wdrażania dowolnego obsługiwanego modelu/wersji w regionie.

Diagram przedstawiający niezależny limit przydziału modelu z jedną pulą jednostek PTU dostępnych dla wielu modeli usługi Azure OpenAI.

W przypadku wdrożeń aprowizowanych nowy limit przydziału jest wyświetlany w programie Azure OpenAI Studio jako element limitu przydziału o nazwie Provisioned Managed Throughput Unit(Jednostka aprowizowanej zarządzanej przepływności). W przypadku wdrożeń zarządzanych zaaprowizowanych globalnie nowy limit przydziału jest wyświetlany w programie Azure OpenAI Studio jako element limitu przydziału o nazwie Global Provisioned Managed Throughput Unit (Global Provisioned Managed Throughput Unit). W okienku Limit przydziału programu Studio rozwiń element limitu przydziału, aby wyświetlić wdrożenia przyczyniające się do użycia każdego przydziału.

Zrzut ekranu przedstawiający interfejs użytkownika limitu przydziału dla aprowizowania usługi Azure OpenAI.

Uzyskiwanie limitu przydziału jednostek PTU

Limit przydziału jednostek PTU jest domyślnie dostępny w wielu regionach. Jeśli wymagany jest większy limit przydziału, klienci mogą zażądać limitu przydziału za pośrednictwem linku Żądaj limitu przydziału. Ten link można znaleźć po prawej stronie jednostki aprowizowanej zarządzanej przepływności lub kart limitu przydziału jednostek przepływności zarządzanej aprowizowanej globalnie w narzędziu Azure OpenAI Studio. Formularz umożliwia klientowi zażądanie zwiększenia określonego limitu przydziału jednostek PTU dla danego regionu. Klient otrzymuje wiadomość e-mail na dołączonym adresie po zatwierdzeniu żądania, zazwyczaj w ciągu dwóch dni roboczych.

Minimalne jednostki PTU dla modelu

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.

Przejrzystość pojemności

Azure OpenAI to bardzo poszukiwana usługa, w której zapotrzebowanie klientów może przekroczyć pojemność procesora GPU usługi. Firma Microsoft stara się zapewnić pojemność dla wszystkich regionów i modeli na żądanie, ale sprzedaż w regionie jest zawsze możliwa. To ograniczenie może ograniczyć możliwość utworzenia wdrożenia żądanego modelu, wersji lub liczby jednostek PTU w żądanym regionie, nawet jeśli mają dostępny limit przydziału w tym regionie. Ogólnie rzecz biorąc:

  • Limit przydziału powoduje ograniczenie maksymalnej liczby jednostek PTU, które można wdrożyć w subskrypcji i regionie, i nie gwarantuje dostępności pojemności.
  • Pojemność jest przydzielana w czasie wdrażania i jest przechowywana tak długo, jak istnieje wdrożenie. Jeśli pojemność usługi jest niedostępna, wdrożenie zakończy się niepowodzeniem
  • Klienci używają informacji w czasie rzeczywistym na temat dostępności limitu przydziału/pojemności, aby wybrać odpowiedni region dla swojego scenariusza z niezbędną pojemnością modelu
  • Skalowanie w dół lub usuwanie wdrożenia zwalnia pojemność z powrotem do regionu. Nie ma gwarancji, że pojemność będzie dostępna, jeśli wdrożenie zostanie przeskalowane w górę lub utworzone ponownie później.

Wskazówki dotyczące pojemności regionalnej

Aby znaleźć pojemność potrzebną do ich wdrożeń, użyj interfejsu API pojemności lub środowiska wdrażania programu Studio, aby zapewnić informacje w czasie rzeczywistym dotyczące dostępności pojemności.

W usłudze Azure OpenAI Studio środowisko wdrażania określa, kiedy region nie ma pojemności wymaganej do wdrożenia modelu. Dotyczy to żądanego modelu, wersji i liczby jednostek PTU. Jeśli pojemność jest niedostępna, środowisko kieruje użytkowników do wybranego regionu alternatywnego.

Szczegółowe informacje na temat nowego środowiska wdrażania można znaleźć w przewodniku Rozpoczynanie pracy z aprowizowaną usługą Azure OpenAI.

Nowy interfejs API pojemności modelu może służyć do programowego identyfikowania maksymalnego rozmiaru wdrożenia określonego modelu. Interfejs API uwzględnia zarówno limit przydziału, jak i pojemność usługi w regionie.

Jeśli akceptowalny region nie jest dostępny do obsługi modelu pożądania, wersji i/lub jednostek PTU, klienci mogą również spróbować wykonać następujące czynności:

  • Próba wdrożenia z mniejszą liczbą jednostek PTU.
  • Próba wdrożenia w innym czasie. Dostępność pojemności zmienia się dynamicznie na podstawie zapotrzebowania klientów, a większa pojemność może stać się dostępna później.
  • Upewnij się, że limit przydziału jest dostępny we wszystkich akceptowalnych regionach. Interfejs API pojemności modelu i środowisko programu Studio uwzględniają dostępność limitu przydziału w zwracaniu alternatywnych regionów do tworzenia wdrożenia.

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
  • W przypadku modeli GPT-4o i nowszych moduł TPM na jednostkę PTU jest ustawiany oddzielnie dla tokenów wejściowych i wyjściowych. W przypadku starszych modeli większe wywołania są stopniowo droższe do obliczeń. Na przykład 100 wywołań z rozmiarem monitu o token 1000 wymaga mniejszej pojemności niż jedno wywołanie z 100 000 tokenów w wierszu polecenia. Ta warstwa oznacza, ż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 duże wywołania, mogą mieć niższą przepływność na jednostkę PTU niż węższa dystrybucja z tym samym średnim rozmiarem tokenu monitu i ukończenia.

Jak działa wydajność wykorzystania

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

W przypadku wdrożeń zarządzanych przez aprowizowaną i globalną aprowizowaną obsługę administracyjną po przekroczeniu pojemności interfejs API zwróci błąd stanu HTTP 429. Ta szybka odpowiedź umożliwia użytkownikowi podejmowanie decyzji dotyczących 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 użyć strategii ponawiania prób, aby zarządzać danym żądaniem. Usługa 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 aprowizowaną i globalną aprowizowaną i zarządzaną aprowizowaną są zoptymalizowane w celu zapewnienia, że zaakceptowane wywołania są przetwarzane przy użyciu consis tryb namiotu l czasu przetwarzania (rzeczywiste kompleksowe opóźnienie 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 ofertach aprowizowanych zarządzanych przez aprowizowaną i globalną aprowizację 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 generowania błędów HTTP 429 przed przekroczeniem zdefiniowanych wartości przydziału, jeśli ruch nie jest równomiernie dystrybuowany.

W przypadku aprowizowania zarządzanego i globalnego zarządzanego przez aprowizację używamy odmiany nieszczelny algorytm 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. W przypadku żądań zawierających co najmniej 1024 tokeny buforowane tokeny są odejmowane z wartości tokenu monitu. Klient może otrzymać do 100% rabatu na tokeny monitu w zależności od rozmiaru buforowanych tokenów. max_tokens Jeśli parametr nie zostanie określony, usługa szacuje 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 nadal akceptuje wywołania, dopóki wykorzystanie osiągnie 100%. Aby określić przybliżoną liczbę wywołań współbieżnych, możesz wymodelować maksymalne żądania 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ń.

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

Region gpt-4o, 2024-05-13 gpt-4o, 2024-08-06 gpt-4o-mini, 2024-07-18 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 - - - - - - - - -
uaenorth - - - - - -
uksouth
westus
westus3 -

Uwaga

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

Następne kroki