Freigeben über


Was ist bereitgestellter Durchsatz?

Hinweis

Das Angebot „Azure OpenAI Provisioned“ erhielt am 12. August 2024 erhebliche Updates, einschließlich der Anpassung des Kaufmodells an Azure-Standards und die Umstellung auf modellunabhängige Kontingente. Es wird dringend empfohlen, dass Kunden, die vor diesem Datum eingebunden wurden, das „Azure OpenAI Bereitgestellt“-Update vom August lesen, um mehr über diese Änderungen zu erfahren.

Mithilfe der Funktionalität „Bereitgestellter Durchsatz“ können Sie den in einer Bereitstellung erforderlichen Durchsatz angeben. Der Dienst weist daraufhin die erforderliche Modellverarbeitungskapazität zu und stellt sicher, dass diese für Sie bereit ist. Der Durchsatz wird als bereitgestellte Durchsatzeinheiten (Provisioned Throughput Units, PTUs) definiert. Dabei handelt es sich um eine normalisierte Methode zur Darstellung des Durchsatzes für Ihre Bereitstellung. Jedes Modellversionspaar benötigt unterschiedliche PTU-Mengen, um unterschiedliche Durchsatzmengen pro PTU bereitzustellen.

Was bieten die bereitgestellten und global bereitgestellten Bereitstellungstypen?

  • Vorhersagbare Leistung: stabile maximale Wartezeit und stabilen maximalen Durchsatz für einheitliche Workloads.
  • Reservierte Verarbeitungskapazität: Eine Bereitstellung konfiguriert die Durchsatzmenge. Nach der Bereitstellung ist der Durchsatz verfügbar, unabhängig davon, ob er verwendet wird.
  • Kosteneinsparungen: Workloads mit hohem Durchsatz bieten im Vergleich zur tokenbasierten Nutzung möglicherweise Kosteneinsparungen.

Eine Azure OpenAI-Bereitstellung ist eine Verwaltungseinheit für ein bestimmtes OpenAI-Modell. Eine Bereitstellung bietet Kunden den Zugriff auf ein Modell zum Rückschluss und integriert weitere Features wie die Inhaltsmoderation (Informationen finden Sie in der Dokumentation zur Inhaltsmoderation). Globale Bereitstellungen stehen in denselben Azure OpenAI-Ressourcen zur Verfügung wie nicht globale Bereitstellungstypen, ermöglichen es Ihnen jedoch, die globale Infrastruktur von Azure zu nutzen, um den Datenverkehr dynamisch an das Rechenzentrum mit der besten Verfügbarkeit für jede Anforderung weiterzuleiten.

Was erhalten Sie?

Thema Bereitgestellt
Was ist das? Bietet einen garantierten Durchsatz in kleineren Schritten als das bestehende bereitgestellte Angebot. Bereitstellungen verfügen über eine konsistente maximale Wartezeit für eine bestimmte Modellversion.
Für wen ist das gedacht? Kunden, die den garantierten Durchsatz mit minimalen Abweichungen hinsichtlich der Wartezeit wünschen.
Kontingent Bereitgestellte verwaltete Durchsatzeinheit oder globale bereitgestellte verwaltete Durchsatzeinheit pro Region zugewiesen. Das Kontingent kann für jedes verfügbare Azure OpenAI-Modell verwendet werden.
Latency Die maximale durch das Modell eingeschränkte Wartezeit Die Gesamtwartezeit bestimmt unter anderem die Form des Aufrufs.
Nutzung In Azure Monitor bereitgestelltes Measure „Provisioned-Managed Utilization V2“.
Größenschätzung Bereitgestellter Rechner im Studio- und Benchmarkingskript

Welche Modelle und Regionen sind für den bereitgestellten Durchsatz verfügbar?

Region gpt-4, 0613 gpt-4, 1106-Preview gpt-4, 0125-Preview gpt-4, turbo-2024-04-09 gpt-4o, 2024-05-13 gpt-4o, 2024-08-06 gpt-4o-mini, 2024-07-18 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 -
switzerlandwest - - - - - - - - -
uksouth - -
westus
westus3 -

Hinweis

Die bereitgestellte Version von gpt-4 Version: turbo-2024-04-09 ist derzeit ausschließlich auf Text beschränkt.

Wichtige Begriffe

Bereitstellungstypen

Beim Erstellen einer bereitgestellten Bereitstellung in Azure OpenAI Studio wird der Bereitstellungstyp im Dialogfeld „Bereitstellung erstellen“ als „Bereitgestellt-Verwaltet“ angezeigt. Beim Erstellen einer global bereitgestellten verwalteten Bereitstellung in Azure Open Studio wird der Bereitstellungstyp im Dialogfeld „Bereitstellung erstellen“ als „Bereitgestellt-Verwaltet“ angezeigt.

Wenn Sie eine bereitgestellte Bereitstellung in Azure OpenAI über CLI oder API erstellen, müssen Sie sku-name auf „ProvisionedManaged“ festlegen. Wenn Sie eine global bereitgestellte Bereitstellung in Azure OpenAI über CLI oder API erstellen, müssen Sie sku-name auf „GlobalProvisionedManaged“ festlegen. sku-capacity gibt die Anzahl der PTUs an, die der Bereitstellung zugewiesen sind.

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 

Kontingent

Bereitgestellte Durchsatzeinheiten

Bereitgestellte Durchsatzeinheiten (Provisioned Throughput Units, PTUs) sind generische Einheiten der Modellverarbeitungskapazität, mit denen Sie die Größe bereitgestellter Bereitstellungen anpassen können, um den erforderlichen Durchsatz für die Verarbeitung von Prompts und das Generieren von Fertigstellungen zu erzielen. Bereitgestellte Durchsatzeinheiten werden einem Abonnement als Kontingent auf regionaler Basis gewährt, wodurch die maximale Anzahl von PTUs definiert wird, die Bereitstellungen in diesem Abonnement und dieser Region zugewiesen werden können.

Modellunabhängiges Kontingent

Im Gegensatz zum Kontingent „Token pro Minute“ (TPM), das von anderen Azure OpenAI-Angeboten verwendet wird, sind PTUs modellunabhängig. Die PTUs können verwendet werden, um beliebige unterstützten Modelle/Versionen in der Region bereitzustellen.

Diagramm des modellunabhängigen Kontingents mit einem Pool von PTUs, die für mehrere Azure OpenAI-Modelle verfügbar sind.

Das neue Kontingent wird für bereitgestellte Bereitstellungen in Azure OpenAI Studio als Kontingentelement mit dem Namen Bereitgestellte verwaltete Durchsatzeinheit angezeigt. Das neue Kontingent wir für global bereitgestellte Bereitstellungen im Azure OpenAI Studio als Kontingentelement namens Global bereitgestellte verwaltete Durchsatzeinheit angezeigt. Im Bereich „Studio-Kontingent“ werden durch Erweitern des Kontingentelements die Bereitstellungen angezeigt, die zum Verbrauch jedes Kontingents beitragen.

Screenshot der bereitgestellten Kontingentbenutzeroberfläche für Azure OpenAI Provisioned.

Abrufen von PTU-Kontingent

Das PTU-Kontingent ist standardmäßig in vielen Regionen verfügbar. Wenn zusätzliches Kontingent erforderlich ist, können Kunden zusätzliches Kontingent über den Link „Kontingent anfordern“ rechts neben dem Kontingentelement „Bereitgestellte verwaltete Durchsatzeinheit“ oder „Global bereitgestellte verwaltete Durchsatzeinheit“ in Azure OpenAI Studio anfordern. Das Formular ermöglicht es dem Kunden, eine Erhöhung des angegebenen PTU-Kontingents für eine bestimmte Region anzufordern. Der Kunde wird eine E-Mail an die eingefügte Adresse erhalten, sobald die Anforderung genehmigt ist, in der Regel innerhalb von zwei Werktagen.

PTU-Mindestwerte pro Modell

Die minimalen Werte für PTU-Bereitstellung, Inkremente und Verarbeitungskapazität, die jeder Einheit zugeordnet sind, variieren je nach Modelltyp und Version.

Kapazitätstransparenz

Azure OpenAI ist ein sehr gefragter Dienst, bei dem die Kundennachfrage möglicherweise die GPU-Kapazität des Diensts überschreitet. Microsoft ist bestrebt, Kapazitäten für alle nachgefragten Regionen und Modelle bereitzustellen, aber der Ausverkauf in einer Region ist immer eine Möglichkeit. Dies kann die Möglichkeiten einiger Kunden einschränken, eine Bereitstellung des gewünschten Modells, der gewünschten Version oder der gewünschten Anzahl von PTUs in einer gewünschten Region zu erstellen – selbst wenn sie in dieser Region über ein Kontingent verfügen. Ganz allgemein gesprochen:

  • Das Kontingent begrenzt die maximale Anzahl von PTUs, die in einem Abonnement und einer Region bereitgestellt werden können, und ist keine Garantie für die Verfügbarkeit der Kapazität.
  • Die Kapazität wird zur Bereitstellungszeit zugeteilt und wird solange gehalten, wie die Bereitstellung vorhanden ist. Wenn die Dienstkapazität nicht verfügbar ist, schlägt die Bereitstellung fehl
  • Kunden verwenden Echtzeitinformationen zur Verfügbarkeit von Kontingenten/Kapazitäten, um eine geeignete Region für ihr Szenario mit der erforderlichen Modellkapazität zu wählen
  • Durch das Herunterskalieren oder Löschen einer Bereitstellung wird die Kapazität in die Region wieder freigegeben. Es gibt keine Garantie dafür, dass die Kapazität verfügbar sein wird, wenn die Bereitstellung später aufskaliert oder neu erstellt wird.

Leitfaden für regionale Kapazität

Um Benutzern zu helfen, die für ihre Bereitstellungen benötigte Kapazität zu finden, werden Kunden eine neue API und Studio-Erfahrung verwenden, um Echtzeitinformationen zu erhalten.

In Azure OpenAI Studio wird die Bereitstellungserfahrung ermitteln, wenn einer Region die Kapazität fehlt, das gewünschte Modell, die Version und die Anzahl der PTUs zu unterstützen, und sie wird den Benutzer bei Bedarf an eine alternative Region weiterleiten.

Details zur neuen Bereitstellungserfahrung finden Sie im Leitfaden für die ersten Schritte in „Azure OpenAI Provisioned“.

Die neue API für Modellkapazität kann auch verwendet werden, um programmgesteuert die maximale Bereitstellungsgröße eines angegebenen Modells zu identifizieren, das in jeder Region basierend auf der Verfügbarkeit von Kontingenten im Abonnement und der Dienstkapazität in der Region erstellt werden kann.

Wenn eine akzeptable Region nicht verfügbar ist, um das gewünschte Modell, die Version und/oder die PTUs zu unterstützen, können Kunden auch die folgenden Schritte ausprobieren:

  • Versuchen Sie die Bereitstellung mit einer kleineren Anzahl von PTUs.
  • Versuchen Sie die Bereitstellung zu einem anderen Zeitpunkt. Die Kapazitätsverfügbarkeit ändert sich dynamisch basierend auf Kundennachfrage, und mehr Kapazität kann später verfügbar werden.
  • Stellen Sie sicher, dass das Kontingent in allen akzeptablen Regionen verfügbar ist. Die API für Modellkapazität und die Studio-Erfahrung berücksichtigen die Verfügbarkeit von Kontingenten bei der Rückgabe alternativer Regionen für die Erstellung einer Bereitstellung.

Ermitteln der Anzahl der für eine Workload erforderlichen PTUs

PTUs stellen eine Modellverarbeitungskapazität dar. Ähnlich wie auf Ihrem Computer oder in Datenbanken verbrauchen verschiedene Workloads oder Anforderungen an das Modell unterschiedliche Mengen der zugrunde liegenden Verarbeitungskapazität. Die Konvertierung von Aufrufformmerkmalen (Promptgröße, Generierungsgröße und Aufrufrate) in PTUs ist komplex und nicht linear. Um diesen Vorgang zu vereinfachen, können Sie den Azure OpenAI-Kapazitätsrechner verwenden, um die Größe bestimmter Workloadformen zu ermitteln.

Einige allgemeine Überlegungen:

  • Generierungen erfordern mehr Kapazität als Prompts.
  • Die Berechnung größerer Aufrufe ist progressiv teurer. Beispielsweise erfordern 100 Aufrufe mit einer Promptgröße von 1000 Tokens weniger Kapazität als ein Aufruf mit 100 000 Tokens im Prompt. Dies bedeutet auch, dass die Verteilung dieser Aufrufformen im Gesamtdurchsatz wichtig ist. Bei Datenverkehrsmustern mit einer breiten Verteilung, die einige sehr große Aufrufe enthält, kann der Durchsatz pro PTU geringer sein als bei einer engeren Verteilung mit der gleichen durchschnittlichen Größe von Prompts und Vervollständigungstoken.

Funktionsweise der Verwendungsleistung

Bereitgestellte und global bereitgestellte Bereitstellungen bieten Ihnen eine zugewiesene Modellverarbeitungskapazität, um ein bestimmtes Modell auszuführen.

Bei Bereitstellungen mit bereitstellungsverwalteter und global bereitstellungsverwalteter Nutzung gibt die API im Falle einer Kapazitätsüberschreitung sofort einen HTTP-Statusfehler vom Typ „429“ zurück. So können Benutzer entscheiden, wie der Datenverkehr verwaltet werden soll. Benutzer können Anforderungen an eine separate Bereitstellung oder an eine Standardinstanz mit nutzungsbasierter Bezahlung umleiten oder eine Wiederholungsstrategie nutzen, um eine bestimmte Anforderung zu verwalten. Der Dienst gibt weiterhin den HTTP-Statuscode vom Typ „429“ zurück, bis die Auslastung unter 100 Prozent fällt.

Wie kann ich die Kapazität überwachen?

Die Metrik Provision-managed Utilization V2 in Azure Monitor misst im Minutentakt die Auslastung einer bestimmten Bereitstellung. Bereitstellungsverwaltete und global bereitstellungsverwaltete Bereitstellungen sind so optimiert, dass sie die Verarbeitung akzeptierter Aufrufe mit einer konsistenten Modellverarbeitungszeit sicherstellen, wobei die tatsächliche End-to-End-Wartezeit von den Merkmalen eines Aufrufs abhängt.

Was sollte ich tun, wenn ich eine 429-Antwort erhalte?

Die 429-Antwort ist kein Fehler, sondern soll als Teil des Entwurfs Benutzer*innen darüber informieren, dass eine bestimmte Bereitstellung zu einem bestimmten Zeitpunkt vollständig ausgelastet ist. Durch die Bereitstellung einer Fast-Fail-Antwort können Sie bestimmen, wie mit diesen Situationen umgegangen werden soll, um Ihren Anwendungsanforderungen zu entsprechen.

Die Header retry-after-ms und retry-after in der Antwort geben die Wartezeit bis zur Annahme des nächsten Aufrufs an. Wie Sie mit dieser Antwort umgehen, hängt von Ihren Anwendungsanforderungen ab. Hier einige Überlegungen dazu:

  • Sie können erwägen, den Datenverkehr auf andere Modelle, Bereitstellungen oder Erfahrungen umzuleiten. Diese Lösung bietet die kürzeste Wartezeit, da die Aktion ausgeführt werden kann, sobald Sie das 429-Signal erhalten. Anregungen zur effektiven Implementierung dieses Musters finden Sie in diesem Communitybeitrag.
  • Wenn längere Wartezeiten pro Aufruf Ihren Vorstellungen entsprechen, implementieren Sie eine clientseitige Wiederholungslogik. Mit dieser Option erhalten Sie den höchsten Durchsatz pro PTU. Die Azure OpenAI-Clientbibliotheken enthalten integrierte Funktionen für die Behandlung von Wiederholungen.

Wie entscheidet der Dienst, wann eine 429-Antwort gesendet werden soll?

Im Angebot mit bereitstellungsverwalteter und global bereitstellungsverwalteter Nutzung wird jede Anforderung einzeln entsprechend ihrer Promptgröße, ihrer erwarteten Generationsgröße und ihres Modells ausgewertet, um die erwartete Auslastung zu bestimmen. Bei Bereitstellungen mit nutzungsbasierter Bezahlung ist das anders: Hier wird ein benutzerdefiniertes Ratenbegrenzungsverhalten verwendet, das auf der geschätzten Datenverkehrslast basiert. Be Bereitstellungen mit nutzungsbasierter Bezahlung kann dies dazu führen, dass HTTP 429-Fehler generiert werden, bevor die festgelegten Quotenwerte überschritten werden, wenn der Datenverkehr nicht gleichmäßig verteilt ist.

Bei der bereitstellungsverwalteten und der global bereitstellungsverwalteten Nutzung wird eine Variation des Leaky-Bucket-Algorithmus verwendet, um die Auslastung unter 100 Prozent zu halten und gleichzeitig burstartigen Datenverkehr zuzulassen. Die allgemeine Logik lautet folgendermaßen:

  1. Jeder Kunde verfügt über eine festgelegte Kapazität, die er für eine Bereitstellung nutzen kann.

  2. Wenn eine Anforderung gestellt wird, passiert Folgendes:

    a. Wenn die aktuelle Auslastung über 100 % liegt, gibt der Dienst einen 429-Code zurück, wobei der retry-after-ms-Header auf die Zeit festgelegt ist, bis die Auslastung unter 100 % liegt.

    b. Andernfalls schätzt der Dienst die inkrementelle Änderung der Auslastung, die zum Verarbeiten der Anforderung benötigt wird, indem Prompttoken und die angegebenen max_tokens im Aufruf kombiniert werden. Wenn der max_tokens-Parameter nicht angegeben ist, wird der Dienst einen Wert schätzen. Diese Schätzung kann zu einer tieferen Parallelität führen als erwartet, wenn die Anzahl der tatsächlich generierten Token klein ist. Stellen Sie für die höchste Parallelität sicher, dass der max_tokens-Wert der tatsächlichen Generierungsgröße so nah wie möglich ist.

  3. Nach dem Abschluss einer Anforderung sind die tatsächlichen Computekosten für den Aufruf bekannt. Um eine genaue Berechnung zu gewährleisten, wird die Auslastung mithilfe der folgenden Logik korrigiert:

    a. Wenn die tatsächlichen Kosten höher geschätzt werden (>), wird die Differenz zur Auslastung b der Bereitstellung hinzugefügt. Wenn die tatsächlichen Kosten niedriger geschätzt werden (<), wird die Differenz abgezogen.

  4. Die Gesamtauslastung wird basierend auf der Anzahl der bereitgestellten PTUs in fortlaufenden Dekrementen verringert.

Hinweis

Aufrufe werden angenommen, bis die Auslastung 100 Prozent erreicht. Bursts, die nur wenig über 100 Prozent liegen, sind möglicherweise für kurze Zeiträume zulässig, aber im Zeitverlauf wird Ihr Datenverkehr auf eine Auslastung von 100 % begrenzt.

Diagramm, das zeigt, wie nachfolgende Aufrufe zur Auslastung hinzugefügt werden.

Wie viele gleichzeitige Aufrufe kann ich in meiner Bereitstellung haben?

Die erreichbare Anzahl gleichzeitiger Aufrufe hängt von der Form des jeweiligen Aufrufs ab (Promptgröße, Parameter „max_token“ usw.). Der Dienst wird Aufrufe weiterhin akzeptieren, bis die Nutzung über 100 % liegt. Um die ungefähre Anzahl gleichzeitiger Aufrufe zu bestimmen, können Sie die maximalen Anforderungen pro Minute für eine bestimmte Aufrufform im Kapazitätsrechner modellieren. Wenn das System weniger als die Anzahl der Samplingtoken wie max_token generiert, nimmt es mehr Anfragen an.

Nächste Schritte