Az Azure OpenAI szolgáltatáskvóta kezelése

A kvóta lehetővé teszi, hogy aktívan kezelje a díjkorlátok kiosztását az előfizetésen belüli üzemelő példányok között. Ez a cikk végigvezeti az Azure OpenAI-kvóta kezelésének folyamatán.

Előfeltételek

Fontos

A kvóták megtekintéséhez és a modellek üzembe helyezéséhez a Cognitive Services Használati adatok olvasó szerepköre szükséges. Ez a szerepkör biztosítja az Azure-előfizetések kvótahasználatának megtekintéséhez szükséges minimális hozzáférést. Ha többet szeretne megtudni erről a szerepkörről és az Azure OpenAI-hoz való hozzáféréshez szükséges egyéb szerepkörökről, tekintse meg az Azure szerepköralapú hozzáférésről (Azure RBAC) szóló útmutatót.

Ez a szerepkör az Azure Portal Előfizetések>hozzáférés-vezérlése (IAM)> területén található.Szerepkör-hozzárendelési> keresés hozzáadása a Cognitive Services-használati olvasóhoz. Ezt a szerepkört az előfizetés szintjén kell alkalmazni, az erőforrás szintjén nem létezik.

Ha nem szeretné használni ezt a szerepkört, az előfizetés-olvasó szerepkör egyenértékű hozzáférést biztosít, de olvasási hozzáférést is biztosít a kvóta és a modell üzembe helyezésének megtekintéséhez szükséges hatókörön túl.

Bevezetés a kvóta használatába

Az Azure OpenAI kvótafunkciója lehetővé teszi a sebességkorlátok hozzárendelését az üzemelő példányokhoz, akár a "kvóta" nevű globális korlátig. A kvótát régiónként, modellenkénti alapon rendeli hozzá az előfizetéshez a tokenek percenkénti (TPM) egységében. Amikor előfizetést készít az Azure OpenAI-ra, a legtöbb elérhető modellhez alapértelmezett kvótát fog kapni. Ezután minden üzembe helyezéshez hozzá fog rendelni TPM-et a létrehozásukkor, és a modellhez rendelkezésre álló kvóta ezzel az összeggel csökken. Továbbra is létrehozhat üzembe helyezéseket, és hozzárendelheti őket TPM-hez, amíg el nem éri a kvótakorlátot. Ha ez megtörténik, a modell új üzembe helyezését csak úgy hozhatja létre, ha csökkenti az ugyanazon modell más üzemelő példányaihoz rendelt TPM-et (így felszabadítja a TPM-et használat céljából), vagy a kívánt régióban a modellkvóta növelésének kérelmezésével és jóváhagyásával.

Feljegyzés

Az USA keleti régiójában a GPT-35-Turbo esetében 240 000 TPM-es kvótával az ügyfelek egyetlen, 240 000 TPM-es üzembe helyezést, egyenként 2 120 000 TPM-et vagy egy vagy több Azure OpenAI-erőforráson belüli üzembe helyezést hozhatnak létre, amennyiben a TPM-jük összesen kevesebb mint 240 000 TPM-et ad hozzá az adott régióban.

Az üzembe helyezés létrehozásakor a hozzárendelt TPM közvetlenül megfelelteti a jogkivonatok percenkénti sebességkorlátját, amelyet a következtetési kérések érvénybe léptetnek. A rendszer egy percenkénti kérések (RPM) sebességkorlátot is kikényszeríteni fog, amelynek értéke a TPM-hozzárendeléssel arányosan van beállítva a következő arány használatával:

6 RPM/1000 TPM.

A TPM globális elosztásának rugalmassága egy előfizetésen és régión belül lehetővé tette, hogy az Azure OpenAI Szolgáltatás enyhítse az egyéb korlátozásokat:

  • A régiónkénti erőforrások maximális száma 30-ra nő.
  • Az erőforrásban lévő ugyanazon modell egynél több üzembe helyezésének létrehozására vonatkozó korlát el lett távolítva.

Kvóta hozzárendelése

Modelltelepítés létrehozásakor lehetősége van jogkivonatok percenkénti (TPM) hozzárendelésére az adott üzembe helyezéshez. A TPM 1000 növekményesen módosítható, és megfelelteti az üzembe helyezéskor érvényes TPM- és RPM-sebességkorlátoknak, ahogy azt fentebb említettük.

Ha új üzembe helyezést szeretne létrehozni az Azure AI Studióból a Felügyelet területen, válassza az Üzembe helyezések>új üzembe helyezés létrehozása lehetőséget.

A TPM beállítására a Speciális beállítások legördülő menüben van lehetőség:

Screenshot of the deployment UI of Azure AI Studio

Az üzembe helyezést követően módosíthatja a TPM-foglalást az Üzembe helyezés szerkesztése lehetőség kiválasztásával az Azure AI Studióban a Felügyeleti>telepítések területen. Ezt a kijelölést a felügyeleti>kvóták alatt található új kvótakezelési felületen is módosíthatja.

Fontos

A kvóták és a korlátok változhatnak, a legfrissebb információkért tekintse meg a kvótákat és korlátokat ismertető cikkünket.

Modellspecifikus beállítások

A különböző modelltelepítések, más néven modellosztályok egyedi maximális TPM-értékekkel rendelkeznek, amelyeket most már szabályozhat. Ez az adott régióban az adott modelltelepítéshez lefoglalható maximális TPM-mennyiséget jelenti. Bár minden modelltípus a saját egyedi modellosztályát jelöli, a maximális TPM-érték jelenleg csak bizonyos modellosztályok esetében különbözik:

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

Minden más modellosztály közös maximális TPM-értékkel rendelkezik.

Feljegyzés

A kvótajogkivonatok percenkénti (TPM) lefoglalása nem kapcsolódik a modell maximális bemeneti jogkivonat-korlátjaihoz. A modell bemeneti jogkivonatának korlátai a modelltáblában vannak meghatározva, és nem érintik a TPM módosításai.

Kvóta megtekintése és kérése

Ha egy adott régióban lévő központi telepítésekre vonatkozóan szeretné áttekinteni a kvótakiosztásokat, válassza a Felügyeleti>kvótát az Azure AI Studióban:

Screenshot of the quota UI of Azure AI Studio

  • Kvóta neve: Minden modelltípushoz régiónként egy kvótaérték tartozik. A kvóta a modell összes verzióját lefedi. A kvóta neve kibontható a felhasználói felületen a kvótát használó üzemelő példányok megjelenítéséhez.
  • Üzembe helyezés: Modelltelepítések modellosztály szerint osztva.
  • Használat/korlát: A kvótanév esetében ez azt mutatja, hogy az üzemelő példányok mennyi kvótát használnak, valamint az előfizetéshez és régióhoz jóváhagyott teljes kvótát. Ez a felhasznált kvótamennyiség a sávdiagramon is megjelenik.
  • Kérelemkvóta: A mező ikonja egy űrlapra navigál, ahol a kvótanövelési kérelmek elküldhetők.

Meglévő üzemelő példányok migrálása

Az új kvótarendszerre és a TPM-alapú kiosztásra való áttérés részeként az összes meglévő Azure OpenAI-modell üzembe helyezése automatikusan át lett migrálva a kvóta használatára. Azokban az esetekben, amikor a meglévő TPM/RPM-foglalás túllépi az alapértelmezett értékeket a korábbi egyéni sebességkorlát-növekedések miatt, a rendszer egyenértékű TPM-et rendelt az érintett üzemelő példányokhoz.

A sebességkorlátok ismertetése

A TPM üzembe helyezéshez való hozzárendelése beállítja a tokenek percenkénti (TPM) és a percenkénti kérések (RPM) sebességkorlátjait az üzembe helyezéshez, a fent leírtak szerint. A TPM-sebességkorlátok azon jogkivonatok maximális számán alapulnak, amelyeket egy kérés a kérés beérkezésének időpontjában feldolgozni fog. Ez nem ugyanaz, mint a számlázáshoz használt jogkivonatok száma, amelyet az összes feldolgozás befejezése után számítunk ki.

Az Azure OpenAI az egyes kérések beérkezésekor kiszámítja a feldolgozott tokenek becsült maximális számát, amely a következőket tartalmazza:

  • Szöveg és darabszám kérése
  • A max_tokens paraméterbeállítás
  • A best_of paraméterbeállítás

Amikor a kérések bekerülnek az üzembehelyezési végpontba, a rendszer hozzáadja a becsült maximálisan feldolgozott jogkivonatok számát a percenként alaphelyzetbe álló összes kérés futó tokenszámához. Ha ebben a percben bármikor eléri a TPM sebességkorlátját, a további kérések 429-es válaszkódot kapnak, amíg a számláló alaphelyzetbe nem áll.

Az RPM sebességkorlátjai az idő múlásával fogadott kérések számán alapulnak. A sebességkorlát arra számít, hogy a kérések egyenletesen oszlanak el egyperces időszak alatt. Ha ez az átlagos folyamat nem tartható fenn, akkor a kérések 429-választ kaphatnak annak ellenére, hogy a korlát nem teljesül, ha egy perc alatt mérik. Ennek a viselkedésnek a megvalósítása érdekében az Azure OpenAI Szolgáltatás kiértékeli a bejövő kérések arányát egy kis idő alatt, általában 1 vagy 10 másodperc alatt. Ha az adott időszakban beérkezett kérelmek száma meghaladja a megadott RPM-korlátnál elvárt értéket, akkor az új kérések a következő értékelési időszakig 429 válaszkódot kapnak. Ha például az Azure OpenAI 1 másodperces időközönként figyeli a kérelmek sebességét, akkor a sebességkorlátozás 600 RPM-alapú üzemelő példány esetén történik, ha minden 1 másodperces időszakban több mint 10 kérés érkezik (percenként 600 kérelem = 10 kérés másodpercenként).

Ajánlott díjszabási eljárások

A sebességkorlátokkal kapcsolatos problémák minimalizálása érdekében érdemes az alábbi technikákat használni:

  • Állítsa max_tokens és best_of a forgatókönyv igényeinek megfelelő minimális értékekre. Például ne állítson be nagy maximális jogkivonatértéket, ha a válaszok kicsinek számítanak.
  • Kvótakezeléssel növelheti a TPM-et a nagy forgalmú üzemelő példányokon, és csökkentheti a TPM-et a korlátozott igényű üzemelő példányokon.
  • Implementáljon újrapróbálkozási logikát az alkalmazásba.
  • Kerülje a hirtelen terhelésváltásokat. Fokozatosan növelje a munkaterhelést.
  • Teszteljen különböző terhelésnövelési mintákat.

Üzembe helyezés automatizálása

Ez a szakasz rövid példasablonokat tartalmaz, amelyek segítségével programozott módon hozhat létre olyan üzembe helyezéseket, amelyek kvótát használnak a TPM-sebességkorlátok beállításához. A kvóta bevezetésével az API-verziót 2023-05-01 kell használnia az erőforrás-kezeléssel kapcsolatos tevékenységekhez. Ez az API-verzió csak az erőforrások kezelésére szolgál, és nem befolyásolja a hívások következtetéséhez használt API-verziót, például a befejezéseket, a csevegés befejezését, a beágyazást, a képgenerálást stb.

Telepítés

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

Elérésiút-paraméterek

Paraméter Típus Kötelező? Leírás
accountName húr Szükséges Az Azure OpenAI-erőforrás neve.
deploymentName húr Szükséges Az üzembe helyezési név, amelyet egy meglévő modell üzembe helyezésekor választott, vagy az a név, amelyet egy új modell üzembe helyezésekor szeretne használni.
resourceGroupName húr Szükséges A modell üzembe helyezéséhez társított erőforráscsoport neve.
subscriptionId húr Szükséges A társított előfizetés előfizetés-azonosítója.
api-version húr Szükséges A művelethez használandó API-verzió. Az ÉÉÉÉ-HH-NN formátumot követi.

Támogatott verziók

Kérelem törzse

Ez csak a rendelkezésre álló kérelemtörzs paramétereinek egy része. A paraméterek teljes listájához tekintse meg a REST API referenciadokumentációját.

Paraméter Típus Leírás
sku SKU Az SKU-t képviselő erőforrásmodell-definíció.
capacity egész szám Ez az üzemelő példányhoz hozzárendelt kvóta mennyiségét jelöli. Az 1 érték 1000 token per minute (TPM) értékkel egyenlő. A 10 érték 10 ezer token per minute (TPM) értékkel egyenlő.

Példa kérésre:

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"}}}'

Feljegyzés

Az engedélyezési jogkivonatok többféleképpen is létrehozhatóak. A kezdeti tesztelés legegyszerűbb módja a Cloud Shell elindítása az Azure Portalról. Ez után futtassa a az account get-access-token parancsot. Ezt a jogkivonatot használhatja ideiglenes engedélyezési jogkivonatként API-teszteléshez.

További információkért tekintse meg a REST API használati és üzembe helyezési referenciadokumentációját.

Használat

Egy adott régió kvótahasználatának lekérdezése egy adott előfizetéshez

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

Elérésiút-paraméterek

Paraméter Típus Kötelező? Leírás
subscriptionId húr Szükséges A társított előfizetés előfizetés-azonosítója.
location húr Szükséges A használati adatok megtekintésének helye például: eastus
api-version húr Szükséges A művelethez használandó API-verzió. Az ÉÉÉÉ-HH-NN formátumot követi.

Támogatott verziók

Példa kérésre:

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' 

Erőforrás törlése

Ha egy Azure OpenAI-erőforrás törlésére tett kísérlet történik az Azure Portalról, ha az üzemelő példányok törlése továbbra is folyamatban van, a rendszer a kapcsolódó központi telepítések törléséig letiltja a törlést. Az üzemelő példányok törlése először lehetővé teszi a kvótalefoglalások megfelelő felszabadítását, hogy azok használhatók legyenek az új üzemelő példányokon.

Ha azonban a REST API-val vagy más programozott módszerrel töröl egy erőforrást, akkor ez előbb átmegy az üzembe helyezések törlésének szükségességén. Ha ez történik, a társított kvótafoglalás nem lesz elérhető az új üzembe helyezéshez való hozzárendeléshez 48 órán át, amíg az erőforrást ki nem üríti. Ha egy törölt erőforrás azonnali kiürítését szeretné aktiválni a kvóta felszabadításához, kövesse a törölt erőforrás-utasítások törlését.

Következő lépések