Bereitgestellte Bereitstellungen in der Produktion betreiben

Zurzeit wird folgendes angezeigt:Neue Version des Foundry-Portals - Wechseln zur Version für das klassische Foundry-Portal

In diesem Artikel werden die End-to-End-Aufgaben für den Betrieb von Bereitstellungen mit bereitgestelltem Durchsatz in der Produktionsumgebung behandelt: Verwalten des Kontingents für Einheiten des bereitgestellten Durchsatzes (PTU), Erstellen von Bereitstellungen, Erwerben von Azure-Reservierungen, Ausführen von Inferenzaufrufen, Benchmarking, Überwachen der Auslastung, Umgang mit hoher Last, Skalieren und Bereinigen der Ressourcen.

In diesem Artikel wird davon ausgegangen, dass Sie mit den Konzepten in Was ist bereitgestellter Durchsatz? und den Abrechnungsdetails in PTU-Abrechnung und Kostenverwaltung vertraut sind.

Voraussetzungen

  • Ein Azure-Abonnement mit einer gültigen Zahlungsmethode. Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie zunächst ein kostenpflichtiges Azure-Konto.
  • Azure Contributor- oder Cognitive Services Contributor-Rolle für das Abonnement oder die Ressourcengruppe, in dem bzw. der Sie die Bereitstellung erstellen möchten.
  • Ein Microsoft Foundry-Projekt in der Region, in der Sie ein PTU-Kontingent haben. Ein Foundry-Projekt wird unter einer Foundry-Ressource verwaltet.

Schätzung des PTU-Bedarfs

Bevor Sie eine provisionierte Bereitstellung erstellen, sollten Sie abschätzen, wie viele PTUs für Ihre Workload erforderlich sind. Informationen zu den Berechnungsformeln, einem praktischen Beispiel und einer exemplarischen Vorgehensweise für den Kapazitätsrechner finden Sie unter Ermitteln der PTU-Dimensionierung für eine Workload.

PTU-Kontingent prüfen und anfordern

Das PTU-Kontingent wird pro Abonnement, pro Region gewährt und beschränkt die Gesamtanzahl der PTUs, die Sie in dieser Region in allen Modellen bereitstellen können. Ausführliche Informationen zur Beziehung zwischen Kontingent und Kapazität finden Sie unter PTU-Kontingent vs. Kapazität.

So überprüfen Sie die aktuelle Verwendung oder fordern zusätzliches Kontingent an:

  1. Wechseln Sie im Gießereiportal zu "Kontingentbereitstellungsdurchsatzeinheit> verwalten>".
  2. Wählen Sie das gewünschte Abonnement und die gewünschte Region aus, um die aktuelle Nutzung anzuzeigen.
  3. Wenn Sie mehr Kontingent anfordern möchten, wählen Sie "Anforderungskontingent" aus, und füllen Sie das Formular aus.

Tip

Sie können auch diesem direkten Link zum Kontingentanforderungsformular folgen.

Vorab bereitgestellte Bereitstellung erstellen

Informationen zum Erstellen einer bereitgestellten Bereitstellung finden Sie unter "Schnellstart: Erstellen einer bereitgestellten Durchsatzbereitstellung".

Das PTU-Kontingent wird von allen bereitgestellten Bereitstellungen desselben Bereitstellungstyps innerhalb einer Region gemeinsam genutzt. Wenn Sie nach der ersten Bereitstellung noch ein Kontingent haben, können Sie es verwenden, um andere unterstützte Modelle bereitzustellen, ohne weiteres Kontingent anzufordern. Überprüfen Sie Ihre Kontingentnutzung auf der Seite "Kontingent" unter "Verwalten" im Gießereiportal.

Sie können Ihr Kontingent verwalten, indem Sie zusätzliches Kontingent anfordern oder vorhandene Bereitstellungen löschen, um PTUs für neue Bereitstellungen freizugeben.

Skalieren Sie Ihre Bereitstellung

Sie können die PTU-Anzahl einer bereitgestellten Bereitstellung jederzeit über das Foundry-Portal oder die Azure CLI erhöhen oder verringern. Informationen zu Kapazitätsbeschränkungen beim Hochskalieren, zur zeitlichen Abrechnungsanpassung und den Auswirkungen auf bestehende Reservierungen finden Sie unter Skalieren von bereitgestellten Bereitstellungen.

Erwerben einer Reservierung

Nachdem Ihre Bereitstellung bereitgestellt wurde, sollten Sie den Kauf einer Azure-Reservierung in Erwägung ziehen, um einen vergünstigten Tarif für Ihre PTU-Abrechnung zu erhalten. Eine Reservierung bietet im Vergleich zur stündlichen Abrechnung einen erheblichen Preisnachlass für Bereitstellungen, die Sie länger als nur ein paar Tage betreiben möchten.

Befolgen Sie diese Reihenfolge der Vorgänge, um den Kauf einer Kapazitätsreservierung zu vermeiden, die nicht vorhanden ist oder nicht mit Ihren bereitgestellten PTUs übereinstimmt:

  1. Verwenden Sie Foundry, um Ihr Modell in einer Region mit verfügbarem Kontingent bereitzustellen. Dieser Schritt bestätigt, dass die Kapazität verfügbar ist.
  2. Beachten Sie nach der Bereitstellung die Bereitstellungsdetails: Bereitstellungstyp (Global Provisioned, Data Zone Provisioned oder Regional Provisioned), Region (für Datenzone und regionale Bereitstellungen) und Abonnement.
  3. Kaufen Sie eine neue Reservierung, die diesen Details entspricht, oder stellen Sie sicher, dass eine vorhandene Reservierung bereits die Bereitstellung abdeckt. Bei globalen Bereitstellungen muss die Reservierungsregion nicht mit der Bereitstellungsregion übereinstimmen, da eine einzelne globale Reservierung globale PTU-Bereitstellungen über mehrere Regionen hinweg abdecken kann.

Anleitungen zur Größenanpassung, zum Preis und zum Verwalten von Reservierungen finden Sie unter PTU-Abrechnung und Kostenverwaltung.

Inferenzaufrufe durchführen

Codebeispiele für Inferenzen mit Ihrem bereitgestellten Deployment finden Sie im Schnellstart. Der Ableitungscode für bereitgestellte Bereitstellungen ist identisch mit jedem anderen Bereitstellungstyp. Verwenden Sie Ihren Bereitstellungsnamen (nicht den Modellnamen) als model Parameterwert.

Ausführen eines Benchmarks

Die genauen Leistungs- und Durchsatzfunktionen Ihrer Bereitstellung hängen von der Anzahl der bereitgestellten PTUs, der Art der von Ihnen vorgenommenen Anforderungen und dem Workload-Shape ab (einschließlich Aufforderungsgröße, Generierungsgröße, Anrufrate und ähnlichen Faktoren). Die beste Möglichkeit, den Durchsatz für Ihre Workload zu ermitteln, besteht darin, einen Benchmark für Ihre eigenen Daten auszuführen.

Das Benchmarking-Tool bietet vorkonfigurierte Workload-Shapes und gibt wichtige Leistungsmetriken aus. Verwenden Sie dieses Tool, um Benchmarks für Ihre Bereitstellung auszuführen. Ausführliche Informationen und Konfigurationseinstellungen finden Sie im Repository azure-openai-benchmark im GitHub.

Empfohlener Benchmarking-Workflow:

  1. Schätzen Sie Ihre PTU-Anforderungen mithilfe des Kapazitätsrechners.
  2. Führen Sie für mindestens 10 Minuten einen Benchmarktest mit diesem Datenverkehr aus, um Steady-State-Ergebnisse zu beobachten.
  3. Beobachten Sie die Auslastung, verarbeitete Token und die Anrufrate aus dem Benchmarktool und Azure Monitor.
  4. Führen Sie mit Ihrer Client-Implementierung einen Benchmark mit Ihrem eigenen Verkehrsprofil und Ihrer eigenen Arbeitslast aus. Implementieren Sie die Wiederholungslogik mithilfe der OpenAI-Clientbibliothek oder benutzerdefinierten Wiederholungslogik.

Messen der Bereitstellungsauslastung

Wenn Sie eine provisionierte Bereitstellung erstellen, weist der Dienst einen festen Inferenzdurchsatz zu. Um nachzuverfolgen, wie viel von dieser Kapazität Ihre Workload verbraucht, verwenden Sie die Metrik Provisioned-managed utilization V2 in Azure Monitor.

Die PTU-Auslastung wird wie folgt definiert:

PTU-Bereitstellungsauslastung = (PTUs im Zeitraum verbraucht) / (PTUs werden im Zeitraum bereitgestellt)

So zeigen Sie die Metrik an:

  1. Melden Sie sich im Azure-Portal an.
  2. Navigieren Sie zu Ihrer Foundry-Ressource, und wählen Sie " Metriken " in der linken Navigation aus.
  3. Wählen Sie die Metrik Provisioned-managed utilization V2 aus.
  4. Wenn Sie mehr als eine Bereitstellung in der Ressource haben, wählen Sie "Aufteilen anwenden" aus, um werte nach Bereitstellung aufzuteilen.

Screenshot der Metrik

Funktionsweise der Nutzung

Jeder Kunde verfügt über eine festgelegte Kapazität, die er für eine bereitgestellte Bereitstellung verwenden kann. Um die Auslastung unter 100 % zu halten und gleichzeitig gewisse Datenverkehrsspitzen zuzulassen, verwendet der Dienst eine Variante des Leaky-Bucket-Algorithmus wie folgt:

  1. Drosselung bei 100%: Wenn eine Anforderung erfolgt, wenn die aktuelle Auslastung bei 100%liegt, gibt der Dienst HTTP 429 sofort mit retry-after-ms und retry-after Antwortheadern zurück, die angeben, wie lange gewartet werden soll.
  2. Anforderungsschätzung: Für jede eingehende Anforderung schätzt der Dienst die Berechnungskosten, indem die Anzahl der Eingabeaufforderungstoken (weniger zwischengespeicherte Token) und der im Aufruf angegebene max_tokens kombiniert wird. Zwischengespeicherte Token erhalten einen Rabatt von 100% und tragen nicht zur Nutzung bei. Wenn max_tokens nicht angegeben ist, schätzt der Dienst einen Wert – dies kann zu einer geringeren Parallelität als erwartet führen, wenn tatsächlich weniger Token generiert werden als geschätzt. Setzen Sie max_tokens so nah wie möglich an Ihre tatsächliche Generationsgröße, um die höchste Parallelität zu erreichen.
  3. Korrektur nach der Anforderung: Wenn eine Anforderung abgeschlossen ist, korrigiert der Dienst die Auslastungsschätzung mithilfe der tatsächlichen Tokenanzahl. Wenn die tatsächlichen Berechnungskosten die Schätzung überschreiten, wird die Differenz zur Auslastung hinzugefügt; Wenn dies kleiner ist, wird der Unterschied subtrahiert.
  4. Fortlaufender Verbrauch: Der Verbrauch erfolgt kontinuierlich mit einer Rate, die proportional zur Anzahl der bereitgestellten PTUs ist. Eine Bereitstellung mit mehr PTUs wird schneller verbraucht.

Akzeptierte Anforderungen werden immer mit vorhersehbarer Latenz abgeschlossen, da 429-Antworten sofort zurückgegeben werden, anstatt den Datenverkehr in eine Warteschlange zu stellen.

Hinweis

Anrufe werden angenommen, bis die Nutzung 100%erreicht. Kurzzeitige Spitzen von etwas über 100 % können vorübergehend zulässig sein, aber auf Dauer wird Ihr Datenverkehr auf eine Auslastung von 100 % begrenzt.

Screenshot des Leaky-Bucket-Algorithmus zur Auslastung des bereitgestellten Durchsatzes, der zeigt, wie Anfragen zur Auslastung beitragen, während die Kapazität abhängig von der Anzahl der bereitgestellten PTUs abnimmt.

Umgang mit hoher Auslastung

Wenn die Auslastung 100 % erreicht, gibt der Dienst sofort HTTP 429 zurück und schließt die Antwortheader retry-after und retry-after-ms ein, die angeben, wie lange gewartet werden muss, bevor die nächste Anfrage akzeptiert wird. Bei diesem Ansatz werden Latenzziele pro Anruf beibehalten, während Sie die Kontrolle über die Behandlung von Situationen mit hoher Last erhalten.

Eine 429 aus einer bereitgestellten Bereitstellung ist kein Dienstfehler, sondern vielmehr ein Signal für die Verwaltung des Datenverkehrs.

Was zu tun ist, wenn Sie eine 429-Antwort erhalten

Die Antwort enthält die Header retry-after-ms und retry-after, die angeben, wie lange Sie warten müssen, bevor der nächste Aufruf akzeptiert wird. Wie Sie eine 429 behandeln, hängt von ihren Anwendungsanforderungen ab:

  • Umleitung zu einer anderen Bereitstellung oder einem anderen Modell: Diese Option erzeugt die niedrigste zusätzliche Latenz, da die Aktion ausgeführt werden kann, sobald Sie das 429-Signal empfangen. Die Spillover-Funktion automatisiert das Umleiten von Anforderungen aus Ihrer bereitgestellten Bereitstellung an eine Standardbereitstellung.
  • Wiederholen Sie den Vorgang unter Verwendung der in den Antwortheadern angegebenen Wartezeit: Wenn Sie die provisionierte Bereitstellung benötigen und zusätzliche Latenz tolerieren können, warten Sie die in retry-after-ms angegebene Zeit ab und versuchen Sie es erneut. Die Azure OpenAI-SDKs implementieren dieses Wiederholungsverhalten standardmäßig. Möglicherweise benötigen Sie noch weitere Optimierungen basierend auf Ihren Anwendungsfällen.

Grenzwerte für gleichzeitige Anrufe

Die Anzahl der gleichzeitigen Aufrufe, die eine Bereitstellung bewältigen kann, hängt von den Eigenschaften des jeweiligen Aufrufs ab – von der Prompt-Größe, dem max_tokens-Wert und ähnlichen Faktoren. Der Dienst akzeptiert Anrufe, bis die Auslastung 100%erreicht. Um die maximale Anzahl gleichzeitiger Anrufe für ein bestimmtes Anrufmuster abzuschätzen, verwenden Sie den Kapazitätsrechner auf der Seite Kontingent im Foundry-Portal. Wenn das Modell weniger Token generiert als der max_tokens Wert, kann die Bereitstellung mehr gleichzeitige Anforderungen akzeptieren.

Ändern der Wiederholungslogik in den Clientbibliotheken

Die OpenAI-SDKs wiederholen standardmäßig 429 Antworten, wobei die retry-after Zeit beachtet wird. Sie können das Wiederholungsverhalten mithilfe der max_retries Option konfigurieren oder deaktivieren:

import os
from openai import OpenAI

# Configure the default for all requests:
client = OpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    base_url="https://<myResourceName>.openai.azure.com/openai/v1/",
    max_retries=5, # default is 2
)

# Or, configure per-request:
client.with_options(max_retries=5).chat.completions.create(
    messages=[
        {
            "role": "user",
            "content": "When was Microsoft founded?",
        }
    ],
    model="gpt-5.1",
)

Referenz: Azure OpenAI unterstützte Programmiersprachen

Bereinigen von Ressourcen

Die stündliche Abrechnung beginnt mit dem Zeitpunkt, in dem eine bereitgestellte Bereitstellung erstellt wird, und wird beendet, wenn die Bereitstellung gelöscht wird. Die Gebühren für Bereitstellungen für eine gelöschte Ressource werden fortgesetzt, bis die Ressource gelöscht wird. Löschen Sie daher immer alle Bereitstellungen, bevor Sie die Ressource selbst löschen.

Eine bereitgestellte Bereitstellung ordnungsgemäß löschen

So löschen Sie ein bereitgestelltes Deployment ordnungsgemäß:

  1. Navigieren Sie im Foundry-Portal zu der Ressource, und löschen Sie die Bereitstellung.
  2. Wenn Sie auch die Azure Ressource entfernen, löschen Sie zuerst alle zugehörigen Bereitstellungen, und löschen Sie dann die Ressource.
  3. Wenn Sie die Ressource im vorherigen Schritt gelöscht haben, löschen Sie sie, um sicherzustellen, dass die Abrechnung beendet wird. Anweisungen finden Sie unter Wiederherstellen oder Löschen gelöschter Azure AI-Ressourcen.
  4. Wechseln Sie zur Seite Reservations im Azure Portal, um Ihre vorhandenen Reservierungen zu überprüfen. Durch das Löschen einer Bereitstellung werden keine PTU-Reservierungen storniert oder geändert. Sie können eine Reservierung im Azure Portal stornieren oder austauschen, diese Aktion kann jedoch Gebühren verursachen. Weitere Informationen finden Sie unter PTU-Abrechnung und Kostenverwaltung .