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ą aprowiowane typy wdrożeń?

  • 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). Globalne aprowizowane wdrożenia są dostępne w tych samych zasobach usługi Azure OpenAI co wszystkie inne typy wdrożeń, 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. Podobnie wdrożenia aprowizowania strefy danych są również dostępne w tych samych zasobach co wszystkie inne typy wdrożeń, ale umożliwiają korzystanie z globalnej infrastruktury platformy Azure w celu dynamicznego kierowania ruchu do centrum danych w strefie danych określonej przez firmę Microsoft 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, globalna aprowizowana zarządzana jednostka przepływności lub jednostka przepływności zarządzanej aprowizowanej strefy danych przypisana dla każdego regionu. 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 narzędzi Azure AI Foundry 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

Temat gpt-4o, 2024-05-13 & gpt-4o, 2024-08-06 gpt-4o-mini, 2024-07-18
Wdrożenie minimalne aprowizacji w strefie globalnej i danych 15 15
Inkrementacja skali aprowizacji globalnej i strefy danych 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 portalu azure OpenAI w witrynie Azure AI Foundry.

Uwaga

Globalne wdrożenia aprowizowania są obsługiwane tylko w przypadku modeli gpt-4o, 2024-08-06 i gpt-4o-mini, 2024-07-18. Wdrożenia aprowizowania strefy danych są obsługiwane tylko w przypadku modeli gpt-4o, 2024-08-06, gpt-4o, 2024-05-13 i gpt-4o-mini, 2024-07-18 modeli. Aby uzyskać więcej informacji na temat dostępności modelu, zapoznaj się z dokumentacją modeli.

Najważniejsze pojęcia

Typy wdrożeń

Podczas tworzenia aprowizowanego wdrożenia w narzędziu Azure AI Foundry typ wdrożenia w oknie dialogowym Tworzenie wdrożenia można ustawić na wartość Global Provisioned-Managed, DataZone Provisioned-Managed lub regional Provisioned-Managed type w zależności od potrzeb związanych z przetwarzaniem danych dla danego obciążenia.

Podczas tworzenia aprowizowanego wdrożenia w usłudze Azure OpenAI za pośrednictwem interfejsu wiersza polecenia lub interfejsu API sku-name można ustawić GlobalProvisionedManagedwartość , DataZoneProvisionedManagedlub ProvisionedManaged w zależności od potrzeb przetwarzania danych dla danego obciążenia. Aby dostosować poniższe przykładowe polecenie interfejsu wiersza polecenia platformy Azure do innego typu wdrożenia, po prostu zaktualizuj sku-name parametr, aby był zgodny z typem wdrożenia, który chcesz wdrożyć.

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 aprowizowania wdrożeń nowy limit przydziału jest wyświetlany w usłudze Azure AI Foundry jako element limitu przydziału o nazwie Provisioned Managed Throughput Unit(Jednostka aprowizowanej zarządzanej przepływności). W przypadku wdrożeń aprowizowanych globalnie nowy limit przydziału jest wyświetlany w narzędziu Azure AI Foundry jako element limitu przydziału o nazwie Global Provisioned Managed Przepływność. W przypadku wdrożeń aprowizowanych w strefie danych nowy limit przydziału jest wyświetlany w usłudze Azure AI Foundry jako element limitu przydziału o nazwie Data Zone Provisioned Managed Throughput Unit(Jednostka zarządzanej przepływności aprowizowanej strefy danych). W okienku Limit przydziału usługi Foundry rozwiń element limitu przydziału, aby wyświetlić wdrożenia przyczyniające się do użycia każdego limitu 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 wyznaczonych kart limitu przydziału typu wdrożenia aprowizowanego w usłudze Azure AI Foundry Formularz umożliwia klientowi zażądanie zwiększenia limitu przydziału jednostki 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 rozwiązania Azure AI Foundry, aby zapewnić informacje w czasie rzeczywistym dotyczące dostępności pojemności.

W rozwiązaniu Azure AI Foundry ś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 usługi Azure AI Foundry 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 wdrożenia zapewniają przydzieloną ilość pojemności przetwarzania modelu w celu uruchomienia danego modelu.

We wszystkich typach wdrożeń aprowizowanych 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. Wszystkie aprowizowane typy wdrożeń są zoptymalizowane pod kątem zapewnienia, że zaakceptowane wywołania są przetwarzane za pomocą consis tryb namiotu l czasu przetwarzania (rzeczywiste opóźnienie końcowe jest zależne 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?

We wszystkich typach wdrożeń aprowizowania 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 wdrożeń aprowizowanych używamy odmiany algorytmu wyciekowego 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 szacowany jest rzeczywisty > , 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