Delen via


Aan de slag met ingerichte implementaties in de Azure OpenAI-service

De volgende handleiding begeleidt u bij het maken van een ingerichte implementatie met uw Azure OpenAI Service-resource. Zie voor meer informatie over de concepten die hier worden besproken:

Vereisten

Beschikbaarheid van PTU-quota verkrijgen/verifiëren.

Ingerichte doorvoerimplementaties hebben een grootte in eenheden met de naam Ingerichte doorvoereenheden (PTU's). PTU-quotum wordt regionaal verleend aan een abonnement en beperkt het totale aantal PTU's dat in die regio kan worden geïmplementeerd voor alle modellen en versies.

Voor het maken van een nieuwe implementatie is een beschikbaar (ongebruikt) quotum vereist om de gewenste grootte van de implementatie te dekken. Bijvoorbeeld: Als een abonnement het volgende heeft in VS - zuid-centraal:

  • Totaal PTU-quotum = 500 PTU's
  • Implementaties:
    • 100 PTU's: GPT-4o, 2024-05-13
    • 100 PTU's: GPT-4, 0613

Vervolgens worden 200 PTU's van het quotum als gebruikt beschouwd en zijn er 300 PTU's beschikbaar voor het maken van nieuwe implementaties.

Er wordt een standaardhoeveelheid ingerichte en globale ingerichte quota toegewezen aan alle abonnementen in verschillende regio's. U kunt het beschikbare quotum in een regio bekijken door naar de blade Quota in Azure OpenAI Studio te gaan en het gewenste abonnement en de gewenste regio te selecteren. In de onderstaande schermopname ziet u bijvoorbeeld een quotumlimiet van 500 PTU's in VS - west voor het geselecteerde abonnement. Houd er rekening mee dat u mogelijk lagere waarden van beschikbare standaardquota ziet.

Een schermopname van het beschikbare quotum in Azure OpenAI Studio.

U kunt extra quotum aanvragen door te klikken op de koppeling Quotum aanvragen rechts van de kolom Gebruik/Limiet. (Dit is niet op het scherm in de bovenstaande schermopname).

Een Azure OpenAI-resource maken

Ingerichte en globale ingerichte implementaties worden gemaakt via Azure OpenAI-resourceobjecten binnen Azure. U moet een Azure OpenAI-resource hebben in elke regio waar u een implementatie wilt maken. Gebruik Azure Portal om een resource te maken in een regio met een beschikbaar quotum, indien nodig.

Notitie

Azure OpenAI-resources kunnen tegelijkertijd ondersteuning bieden voor meerdere typen Azure OpenAI-implementaties. Het is niet nodig om nieuwe resources toe te voegen voor uw ingerichte of globale ingerichte implementaties.

Uw ingerichte of globale ingerichte implementatie maken- capaciteit is beschikbaar

nadat u uw quotum hebt geverifieerd, kunt u een implementatie maken. Als u een ingerichte implementatie wilt maken, kunt u deze stappen uitvoeren; de beschreven opties weerspiegelen de vermeldingen die worden weergegeven in de schermopname.

Schermopname van de azure OpenAI Studio-implementatiepagina voor een ingerichte implementatie.

  1. Aanmelden bij Azure OpenAI Studio

  2. Kies het abonnement dat is ingeschakeld voor ingerichte en globale ingerichte implementaties en selecteer de gewenste resource in een regio waar u het quotum hebt.

  3. Selecteer Implementaties onder Beheer in het linkernavigatievenster.

  4. Selecteer Nieuwe implementatie maken en configureer de volgende velden. Vouw de vervolgkeuzelijst geavanceerde opties uit.

  5. Vul de waarden in elk veld in. Hier volgt een voorbeeld:

Veld Omschrijving Voorbeeld
Een model selecteren Kies het specifieke model dat u wilt implementeren. GPT-4
Modelversie Kies de versie van het model dat u wilt implementeren. 0613
Implementatienaam De implementatienaam wordt in uw code gebruikt om het model aan te roepen met behulp van de clientbibliotheken en de REST API's. gpt-4
Inhoudsfilter Geef het filterbeleid op dat moet worden toegepast op de implementatie. Meer informatie over de instructies voor het filteren van inhoud. Standaardinstelling
Implementatietype Dit heeft invloed op de doorvoer en prestaties. Kies Ingericht beheerd of Globaal ingericht beheerd voor uw implementatie Ingericht beheerd
Ingerichte doorvoereenheden Kies de hoeveelheid doorvoer die u wilt opnemen in de implementatie. 100

Belangrijke dingen die u moet noteren:

  • Het implementatiedialoogvenster bevat een herinnering dat u een Azure-reservering voor Azure OpenAI kunt aanschaffen die is ingericht voor een aanzienlijke korting voor een termijnverplichting.

Nadat u de implementatie-instellingen hebt ingevoerd, klikt u op Prijzen bevestigen om door te gaan. Er wordt een dialoogvenster met prijsbevestiging weergegeven dat de catalogusprijs voor de implementatie weergeeft, als u ervoor kiest om deze per uur te betalen, zonder Azure-reservering om een termijnkorting op te geven.

Als u niet zeker weet wat de kosten zijn, annuleert u de implementatie en gaat u verder zodra u het betalingsmodel en de onderliggende kosten voor de ingerichte implementatie begrijpt. Deze stap voorkomt mogelijk onverwachte, hoge kosten op uw betalingsfactuur. Resources om uzelf te informeren zijn onder andere:

In de onderstaande afbeelding ziet u de prijsbevestiging die u ziet. De weergegeven prijs is alleen een voorbeeld.

Schermopname van het bevestigingsscherm voor prijzen.

Als u uw implementatie programmatisch wilt maken, kunt u dit doen met de volgende Azure CLI-opdracht. Als u het implementatietype wilt opgeven, wijzigt u het sku-name in ProvisionedManaged of GlobalProvisionedManaged op basis van het beoogde implementatietype. Werk het sku-capacity aantal ingerichte doorvoereenheden bij met het gewenste aantal ingerichte doorvoereenheden.

az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group <myResourceGroupName> \
--deployment-name MyModel \
--model-name GPT-4 \
--model-version 0613  \
--model-format OpenAI \
--sku-capacity 100 \
--sku-name ProvisionedManaged

REST, ARM-sjabloon, Bicep en Terraform kunnen ook worden gebruikt om implementaties te maken. Zie de sectie over het automatiseren van implementaties in de handleiding Quota beheren en vervang de sku.name sectie 'ProvisionedManaged' of 'GlobalProvisionedManaged' in plaats van 'Standard'.

Uw ingerichte of globale ingerichte implementatie maken: capaciteit is niet beschikbaar

Vanwege de dynamische aard van de beschikbaarheid van capaciteit is het mogelijk dat de regio van de geselecteerde resource mogelijk niet over de servicecapaciteit beschikt om de implementatie van het opgegeven model, de versie en het aantal PTU's te maken.

In dit geval stuurt Azure OpenAI Studio u naar andere regio's met beschikbare quota en capaciteit om een implementatie van het gewenste model te maken. Als dit gebeurt, ziet het implementatiedialoogvenster er als volgt uit:

Schermopname van de azure OpenAI Studio-implementatiepagina voor een ingerichte implementatie zonder capaciteit beschikbaar.

Wat u moet zien:

  • Er wordt een bericht weergegeven met een groot aantal PTU's dat u in het beschikbare quotum hebt en hoeveel momenteel kunnen worden geïmplementeerd.
  • Als u een aantal PTU's selecteert die groter zijn dan de servicecapaciteit, wordt er een bericht weergegeven met opties voor het verkrijgen van meer capaciteit en een knop waarmee u een alternatieve regio kunt selecteren. Als u op de knop 'Andere regio's weergeven' klikt, wordt een dialoogvenster weergegeven met een lijst met Azure OpenAI-resources waarin u een implementatie kunt maken, samen met de implementatie met een maximale grootte die kan worden gemaakt op basis van het beschikbare quotum en de beschikbare servicecapaciteit in elke regio.

Schermopname van de azure OpenAI Studio-implementatiepagina voor het kiezen van een andere resource en regio.

Als u een resource selecteert en op Switch-resource klikt, wordt het implementatiedialoogvenster opnieuw weergegeven met behulp van de geselecteerde resource. Vervolgens kunt u doorgaan met het maken van uw implementatie in de nieuwe regio.

Optioneel een reservering kopen

Na het maken van uw implementatie wilt u mogelijk een termijnkorting aanschaffen via een Azure-reservering. Een Azure-reservering kan een aanzienlijke korting bieden op het uurtarief voor gebruikers die de implementatie meer dan een paar dagen willen gebruiken.

Zie voor meer informatie over het aankoopmodel en de reserveringen:

Belangrijk

De beschikbaarheid van capaciteit voor modelimplementaties is dynamisch en verandert vaak in regio's en modellen. Als u wilt voorkomen dat u een reservering koopt voor meer PPU's dan u kunt gebruiken, maakt u eerst implementaties en koopt u vervolgens de Azure-reservering om de PTU's te dekken die u hebt geïmplementeerd. Deze best practice zorgt ervoor dat u volledig kunt profiteren van de reserveringskorting en kunt voorkomen dat u een termijntoezegging koopt die u niet kunt gebruiken.

Uw eerste deductiegesprekken voeren

De deductiecode voor ingerichte implementaties is hetzelfde als een standaardimplementatietype. In het volgende codefragment ziet u een aanroep van chatvoltooiingen naar een GPT-4-model. Voor de eerste keer dat u deze modellen programmatisch gebruikt, raden we u aan om te beginnen met onze snelstartgids. We raden u aan om de OpenAI-bibliotheek te gebruiken met versie 1.0 of hoger, omdat dit logica voor opnieuw proberen in de bibliotheek omvat.

    #Note: The openai-python library support for Azure OpenAI is in preview. 
    import os
    from openai import AzureOpenAI

    client = AzureOpenAI(
        azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"), 
        api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
        api_version="2024-02-01"
    )

    response = client.chat.completions.create(
        model="gpt-4", # model = "deployment_name".
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
            {"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
            {"role": "user", "content": "Do other Azure AI services support this too?"}
        ]
    )

    print(response.choices[0].message.content)

Belangrijk

Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen, zoals Azure Key Vault. Zie het artikel over beveiliging van Azure AI-services voor meer informatie over referentiebeveiliging.

Inzicht in verwachte doorvoer

De hoeveelheid doorvoer die u op het eindpunt kunt bereiken, is een factor van het aantal geïmplementeerde PTU's, de invoergrootte, de uitvoergrootte en de aanroepsnelheid. Het aantal gelijktijdige aanroepen en het totale aantal verwerkte tokens kan variëren op basis van deze waarden. De aanbevolen manier om de doorvoer voor uw implementatie te bepalen, is als volgt:

  1. Gebruik de capaciteitscalculator voor een schatting van de grootte. U vindt de capaciteitscalculator in Azure OpenAI Studio op de pagina quota en het tabblad Ingericht.
  2. Benchmark de belasting met behulp van de workload voor echt verkeer. Zie de sectie benchmarking voor meer informatie over benchmarking .

Uw implementatiegebruik meten

Wanneer u een opgegeven aantal ingerichte doorvoereenheden (PTU's) implementeert, wordt een ingestelde hoeveelheid deductiedoorvoer beschikbaar gemaakt voor dat eindpunt. Het gebruik van deze doorvoer is een complexe formule op basis van het model, de aanroepsnelheid van de modelversie, de promptgrootte, de generatiegrootte. Ter vereenvoudiging van deze berekening bieden we een metrische gegevens over gebruik in Azure Monitor. Uw implementatie retourneert een 429 voor nieuwe aanroepen nadat het gebruik hoger is dan 100%. Het ingerichte gebruik wordt als volgt gedefinieerd:

PTU-implementatiegebruik = (PTU's verbruikt in de periode) / (PTU's geïmplementeerd in de periode)

U vindt de gebruiksmeting in de sectie Azure-Monitor voor uw resource. Als u toegang wilt krijgen tot de aanmelding voor bewakingsdashboards, gaat u naar uw Azure OpenAI-resource https://portal.azure.comen selecteert u de pagina Metrische gegevens in het linkernavigatievenster. Selecteer op de pagina met metrische gegevens de metrische waarde 'Ingericht beheerd gebruik V2'. Als u meer dan één implementatie in de resource hebt, moet u ook de waarden voor elke implementatie splitsen door op de knop Splitsen toepassen te klikken.

Schermopname van het ingerichte beheerde gebruik op de blade met metrische gegevens van de resource in Azure Portal.

Zie de pagina Azure OpenAI-service bewaken voor meer informatie over het bewaken van uw implementaties.

Hoog gebruik verwerken

Ingerichte implementaties bieden u een toegewezen hoeveelheid rekencapaciteit om een bepaald model uit te voeren. Met de metrische gegevens 'Ingericht beheerd gebruik' in Azure Monitor wordt het gebruik van de implementatie in stappen van één minuut meten. Ingerichte beheerde implementaties worden ook geoptimaliseerd, zodat geaccepteerde aanroepen worden verwerkt met een consistente maximale latentie per aanroep. Wanneer de workload de toegewezen capaciteit overschrijdt, retourneert de service een HTTP-statuscode van 429 totdat het gebruik lager is dan 100%. De tijd voordat u het opnieuw probeert, wordt opgegeven in de retry-after headers en retry-after-ms antwoordheaders die respectievelijk de tijd in seconden en milliseconden leveren. Met deze benadering worden de latentiedoelen per aanroep bijgehouden, terwijl de ontwikkelaar controle krijgt over het afhandelen van situaties met hoge belasting, bijvoorbeeld opnieuw proberen of omleiden naar een andere ervaring/eindpunt.

Wat moet ik doen wanneer ik een 429-antwoord ontvang?

Een 429-antwoord geeft aan dat de toegewezen PKU's volledig worden verbruikt op het moment van de aanroep. Het antwoord bevat de retry-after-ms en retry-after kopteksten waarmee wordt aangegeven hoe lang moet worden gewacht voordat de volgende oproep wordt geaccepteerd. Hoe u ervoor kiest om een 429-antwoord af te handelen, is afhankelijk van uw toepassingsvereisten. Hier volgen enkele overwegingen:

  • Als u in orde bent met langere latenties per aanroep, implementeert u logica voor nieuwe pogingen aan de clientzijde om de retry-after-ms tijd te wachten en het opnieuw te proberen. Met deze methode kunt u de doorvoer voor de implementatie maximaliseren. Door Microsoft geleverde client-SDK's verwerken deze al met redelijke standaardwaarden. Mogelijk hebt u nog meer afstemming nodig op basis van uw gebruiksvoorbeelden.
  • Overweeg het verkeer om te leiden naar andere modellen, implementaties of ervaringen. Deze benadering is de oplossing met de laagste latentie, omdat deze actie kan worden uitgevoerd zodra u het 429-signaal ontvangt. Het 429-signaal is geen onverwachte foutreactie bij het pushen naar hoog gebruik, maar in plaats daarvan een deel van het ontwerp voor het beheren van wachtrijen en hoge belasting voor ingerichte implementaties.

Logica voor opnieuw proberen wijzigen in de clientbibliotheken

De Azure OpenAI SDK's proberen standaard 429 antwoorden opnieuw en achter de schermen in de client (maximaal de maximale nieuwe pogingen). De bibliotheken respecteren de retry-after tijd. U kunt ook het gedrag voor opnieuw proberen aanpassen aan uw ervaring. Hier volgt een voorbeeld met de Python-bibliotheek.

U kunt de max_retries optie gebruiken om instellingen voor opnieuw proberen te configureren of uit te schakelen:

from openai import AzureOpenAI

# Configure the default for all requests:
client = AzureOpenAI(
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    api_version="2024-02-01",
    max_retries=5,# default is 2
)

# Or, configure per-request:
client.with_options(max_retries=5).chat.completions.create(
    model="gpt-4", # model = "deployment_name".
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
        {"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
        {"role": "user", "content": "Do other Azure AI services support this too?"}
    ]
)

Een benchmark uitvoeren

De exacte prestaties en doorvoermogelijkheden van uw exemplaar zijn afhankelijk van het soort aanvragen dat u maakt en de exacte workload. De beste manier om de doorvoer voor uw workload te bepalen, is door een benchmark uit te voeren op uw eigen gegevens.

Om u te helpen bij dit werk, biedt het benchmarkinghulpprogramma een manier om eenvoudig benchmarks uit te voeren voor uw implementatie. Het hulpprogramma wordt geleverd met verschillende mogelijke vooraf geconfigureerde workloadshapes en voert belangrijke prestatiegegevens uit. Meer informatie over het hulpprogramma en de configuratie-instellingen in onze GitHub-opslagplaats: https://aka.ms/aoai/benchmarking.

We raden de volgende werkstroom aan:

  1. Maak een schatting van uw doorvoer-PTU's met behulp van de capaciteitscalculator.
  2. Voer een benchmark uit met deze verkeersvorm gedurende een langere periode (10+ min) om de resultaten in een stabiele toestand te observeren.
  3. Bekijk het gebruik, de verwerkte tokens en de aanroepfrequentiewaarden van het benchmarkhulpprogramma en Azure Monitor.
  4. Voer een benchmark uit met uw eigen verkeersshape en workloads met behulp van uw client-implementatie. Zorg ervoor dat u logica voor opnieuw proberen implementeert met behulp van een Azure OpenAI-clientbibliotheek of aangepaste logica.

Volgende stappen