Verwalten des Azure OpenAI-Dienstkontingents

Das Kontingent bietet die Flexibilität, die Zuordnung von Ratenbegrenzungen für die Bereitstellungen in Ihrem Abonnement aktiv zu verwalten. In diesem Artikel erfahren Sie, wie Sie Ihr Azure OpenAI-Kontingent verwalten.

Voraussetzungen

Wichtig

Zum Anzeigen von Kontingenten und für die Bereitstellung von Modellen wird die Rolle Cognitive Services-Nutzung – Leser benötigt. Diese Rolle bietet den minimal erforderlichen Zugriff, um die Kontingentnutzung für ein Azure-Abonnement anzuzeigen. Weitere Informationen zu dieser und weiteren Rollen, die Sie für den Zugriff auf Azure OpenAI benötigen, finden Sie im Leitfaden für den rollenbasierten Azure-Zugriff (Azure RBAC).

Sie finden diese Rolle im Azure-Portal unter Abonnements>Zugriffssteuerung(IAM)>Rollenzuweisung hinzufügen>; suchen Sie nach Cognitive Services-Nutzung – Leser. Diese Rolle muss auf Abonnementebene angewendet werden, sie ist auf Ressourcenebene nicht vorhanden.

Wenn Sie diese Rolle nicht verwenden möchten, bietet die Rolle Leser für das Abonnement einen gleichwertigen Zugriff, der jedoch über den Zugriffsumfang hinausgeht, der zum Anzeigen von Kontingenten und zur Modellimplementierung erforderlich ist.

Einführung in die Kontingente

Das Kontingent-Feature von Azure OpenAI ermöglicht die Zuweisung von Ratenlimits für Ihre Bereitstellungen bis zu einem globalen Grenzwert, der als „Kontingent“ bezeichnet wird. Das Kontingent wird Ihrem Abonnement pro Region und nach Modell in Einheiten von Token pro Minute (TPM) zugewiesen. Wenn Sie ein Abonnement in Azure OpenAI integrieren, erhalten Sie ein Standardkontingent für die meisten verfügbaren Modelle. Anschließend weisen Sie jeder Bereitstellung während der Erstellung bestimmte TPM zu. Dann wird das verfügbare Kontingent für dieses Modell um diesen Betrag reduziert. Sie können weiterhin Bereitstellungen erstellen und ihnen TPM zuweisen, bis Sie Ihr Kontingentlimit erreicht haben. Sobald dies geschehen ist, können Sie neue Bereitstellungen dieses Modells nur erstellen, indem Sie das anderen Bereitstellungen desselben Modells zugewiesene TPM reduzieren (wodurch TPM zur Verwendung freigegeben wird), oder indem Sie eine Modellkontingenterhöhung in der gewünschten Region anfordern und genehmigt bekommen.

Hinweis

Mit einem Kontingent von 240.000 TPM für GPT-35-Turbo in den Oststaaten der USA kann ein Kunde eine einzelne Bereitstellung mit 240.000 TPM, zwei Bereitstellungen mit jeweils 120.000 TPM oder eine beliebige Anzahl von Bereitstellungen in einer oder mehreren Azure OpenAI-Ressourcen erstellen, sofern seine TPM in dieser Region 240.000 nicht überschreiten.

Wenn eine Bereitstellung erstellt wird, werden die zugewiesenen TPM direkt der für seine Rückschlussanforderungen erzwungenen Token-pro-Minute-Ratenbegrenzung zugeordnet. Außerdem wird ein RPM-Ratenlimit (Requests-Per-Minute) erzwungen, dessen Wert proportional zur TPM-Zuweisung mit dem folgenden Verhältnis ist:

6 RPM pro 1000 TPM.

Die Flexibilität, TPM global innerhalb eines Abonnements und einer Region zu verteilen, hat Azure OpenAI Service ermöglicht, andere Einschränkungen zu lockern:

  • Die maximalen Ressourcen pro Region werden auf 30 erhöht.
  • Das Limit für die Erstellung von maximal einer Bereitstellung desselben Modells in einer Ressource wurde entfernt.

Kontingent zuweisen

Wenn Sie eine Modellbereitstellung erstellen, können Sie dieser Token pro Minute (TPM) zuzuweisen. Die TPM können in Schritten von 1.000 geändert werden und entsprechen den für Ihre Bereitstellung erzwungenen TPM- und RPM-Ratenlimits, wie oben erläutert.

Um eine neue Bereitstellung in Azure AI Studio unter Verwaltung zu erstellen, wählen Sie Bereitstellungen>Neue Bereitstellung erstellen aus.

Die Option zum Festlegen der TPM befindet sich in der Dropdownliste Erweiterte Optionen:

Screenshot of the deployment UI of Azure AI Studio

Nach der Bereitstellung können Sie Ihre TPM-Zuordnung anpassen, indem Sie Bereitstellung bearbeiten unterBereitstellungen>verwalten in Azure AI Studio auswählen. Sie können diese Auswahl auch in der neuen Benutzeroberfläche für die Kontingentverwaltung unterKontingente>verwalten ändern.

Wichtig

Kontingente und Grenzwerte können sich ändern. Die aktuellsten Informationen finden Sie in unserem Artikel zu den Kontingenten und Grenzwerten.

Modellspezifische Einstellungen

Verschiedene Modellbereitstellungen, die auch als Modellklassen bezeichnet werden, verfügen über eindeutige maximale TPM-Werte, die Sie jetzt anpassen können. Dabei geht es um die maximale TPM-Menge, die diesem Typ der Modellbereitstellung in einer bestimmten Region zugeordnet werden kann. Während jeder Modelltyp seine eigene eindeutige Modellklasse darstellt, unterscheidet sich der maximale TPM-Wert derzeit nur für bestimmte Modellklassen:

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

Alle anderen Modellklassen verfügen über einen gemeinsamen maximalen TPM-Wert.

Hinweis

Die Tokens-Per-Minute (TPM)-Kontingentzuweisung steht nicht im Zusammenhang mit dem maximalen Grenzwert für Eingabetoken eines Modells. Die Grenzwerte für Modelleingabetoken werden in der Modelltabelle definiert und sind von TPM-Änderungen nicht betroffen.

Anzeigen und Anfordern eines Kontingents

Wählen SieKontingent>verwalten in Azure AI Studio aus, um eine Übersicht über Ihre Kontingentzuordnungen für Bereitstellungen in einer bestimmten Region zu erhalten:

Screenshot of the quota UI of Azure AI Studio

  • Kontingentname: Für jeden Modelltyp gibt es einen Kontingentwert pro Region. Das Kontingent deckt alle Versionen dieses Modells ab. Der Kontingentname kann auf der Benutzeroberfläche erweitert werden, um die Bereitstellungen anzuzeigen, die das Kontingent verwenden.
  • Bereitstellung: Modellbereitstellungen dividiert nach Modellklasse.
  • Nutzung/Grenzwert: Für den Kontingentnamen wird angegeben, wie viel Kontingent von Bereitstellungen verwendet wird und wie viel Kontingent für dieses Abonnement und die Region insgesamt genehmigt wurde. Diese Menge des verwendeten Kontingents wird auch im Balkendiagramm dargestellt.
  • Kontingent anfordern: Das Symbol in diesem Feld führt Sie zum Formular zur Anforderungen der Erhöhung des Kontingents.

Migrieren vorhandener Bereitstellungen

Im Rahmen der Umstellung auf das neue Kontingentsystem und die TPM-basierte Zuweisung wurden alle vorhandenen Azure OpenAI-Modellbereitstellungen automatisch migriert, um Kontingente zu verwenden. In Fällen, in denen die vorhandene TPM/RPM-Zuordnung aufgrund vorheriger benutzerdefinierter Ratenbegrenzungserhöhungen die Standardwerte überschritt, wurde den betroffenen Bereitstellungen entsprechende TPM zugewiesen.

Grundlegendes zu den Ratenlimits

Durch das Zuweisen von TPM zu einer Bereitstellung werden die Ratenlimits TPM (Token-per-minute) und RPM (Requests-per-minute) für die Bereitstellung wie oben beschrieben festgelegt. Die TPM-Ratenlimits basieren auf der maximalen Anzahl von Token, die zum Zeitpunkt des Empfangens der Anforderung von einer Anforderung verarbeitet werden sollen. Sie entspricht nicht der Tokenanzahl, die bei der Abrechnung nach Abschluss der Verarbeitung veranschlagt wird.

Beim Empfang einer Anforderung berechnet Azure OpenAI eine geschätzte maximale Anzahl verarbeiteter Token, die Folgendes umfasst:

  • Eingabeaufforderungstext und Anzahl
  • Einstellung des Parameters max_tokens
  • Einstellung des Parameters best_of

Wenn Anforderungen an den Bereitstellungsendpunkt eingehen, wird die geschätzte Anzahl von max-processed-token zu einer ausgeführten Tokenanzahl aller Anforderungen hinzugefügt, die jede Minute zurückgesetzt wird. Wenn zu irgendeinem Zeitpunkt während dieser Minute der TPM-Ratengrenzwert erreicht wird, erhalten weitere Anforderungen den Antwortcode 429, bis der Zähler wieder zurückgesetzt wird.

Die Grenzwerte für die RPM-Rate basieren auf der Anzahl der im Laufe der Zeit empfangenen Anforderungen. Das Ratenlimit geht davon aus, dass die Anforderungen gleichmäßig über die Minute verteilt werden. Wenn dieser durchschnittliche Fluss nicht beibehalten wird, erhalten Anforderungen möglicherweise die Antwort 429, obwohl der Grenzwert noch nicht erreicht war, wenn er innerhalb einer Minute gemessen wird. Um dieses Verhalten zu implementieren, wertet Azure OpenAI Service die Rate eingehender Anforderungen über einen kurzen Zeitraum aus, in der Regel über 1 oder 10 Sekunden. Wenn die Anzahl der während dieser Zeit empfangenen Anforderungen die beim festgelegten RPM-Grenzwert erwartete Anzahl überschreitet, erhalten neue Anforderungen bis zum nächsten Auswertungszeitraum den Antwortcode 429. Wenn Azure OpenAI beispielsweise die Anforderungsrate in Intervallen von 1 Sekunde überwacht, erfolgt eine Ratenbegrenzung für eine Bereitstellung mit 600 RPM, wenn innerhalb von 1 Sekunde mehr als 10 Anforderungen eingehen (600 Anforderungen pro Minute = 10 Anforderungen pro Sekunde).

Empfohlene Vorgehensweise zur Ratenbegrenzung

Um Probleme im Zusammenhang mit der Ratenbegrenzung zu minimieren, empfiehlt sich folgende Methoden:

  • Legen Sie max_tokens und best_of auf die Mindestwerte fest, die den Anforderungen Ihres Szenarios entsprechen. Legen Sie beispielsweise keinen großen Max-Token-Wert fest, wenn Sie eine niedrige Antwortrate erwarten.
  • Verwenden Sie die Kontingentverwaltung, um TPM bei Bereitstellungen mit hohem Datenverkehr zu erhöhen bzw. bei Bereitstellungen mit eingeschränkten Anforderungen zu reduzieren.
  • Implementieren Sie eine Wiederholungslogik in der Anwendung.
  • Vermeiden Sie plötzliche Änderungen bei der Arbeitsauslastung. Erhöhen Sie die Workload nach und nach.
  • Testen Sie verschiedene Lasterhöhungsmuster.

Automatisieren der Bereitstellung

Dieser Abschnitt enthält kurze Beispielvorlagen, die Ihnen den Einstieg in das programmgesteuerte Erstellen von Bereitstellungen erleichtern, die ein Kontingent zum Festlegen von TPM-Ratenbegrenzungen verwenden. Mit der Einführung von Kontingenten müssen Sie die API-Version 2023-05-01 für Aktivitäten im Zusammenhang mit der Ressourcenverwaltung verwenden. Diese API-Version dient nur zur Verwaltung Ihrer Ressourcen und wirkt sich nicht auf die API-Version aus, die für Rückschlussaufrufe wie etwa Vervollständigungen, Chatvervollständigungen, Einbettungen, Bildgenerierung usw. verwendet wird.

Bereitstellung

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

Pfadparameter

Parameter type Erforderlich? BESCHREIBUNG
accountName Zeichenfolge Erforderlich Der Name Ihrer Azure OpenAI-Ressource.
deploymentName Zeichenfolge Erforderlich Der Bereitstellungsname, den Sie bei der Bereitstellung eines vorhandenen Modells ausgewählt haben, oder der Name, den Sie für eine neue Modellimplementierung verwenden möchten.
resourceGroupName Zeichenfolge Erforderlich Der Name der zugeordneten Ressourcengruppe für diese Modellimplementierung.
subscriptionId Zeichenfolge Erforderlich Abonnement-ID für das zugehörige Abonnement.
api-version Zeichenfolge Erforderlich Hierbei handelt es sich um die für diesen Vorgang zu verwendende API-Version. Sie hat das Format „JJJJ-MM-TT“.

Unterstützte Versionen

Anforderungstext

Dies ist nur eine Teilmenge der verfügbaren Anforderungstextparameter. Eine vollständige Liste der Parameter finden Sie in der REST-API-Referenzdokumentation.

Parameter Typ Beschreibung
sku Sku Die Ressourcenmodelldefinition, die die SKU repräsentiert.
Kapazität integer Dies stellt die Höhe des Kontingents dar, das Sie dieser Bereitstellung zuweisen. Der Wert 1 entspricht 1.000 Token pro Minute (TPM). Der Wert 10 entspricht 10.000 Token pro Minute (TPM).

Beispielanforderung

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

Hinweis

Es gibt mehrere Möglichkeiten, ein Autorisierungstoken zu generieren. Die einfachste Methode für anfängliche Tests besteht darin, Cloud Shell über das Azure-Portal zu starten. Führen Sie dann az account get-access-token aus. Sie können dieses Token als temporäres Autorisierungstoken für API-Tests verwenden.

Weitere Informationen finden Sie in der REST-API-Referenzdokumentation zu Nutzung und Bereitstellungen.

Verbrauch

So fragen Sie Ihre Kontingentnutzung in einer bestimmten Region für ein bestimmtes Abonnement ab:

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

Pfadparameter

Parameter type Erforderlich? BESCHREIBUNG
subscriptionId Zeichenfolge Erforderlich Abonnement-ID für das zugehörige Abonnement.
location Zeichenfolge Erforderlich Standort, für den die Nutzung angezeigt wird, z. B.: eastus
api-version Zeichenfolge Erforderlich Hierbei handelt es sich um die für diesen Vorgang zu verwendende API-Version. Sie hat das Format „JJJJ-MM-TT“.

Unterstützte Versionen

Beispielanforderung

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' 

Ressourcenlöschung

Wenn Sie versuchen, eine Azure OpenAI-Ressource aus dem Azure-Portal zu löschen, während noch Bereitstellungen vorhanden sind, wird der Löschvorgang blockiert, bis die zugehörigen Bereitstellungen gelöscht wurden. Wenn Sie zunächst die Bereitstellungen löschen, können Kontingentzuordnungen ordnungsgemäß freigegeben werden, damit sie für neue Bereitstellungen verwendet werden können.

Wenn Sie eine Ressource jedoch über die REST-API oder eine andere programmgesteuerte Methode löschen, ist ein vorheriges Löschen der Bereitstellungen nicht erforderlich. In diesem Fall steht das zugehörige Kontingent 48 Stunden lang nicht für die Zuweisung zu einer neuen Bereitstellung zur Verfügung, bis die Ressource endgültig gelöscht wird. Wenn Sie eine sofortige endgültige Löschung einer gelöschten Ressource auslösen möchten, um Kontingente freizugeben, befolgen Sie die Anweisungen unter Endgültiges Löschen einer gelöschten Ressource.

Nächste Schritte