Quotum voor Azure OpenAI-service beheren
Quota biedt de flexibiliteit om de toewijzing van frequentielimieten actief te beheren voor de implementaties binnen uw abonnement. In dit artikel wordt het proces voor het beheren van uw Azure OpenAI-quotum beschreven.
Vereisten
Belangrijk
Voor elke taak waarvoor het beschikbare quotum moet worden weergegeven, wordt u aangeraden de rol Lezer voor Cognitive Services-gebruik te gebruiken. Deze rol biedt de minimale toegang die nodig is om het quotumgebruik voor een Azure-abonnement weer te geven. Raadpleeg onze Azure RBAC-handleiding (op rollen gebaseerde toegang) voor meer informatie over deze rol en de andere rollen die u nodig hebt voor toegang tot Azure OpenAI.
Deze rol vindt u in De Azure-portal onder Toegangsbeheer voor abonnementen>(IAM)>Voeg de zoekfunctie voor roltoewijzingen> voor Cognitive Services Usages Reader toe. Deze rol moet worden toegepast op abonnementsniveau. Deze rol bestaat niet op resourceniveau.
Als u deze rol niet wilt gebruiken, biedt de rol Lezer van het abonnement gelijkwaardige toegang, maar verleent deze ook leestoegang buiten het bereik van wat nodig is voor het weergeven van quota en modelimplementatie.
Inleiding tot quotum
Met de quotumfunctie van Azure OpenAI kunt u frequentielimieten toewijzen aan uw implementaties, tot een globale limiet genaamd uw 'quotum'. Het quotum wordt toegewezen aan uw abonnement per regio, per model in eenheden tokens per minuut (TPM). Wanneer u een abonnement op Azure OpenAI onboardt, ontvangt u een standaardquotum voor de meeste beschikbare modellen. Vervolgens wijst u TPM toe aan elke implementatie terwijl deze wordt gemaakt en wordt het beschikbare quotum voor dat model verlaagd met dat bedrag. U kunt implementaties blijven maken en TPM toewijzen totdat u de quotumlimiet hebt bereikt. Zodra dat gebeurt, kunt u alleen nieuwe implementaties van dat model maken door de TPM te verminderen die is toegewezen aan andere implementaties van hetzelfde model (waardoor TPM wordt vrijgemaakt voor gebruik), of door een verhoging van het modelquotum in de gewenste regio aan te vragen en te worden goedgekeurd.
Notitie
Met een quotum van 240.000 TPM voor GPT-35-Turbo in VS - oost kan een klant één implementatie maken van 240K TPM, 2 implementaties van 120K TPM elk, of een willekeurig aantal implementaties in één of meerdere Azure OpenAI-resources, zolang de TPM maximaal 240K in die regio optelt.
Wanneer een implementatie wordt gemaakt, wordt de toegewezen TPM rechtstreeks toegewezen aan de snelheidslimiet per minuut die wordt afgedwongen voor de deductieaanvragen. Een rpm-frequentielimiet (Requests-Per-Minute) wordt ook afgedwongen waarvan de waarde proportioneel is ingesteld op de TPM-toewijzing met behulp van de volgende verhouding:
6 RPM per 1000 TPM.
De flexibiliteit om TPM wereldwijd te distribueren binnen een abonnement en regio heeft Azure OpenAI Service toegestaan om andere beperkingen te versoepen:
- Het maximum aantal resources per regio wordt verhoogd tot 30.
- De limiet voor het maken van niet meer dan één implementatie van hetzelfde model in een resource is verwijderd.
Quotum toewijzen
Wanneer u een modelimplementatie maakt, kunt u tokens per minuut (TPM) toewijzen aan die implementatie. TPM kan worden gewijzigd in stappen van 1000 en wordt toegewezen aan de TPM- en RPM-frequentielimieten die zijn afgedwongen voor uw implementatie, zoals hierboven is besproken.
Als u een nieuwe implementatie wilt maken vanuit Azure AI Studio, selecteert u Deployments>Deploy model Deploy base>model>Select Model>Confirm.
Na de implementatie kunt u uw TPM-toewijzing aanpassen door uw model te selecteren en te bewerken op de pagina Implementaties in Azure AI Studio. U kunt deze instelling ook wijzigen op de quotumpagina van het beheermodel>.
Belangrijk
Quota en limieten kunnen worden gewijzigd, voor de meest recente informatie raadpleegt u ons artikel over quota en limieten.
Modelspecifieke instellingen
Verschillende modelimplementaties, ook wel modelklassen genoemd, hebben unieke tpm-waarden die u nu kunt beheren. Dit vertegenwoordigt de maximale hoeveelheid TPM die kan worden toegewezen aan dat type modelimplementatie in een bepaalde regio.
Alle andere modelklassen hebben een gemeenschappelijke maximale TPM-waarde.
Notitie
Toewijzing van quotumtokens per minuut (TPM) is niet gerelateerd aan de maximale invoertokenlimiet van een model. Modelinvoertokenlimieten worden gedefinieerd in de modellentabel en worden niet beïnvloed door wijzigingen in TPM.
Quotum weergeven en aanvragen
Voor een volledige weergave van uw quotumtoewijzingen voor implementaties in een bepaalde regio selecteert u Beheerquotum > in Azure AI Studio:
- Implementatie: Modelimplementaties gedeeld door modelklasse.
- Quotumtype: Er is één quotumwaarde per regio voor elk modeltype. Het quotum omvat alle versies van dat model.
- Quotumtoewijzing: Voor de quotumnaam geeft dit aan hoeveel quotum wordt gebruikt door implementaties en het totale quotum dat is goedgekeurd voor dit abonnement en de regio. Dit aantal gebruikte quota wordt ook weergegeven in het staafdiagram.
- Aanvraagquotum: het pictogram navigeert naar een formulier waarin aanvragen voor het verhogen van het quotum kunnen worden ingediend.
Bestaande implementaties migreren
Als onderdeel van de overgang naar het nieuwe quotumsysteem en de toewijzing op basis van TPM zijn alle bestaande Azure OpenAI-modelimplementaties automatisch gemigreerd om quota te gebruiken. In gevallen waarin de bestaande TPM/RPM-toewijzing de standaardwaarden overschrijdt als gevolg van eerdere verhogingen van de aangepaste frequentielimiet, zijn equivalente TPM toegewezen aan de betrokken implementaties.
Inzicht in frequentielimieten
Als u TPM toewijst aan een implementatie, worden de frequentielimieten tokens per minuut (TPM) en RPM (Requests-Per-Minute) voor de implementatie ingesteld, zoals hierboven wordt beschreven. TPM-frequentielimieten zijn gebaseerd op het maximum aantal tokens dat naar schatting door een aanvraag wordt verwerkt op het moment dat de aanvraag wordt ontvangen. Het is niet hetzelfde als het tokenaantal dat wordt gebruikt voor facturering, wat wordt berekend nadat alle verwerking is voltooid.
Wanneer elke aanvraag wordt ontvangen, berekent Azure OpenAI een geschatte maximumaantal verwerkte tokens dat het volgende omvat:
- Tekst vragen en tellen
- De parameterinstelling max_tokens
- De parameterinstelling best_of
Wanneer aanvragen binnenkomen in het implementatie-eindpunt, wordt het geschatte maximumaantal verwerkte token toegevoegd aan een actief tokenaantal van alle aanvragen die elke minuut opnieuw worden ingesteld. Als de TPM-frequentielimietwaarde op enig moment tijdens die minuut wordt bereikt, ontvangen verdere aanvragen een 429-antwoordcode totdat de teller opnieuw wordt ingesteld.
Belangrijk
Het tokenaantal dat wordt gebruikt in de berekening van de frequentielimiet is een schatting die gedeeltelijk is gebaseerd op het aantal tekens van de API-aanvraag. De geschatte snelheidslimiettoken is niet hetzelfde als de tokenberekening die wordt gebruikt voor facturering/het bepalen dat een aanvraag onder de limiet voor invoertoken van een model valt. Vanwege de geschatte aard van de berekening van het snelheidslimiettoken, is het verwachte gedrag dat een frequentielimiet kan worden geactiveerd vóór wat er kan worden verwacht in vergelijking met een exacte meting van het tokenaantal voor elke aanvraag.
RPM-frequentielimieten zijn gebaseerd op het aantal aanvragen dat in de loop van de tijd is ontvangen. De frequentielimiet verwacht dat aanvragen gelijkmatig worden verdeeld over een periode van één minuut. Als deze gemiddelde stroom niet wordt onderhouden, ontvangen aanvragen mogelijk een 429-antwoord, zelfs als niet aan de limiet wordt voldaan wanneer deze gedurende een minuut wordt gemeten. Om dit gedrag te implementeren, evalueert Azure OpenAI Service de snelheid van binnenkomende aanvragen gedurende een korte periode, meestal 1 of 10 seconden. Als het aantal aanvragen dat tijdens die periode wordt ontvangen, groter is dan wat er wordt verwacht bij de ingestelde RPM-limiet, ontvangen nieuwe aanvragen een responscode van 429 tot de volgende evaluatieperiode. Als Azure OpenAI bijvoorbeeld de aanvraagsnelheid controleert op intervallen van 1 seconde, vindt frequentielimiet plaats voor een implementatie van 600 RPM als er meer dan 10 aanvragen worden ontvangen tijdens elke periode van 1 seconde (600 aanvragen per minuut = 10 aanvragen per seconde).
Aanbevolen procedures voor frequentielimiet
Als u problemen met betrekking tot frequentielimieten wilt minimaliseren, is het een goed idee om de volgende technieken te gebruiken:
- Stel max_tokens en best_of in op de minimumwaarden die voldoen aan de behoeften van uw scenario. Stel bijvoorbeeld geen grote waarde voor max-tokens in als u verwacht dat uw antwoorden klein zijn.
- Gebruik quotumbeheer om TPM bij implementaties met hoog verkeer te verhogen en TPM te verminderen op implementaties met beperkte behoeften.
- Implementeert logica voor opnieuw proberen in uw toepassing.
- Vermijd grote wijzigingen in de workload. Verhoog de workload geleidelijk.
- Test verschillende patronen voor belastingverhoging.
Implementatie automatiseren
Deze sectie bevat korte voorbeeldsjablonen waarmee u programmatisch implementaties kunt maken die gebruikmaken van quota om TPM-frequentielimieten in te stellen. Met de introductie van quota moet u api-versie 2023-05-01
gebruiken voor gerelateerde activiteiten voor resourcebeheer. Deze API-versie is alleen bedoeld voor het beheren van uw resources en heeft geen invloed op de API-versie die wordt gebruikt voor het deducteren van aanroepen zoals voltooiingen, chatvoltooiingen, insluiten, genereren van afbeeldingen, enzovoort.
Implementatie
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}?api-version=2023-05-01
Padparameters
Parameter | Type | Vereist? | Beschrijving |
---|---|---|---|
accountName |
tekenreeks | Vereist | De naam van uw Azure OpenAI-resource. |
deploymentName |
tekenreeks | Vereist | De implementatienaam die u hebt gekozen bij het implementeren van een bestaand model of de naam die u wilt gebruiken voor een nieuwe modelimplementatie. |
resourceGroupName |
tekenreeks | Vereist | De naam van de gekoppelde resourcegroep voor deze modelimplementatie. |
subscriptionId |
tekenreeks | Vereist | Abonnements-id voor het bijbehorende abonnement. |
api-version |
tekenreeks | Vereist | De API-versie die voor deze bewerking moet worden gebruikt. Dit volgt de indeling JJJJ-MM-DD. |
Ondersteunde versies
2023-05-01
Swagger-specificatie
Aanvraagbody
Dit is slechts een subset van de beschikbare parameters voor de aanvraagbody. Raadpleeg de REST API-referentiedocumentatie voor de volledige lijst met parameters.
Parameter | Type | Description |
---|---|---|
sku | Sku | De definitie van het resourcemodel die de SKU vertegenwoordigt. |
capacity | geheel getal | Dit vertegenwoordigt de hoeveelheid quotum die u aan deze implementatie toewijst. Een waarde van 1 is gelijk aan 1000 tokens per minuut (TPM). Een waarde van 10 is gelijk aan 10.000 tokens per minuut (TPM). |
Voorbeeld van aanvraag
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"}}}'
Notitie
Er zijn meerdere manieren om een autorisatietoken te genereren. De eenvoudigste methode voor eerste tests is het starten van Cloud Shell vanuit Azure Portal. Voer vervolgens az account get-access-token
uit. U kunt dit token gebruiken als uw tijdelijke autorisatietoken voor API-tests.
Raadpleeg de REST API-referentiedocumentatie voor gebruik en implementatie voor meer informatie.
Gebruik
Een query uitvoeren op uw quotumgebruik in een bepaalde regio voor een specifiek abonnement
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/usages?api-version=2023-05-01
Padparameters
Parameter | Type | Vereist? | Beschrijving |
---|---|---|---|
subscriptionId |
tekenreeks | Vereist | Abonnements-id voor het bijbehorende abonnement. |
location |
tekenreeks | Vereist | Locatie voor het weergeven van gebruik voor bijvoorbeeld: eastus |
api-version |
tekenreeks | Vereist | De API-versie die voor deze bewerking moet worden gebruikt. Dit volgt de indeling JJJJ-MM-DD. |
Ondersteunde versies
2023-05-01
Swagger-specificatie
Voorbeeld van aanvraag
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'
Verwijderen van resource
Wanneer een poging om een Azure OpenAI-resource te verwijderen uit Azure Portal wordt uitgevoerd als er nog implementaties aanwezig zijn, wordt verwijdering geblokkeerd totdat de bijbehorende implementaties zijn verwijderd. Als u de implementaties eerst verwijdert, kunnen quotatoewijzingen correct worden vrijgemaakt, zodat ze kunnen worden gebruikt voor nieuwe implementaties.
Als u echter een resource verwijdert met behulp van de REST API of een andere programmatische methode, hoeft u eerst implementaties te verwijderen. Wanneer dit gebeurt, blijft de bijbehorende quotumtoewijzing gedurende 48 uur niet beschikbaar om toe te wijzen aan een nieuwe implementatie totdat de resource is verwijderd. Als u een onmiddellijke opschoning wilt activeren voor een verwijderde resource om het quotum vrij te maken, volgt u de instructies voor het opschonen van een verwijderde resource.