Správa kvóty služby Azure OpenAI

Kvóta poskytuje flexibilitu při aktivní správě přidělování omezení rychlosti napříč nasazeními v rámci vašeho předplatného. Tento článek vás provede procesem správy kvóty Azure OpenAI.

Požadavky

Důležité

Zobrazení kvóty a nasazování modelů vyžaduje roli Čtenář využití služeb Cognitive Services. Tato role poskytuje minimální přístup potřebný k zobrazení využití kvóty napříč předplatným Azure. Další informace o této roli a dalších rolích, ke které budete potřebovat přístup k Azure OpenAI, najdete v průvodci přístupem na základě role v Azure (Azure RBAC).

Tuto roli najdete na webu Azure Portal v části Řízení přístupu k předplatným>(IAM)>Přidání vyhledávání přiřazení> rolí pro čtenář využití služeb Cognitive Services. Tato role se musí použít na úrovni předplatného, na úrovni prostředku neexistuje.

Pokud tuto roli nechcete používat, role čtenáře předplatného poskytne ekvivalentní přístup, ale zároveň udělí přístup pro čtení nad rámec toho, co je potřeba pro zobrazení kvóty a nasazení modelu.

Úvod do kvóty

Funkce kvóty Azure OpenAI umožňuje přiřazování omezení rychlosti pro vaše nasazení, a to až do globálního limitu označovaného jako "kvóta". Kvóta se přiřadí k vašemu předplatnému v jednotlivých oblastech v jednotkách tokenů za minutu (TPM). Když připojíte předplatné k Azure OpenAI, dostanete výchozí kvótu pro většinu dostupných modelů. Potom přiřaďte čip TPM každému nasazení při jeho vytvoření a dostupnou kvótu pro tento model se sníží o tuto částku. Můžete dál vytvářet nasazení a přiřazovat je TPM, dokud nedosáhnete limitu kvóty. Jakmile k tomu dojde, můžete vytvořit pouze nová nasazení tohoto modelu tím, že omezíte čip TPM přiřazený k jiným nasazením stejného modelu (čímž se čip TPM uvolní pro použití) nebo vyžádáním a schválením navýšení kvóty modelu v požadované oblasti.

Poznámka:

S kvótou 240 000 TPM pro GPT-35-Turbo v OBLASTI USA – východ může zákazník vytvořit jedno nasazení 240K TPM, 2 nasazení 120 tisíc TPM nebo libovolný počet nasazení v jednom nebo několika prostředcích Azure OpenAI, pokud jejich čip TPM v dané oblasti sčítá až 240 tisíc.

Po vytvoření nasazení se přiřazený čip TPM namapuje přímo na limit rychlosti tokenů za minutu vynucenou u žádostí o odvozování. Vynutí se také limit rychlosti požadavků za minutu (RPM ), jehož hodnota je nastavená úměrně k přiřazení TPM pomocí následujícího poměru:

6 RPM na 1000 TPM.

Flexibilita globální distribuce čipu TPM v rámci předplatného a oblasti umožnila službě Azure OpenAI uvolnit další omezení:

  • Maximální počet prostředků na oblast se zvýší na 30.
  • Bylo odebráno omezení při vytváření více než jednoho nasazení stejného modelu v prostředku.

Přiřazení kvóty

Při vytváření nasazení modelu máte možnost přiřadit k ho nasazení tokeny za minutu (TPM). TpM je možné upravit v přírůstcích po 1 000 a mapuje se na limity rychlosti TPM a RPM vynucené pro vaše nasazení, jak je popsáno výše.

Pokud chcete vytvořit nové nasazení z Azure AI Studia v části Správa, vyberte Nasazení>Vytvořit nové nasazení.

Možnost nastavení čipu TPM je v rozevíracím seznamu Upřesnit možnosti :

Screenshot of the deployment UI of Azure AI Studio

Po nasazení můžete upravit přidělení čipu TPM výběrem možnosti Upravit nasazení v části Nasazení správy>v Azure AI Studiu. Tento výběr můžete také upravit v rámci nového prostředí správy kvót v části Kvóty pro správu>.

Důležité

Kvóty a limity se můžou změnit, protože nejaktuálnější informace najdete v našem článku o kvótách a omezeních.

Nastavení specifická pro model

Různá nasazení modelů, označovaná také jako třídy modelů, mají jedinečné maximální hodnoty TPM, které teď můžete řídit. Představuje maximální množství čipu TPM, které lze přidělit danému typu nasazení modelu v dané oblasti. Zatímco každý typ modelu představuje vlastní jedinečnou třídu modelu, maximální hodnota TPM se v současné době liší pouze pro určité třídy modelu:

  • GPT-4
  • GPT-4-32K
  • Text-Davinci-003

Všechny ostatní třídy modelu mají společnou maximální hodnotu TPM.

Poznámka:

Přidělení tokenů kvót za minutu (TPM) nesouvisí s limitem maximálního vstupního tokenu modelu. Omezení vstupního tokenu modelu jsou definována v tabulce modelů a nemají vliv na změny provedené v čipu TPM.

Zobrazení a vyžádání kvóty

Pokud chcete zobrazit všechny vaše přidělení kvót napříč nasazeními v dané oblasti, vyberte kvótu správy>v Azure AI Studiu:

Screenshot of the quota UI of Azure AI Studio

  • Název kvóty: Pro každý typ modelu existuje jedna hodnota kvóty pro každou oblast. Kvóta zahrnuje všechny verze tohoto modelu. Název kvóty lze v uživatelském rozhraní rozšířit, aby se zobrazila nasazení, která používají kvótu.
  • Nasazení: Nasazení modelu rozdělená podle třídy modelu.
  • Využití/limit: U názvu kvóty se zobrazí, kolik kvót používají nasazení a celková kvóta schválená pro toto předplatné a oblast. Toto množství využité kvóty je znázorněno také v pruhovém grafu.
  • Kvóta žádosti: Ikona v tomto poli přejde do formuláře, ve kterém lze odeslat žádosti o navýšení kvóty.

Migrace existujících nasazení

V rámci přechodu na nový systém kvót a přidělování založené na čipu TPM se všechna existující nasazení modelu Azure OpenAI automaticky migrovala, aby používala kvótu. V případech, kdy stávající přidělení TPM/RPM překračuje výchozí hodnoty kvůli zvýšení předchozího vlastního limitu rychlosti, byl k ovlivněným nasazením přiřazen ekvivalentní čip TPM.

Principy limitů rychlosti

Přiřazení čipu TPM k nasazení nastaví omezení rychlosti tokenů za minutu (TPM) a požadavků za minutu (RPM), jak je popsáno výše. Omezení rychlosti TPM jsou založená na maximálním počtu tokenů, které se odhadují na zpracování žádostí v době přijetí požadavku. Není to stejné jako počet tokenů použitých pro fakturaci, který se vypočítá po dokončení veškerého zpracování.

Při přijetí každého požadavku Azure OpenAI vypočítá odhadovaný maximální počet zpracovaných tokenů, který zahrnuje následující:

  • Výzva k zadání textu a počtu
  • Nastavení parametru max_tokens
  • Nastavení parametru best_of

Při vstupu požadavků do koncového bodu nasazení se odhadovaný maximální počet zpracovaných tokenů přidá do počtu spuštěných tokenů všech požadavků, které se resetují každou minutu. Pokud během této minuty dojde k dosažení hodnoty limitu rychlosti TPM, další požadavky obdrží kód odpovědi 429, dokud se čítač resetuje.

Limity rychlosti RPM jsou založeny na počtu přijatých požadavků v průběhu času. Limit rychlosti očekává rovnoměrné rozdělení požadavků za jednu minutu. Pokud tento průměrný tok není zachován, můžou žádosti obdržet odpověď 429, i když se limit neskončí při měření v průběhu minuty. K implementaci tohoto chování služba Azure OpenAI vyhodnocuje míru příchozích požadavků během malého časového období, obvykle 1 nebo 10 sekund. Pokud počet přijatých požadavků během této doby překročí to, co by se očekávalo při nastaveném limitu RPM, nové požadavky obdrží kód odpovědi 429 až do dalšího zkušebního období. Pokud například Azure OpenAI monitoruje frekvenci požadavků v 1sekundových intervalech, dojde k omezování rychlosti pro nasazení o 600 RPM, pokud během každého 1sekundového období obdrží více než 10 požadavků (600 požadavků za minutu = 10 požadavků za sekundu).

Osvědčené postupy pro omezení rychlosti

Pokud chcete minimalizovat problémy související s limity rychlosti, je vhodné použít následující techniky:

  • Nastavte max_tokens a best_of na minimální hodnoty, které budou sloužit potřebám vašeho scénáře. Pokud například očekáváte, že vaše odpovědi budou malé, nenastavujte velkou hodnotu maximálního počtu tokenů.
  • Využijte správu kvót ke zvýšení počtu čipů TPM u nasazení s vysokým provozem a ke snížení počtu čipů TPM v nasazeních s omezenými potřebami.
  • Implementujte do své aplikace logiku opakování pokusů.
  • Pokuste se předcházet prudkým výkyvům zatížení. Zvyšujte zatížení postupně.
  • Otestujte různé vzorce zvýšení zatížení.

Automatizace nasazení

Tato část obsahuje stručné ukázkové šablony, které vám pomůžou začít programově vytvářet nasazení, která používají kvótu k nastavení limitů rychlosti TPM. Při zavedení kvóty musíte použít verzi 2023-05-01 rozhraní API pro aktivity související se správou prostředků. Tato verze rozhraní API slouží pouze ke správě prostředků a nemá vliv na verzi rozhraní API používanou k odvozování volání, jako jsou dokončování, dokončování chatu, vkládání, generování obrázků atd.

Nasazení

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}?api-version=2023-05-01

Parametry cesty

Parametr Typ Povinné? Popis
accountName string Požaduje se Název prostředku Azure OpenAI
deploymentName řetězec Požaduje se Název nasazení, který jste zvolili při nasazení existujícího modelu nebo názvu, který má mít nové nasazení modelu.
resourceGroupName řetězec Požaduje se Název přidružené skupiny prostředků pro toto nasazení modelu.
subscriptionId řetězec Požaduje se ID předplatného přidruženého předplatného.
api-version řetězec Požaduje se Verze rozhraní API, která se má použít pro tuto operaci. To má formát RRRR-MM-DD.

Podporované verze

Text požadavku

Jedná se pouze o podmnožinu dostupných parametrů textu požadavku. Úplný seznam parametrů najdete v referenční dokumentaci k rozhraní REST API.

Parametr Typ Popis
sku Skladová jednotka (SKU) Definice modelu prostředků představující skladovou položku.
capacity integer Představuje velikost kvóty , kterou k tomuto nasazení přiřazujete. Hodnota 1 se rovná 1 000 tokenů za minutu (TPM). Hodnota 10 se rovná 10 tisíc tokenů za minutu (TPM).

Příklad požadavku

curl -X PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-35-turbo-test-deployment?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' \
  -d '{"sku":{"name":"Standard","capacity":10},"properties": {"model": {"format": "OpenAI","name": "gpt-35-turbo","version": "0613"}}}'

Poznámka:

Existuje několik způsobů, jak vygenerovat autorizační token. Nejjednodušší metodou počátečního testování je spuštění Cloud Shellu z webu Azure Portal. Potom spusťte az account get-access-token. Tento token můžete použít jako dočasný autorizační token pro testování rozhraní API.

Další informace najdete v referenční dokumentaci k rozhraní REST API pro použití a nasazení.

Využití

Dotazování využití kvóty v dané oblasti pro konkrétní předplatné

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/usages?api-version=2023-05-01

Parametry cesty

Parametr Typ Povinné? Popis
subscriptionId string Požaduje se ID předplatného přidruženého předplatného.
location řetězec Požaduje se Umístění pro zobrazení využití pro příklad: eastus
api-version řetězec Požaduje se Verze rozhraní API, která se má použít pro tuto operaci. To má formát RRRR-MM-DD.

Podporované verze

Příklad požadavku

curl -X GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CognitiveServices/locations/eastus/usages?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' 

Odstranění prostředku

Při pokusu o odstranění prostředku Azure OpenAI z webu Azure Portal se v případě, že některá nasazení stále existují, zablokuje odstranění, dokud se neodstraní přidružená nasazení. Při prvním odstranění nasazení se přidělení kvót uvolní správně, aby se mohly používat v nových nasazeních.

Pokud však odstraníte prostředek pomocí rozhraní REST API nebo jiné programové metody, bude potřeba nejprve odstranit nasazení. Pokud k tomu dojde, přidružené přidělení kvóty zůstane nedostupné pro přiřazení k novému nasazení po dobu 48 hodin, dokud se prostředek nevyprázdní. Pokud chcete aktivovat okamžité vymazání odstraněného prostředku, aby se uvolnila kvóta, postupujte podle pokynů k vyprázdnění odstraněného prostředku.

Další kroky