Distribuera modeller med öppen källkod med hanterad beräkning (förhandsversion)

Note

Hanterad beräkning i Foundry är för närvarande i förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Hanterad beräkningsdistribution (förhandsversion) i Microsoft Foundry är värd för modeller med öppen källkod på dedikerad GPU-kapacitet. Microsoft ansvarar för GPU-topologin, körmiljön, containeravbildningen och säkerhetsuppdateringarna. Du väljer den modell, distributionsmall, acceleratorfamilj och skalningsbeteende som passar din arbetsbelastning. Den här artikeln går igenom arbetsflödet från slutpunkt till slutpunkt för att distribuera en modell med öppen källkod till hanterad beräkning i Microsoft Foundry.

I den här artikeln lär du dig att:

  • Välj en modell i modellkatalogen
  • Välj en distributionsmall
  • Distribuera modellen med hjälp av Foundry-portalen eller Python SDK
  • Utföra slutsatsdragning med hjälp av OpenAI SDK
  • Skala och övervaka distributionen
  • Begär större kvot

En översikt över distributionen av hanterad beräkning i Foundry, inklusive modellinstanser, distributionsmallar, körningar, acceleratorfamiljer, fakturering och aktuella begränsningar finns i Hanterad beräkning i Microsoft Foundry (förhandsversion).

Förutsättningar

  • En aktiv prenumeration för Azure. Information om hur du skapar ett finns i Skapa ditt Azure kostnadsfria konto.

  • En resursgrupp i prenumerationen där du har behörighet att skapa resurser.

  • Ett Microsoft Foundry-konto (Cognitive Services-konto av typen AIServices) och ett Foundry-projekt. Information om hur du skapar ett finns i Skapa ett Foundry-projekt.

  • Följande Azure rolltilldelningar i Foundry-kontoomfånget:

  • Godkänd hanterad beräkningskvot för den acceleratorfamilj som du planerar att distribuera på (A100, H100 eller MI300X) i målregionen. Hanterad beräkningskvot är separat från Azure VM-kvot. Se Begär mer kvot i slutet av den här artikeln.

  • Lokala verktyg för SDK- och CLI-exempel:

    pip install "azure-mgmt-cognitiveservices==15.0.0b2" azure-identity openai requests
    az login
    
  • Azure CLI 2.60 eller senare.

Important

Hanterad beräkning i Foundry finns i offentlig förhandsversion. API:er, SKU-namn och regioner som stöds kan ändras före allmän tillgänglighet. Inbyggd innehållsfiltrering är inte en del av sökvägen för hanterade beräkningsdata i den offentliga förhandsversionen. Om du behöver filtrering på begäransnivå eller svarsnivå anropar du api:erna Azure AI Innehållsäkerhet direkt från ditt program.

Välj en modell i katalogen

Hanterad datorkapacitet driftsätter modeller från Hugging Face Collection i Foundry-modellkatalogen, som tillhandahålls från registret azure-huggingface.

  1. Logga in på Microsoft Foundry. Kontrollera att växlingsknappen New Foundry är aktiverad. De här stegen hänvisar till Foundry (ny).
  2. Välj din prenumeration och Foundry-resurs.
  3. Välj Skapa i det övre högra navigeringsfältet och välj sedan Modeller i det vänstra fönstret.
  4. Filtrera katalogen efter samlingar. Välj Kramande ansikte. Du kan också använda något av de andra filtren för att begränsa den modell som du vill distribuera (till exempel välja en modellfamilj som Qwen) eller med modalitet eller uppgift. Du kan också söka efter modellnamn.
  5. Välj ett modellkort (till exempel nvidia-nemotron-3-nano-30b-a3b-fp8) för att öppna dess information.

Modellkortet visar den överordnade licensen, modaliteten, aktiviteter som stöds och de distributionsmallar som publicerats för modellen. Om du planerar att distribuera via Python SDK eller REST i stället för att använda portalguiden behöver du tre värden som indata till distributionsanropet. Du hittar dessa värden i Foundry-portalen på följande sätt:

  • Modell-ID: det fullständigt kvalificerade registertillgångs-ID:t för modellen. Tillgängligt på modellkortet i katalogen (kopiera från fönstret modellinformation). Exempel:

    azureml://registries/azure-huggingface/models/nvidia--nvidia-nemotron-3-nano-30b-a3b-fp8/versions/2
    
  • ID för distributionsmall: identifierar körmiljön, acceleratorfamiljen och antalet samt modellens kontextlängd. Tillgänglig i distributionsguiden som öppnas när du väljer Distribuera på modellkortet. Välj en mall och kopiera distributionsmallens ID från guiden. Exempel:

    azureml://registries/azure-huggingface/deploymenttemplates/nvidia--nvidia-nemotron-3-nano-30b-a3b-fp8--nvidia-h100/labels/latest
    

    Note

    Ett modell-ID och ett distributionsmall-ID måste vara kompatibla. varje mall visar de modellversioner som stöds. Portalguiden visar endast kompatibla mallar för den modell som du har valt. Om du distribuerar med hjälp av kod kontrollerar du att båda referenserna matchar giltiga registertillgångar i azure-huggingface registret.

    Mer information om distributionsmallar finns i Distributionsmall i artikeln Översikt över hanterad beräkning.

  • Acceleratortyp: till exempel H100_80GB, A100_80GBeller MI_300_192GB. Visas bredvid varje mall i distributionsguiden.

Driftsätta modellen

  1. Välj Distribuera på modellkortet för att öppna distributionsguiden.

  2. Ange ett distributionsnamn. Distributionsnamnet är vad programmet skickar i model fältet vid inferenstillfället – välj ett stabilt, programvänligt namn (till exempel nemotron-3-nano-30b).

  3. Distributionstypen (global hanterad beräkning) är förvald i distributionsguiden.

  4. Välj den distributionsmall som matchar din arbetsbelastning. Till exempel H100-mallen med en accelerator för lägsta kostnad vid måttlig kontextlängd, eller en mall med två acceleratorer om dina prompter överskrider kontextgränsen för en accelerator.

  5. Välj typen Accelerator, t.ex. H100_80GB.

  6. Ange Modellinstanser till 1 (eller högre om du har mätt din arbetsbelastning). Modellinstanser avgör storleken på den hanterade beräkningskapaciteten och är värdet capacity på distributions-SKU:n. Varje instans förbrukar det acceleratorantal som definierats av mallen. Till exempel använder en mall som anger en H100 per instans med kapacitet 2 två H100-acceleratorer totalt.

    Tip

    Börja med capacity: 1 för en första distribution och skala sedan ut genom att öka kapaciteten när du har mått din arbetsbelastning. Se Hantera och skala distributionen för att öka kapaciteten.

  7. Markera kryssrutan för att bekräfta kostnaden för distributionen.

  8. Välj Distribuera. Etableringsprocessen tar vanligtvis 10 till 15 minuter.

Verifiera driftsättningen

Sidan med distributionsinformation uppdateras från Creating till Succeeded när modellen är live bakom Foundry-slutpunkten. Du kan se information om distributionen, inklusive etableringstillstånd, distributionstyp och andra val som du gjorde när du skapade distributionen.

Skicka en testbegäran

När distributionen är klar testar du den interaktivt i Foundry Playground.

  1. Välj fliken Playground om du vill gå till den från sidan Details för distribution.
  2. Skicka en uppmaning för att testa distributionen.

Övervaka distributionen

Hanterade beräkningsdistributioner genererar mått på samma Azure Monitor yta som andra Foundry-distributioner. På sidan med distributionsinformation i Foundry-portalen visar fliken Övervaka :

  • Antal begäranden grupperade efter HTTP-statuskod.
  • Percentiler för svarstid (p50, p90, p99).
  • För chat-completions-modeller: antal inmatnings- och utmatningstoken, TTFT-percentiler (time-to-first-token) och percentiler för avkodningstid mellan token.

För djupare analys eller aviseringar öppnar du distributionen i portalen Azure och använder Metrics under Monitoring för att kartlägga samma mått, gruppera efter distribution och konfigurera aviseringar. Faktureringstaggar per distribution skapas automatiskt. Filtrera Cost Management efter distributionstaggen för att attribuera kostnader till en viss distribution av hanterade beräkningsresurser. Mer information finns i Planera och hantera kostnader för Microsoft Foundry.

Ta bort distributionen

När du tar bort en distribution frigörs dess acceleratorallokering och faktureringen stoppas omedelbart. Så här tar du bort en distribution:

  1. Gå till listan över distributioner i Foundry-portalen.
  2. Välj alternativknappen bredvid distributionsnamnet.
  3. I den högra rutan väljer du Ta bort.

Begär större kvot

Hanterad beräkningskvot beviljas för varje acceleratorfamilj i varje region via kvotprocessen för Foundry och är separat från Azure VM-kvot. Befintlig Azure VM-kvot kan inte tillämpas på en hanterad beräkningsdistribution.

Så här begär du mer kvot:

  1. Välj Hantera i det övre högra navigeringsfältet och välj sedan Kvot i det vänstra fönstret.
  2. Välj fliken Hanterad beräkning . Tabellen visar aktuella allokeringar grupperade efter acceleratorfamilj och region.
  3. Välj Begär kvot i det övre högra hörnet.
  4. I formuläret för begäran väljer du acceleratorfamiljen (A100, H100 eller MI300X), målregionen och den begärda kvoten. Skicka begäran.

Tillåt upp till 15 minuter för en godkänd kvotändring att spridas. Uppdatera sidan Kvot för att verifiera den uppdaterade allokeringen. Mer information om kvotbegrepp finns i Hantera och öka kvoter för resurser.

Använd följande Python skript för att distribuera modellen. Ersätt platshållarna med ditt eget prenumerations-ID, resursgrupp, Foundry-kontonamn och distributionsnamn.

Tip

Börja med capacity: 1 för en första distribution och skala sedan ut genom att öka kapaciteten när du har mått din arbetsbelastning. Se Hantera och skala distributionen för att öka kapaciteten.

from azure.identity import DefaultAzureCredential
from azure.mgmt.cognitiveservices import CognitiveServicesManagementClient

SUBSCRIPTION_ID  = "<your-subscription-id>"
RESOURCE_GROUP   = "<your-resource-group>"
ACCOUNT_NAME     = "<your-foundry-account>"
DEPLOYMENT_NAME  = "nemotron-3-nano-30b"

MODEL = "azureml://registries/azure-huggingface/models/nvidia--nvidia-nemotron-3-nano-30b-a3b-fp8/versions/2"
TEMPLATE = "azureml://registries/azure-huggingface/deploymenttemplates/nvidia--nvidia-nemotron-3-nano-30b-a3b-fp8--nvidia-h100/labels/latest"

client = CognitiveServicesManagementClient(
    DefaultAzureCredential(), SUBSCRIPTION_ID
)

deployment = client.managed_compute_deployments.begin_create_or_update(
    resource_group_name=RESOURCE_GROUP,
    account_name=ACCOUNT_NAME,
    deployment_name=DEPLOYMENT_NAME,
    resource={
        "sku": {"name": "GlobalManagedCompute", "capacity": 1},
        "properties": {
            "model": MODEL,
            "deploymentTemplate": TEMPLATE,
            "acceleratorType": "H100_80GB",
            "versionUpgradeOption": "OnceNewDefaultVersionAvailable",
        },
    },
).result()  # blocks until terminal state (~10–15 min)

print(f"State: {deployment.properties.provisioning_state}")
print(f"ID:    {deployment.id}")

Verifiera driftsättningen

När distributionen har skapats bekräftar du att den är felfri innan du skickar trafik.

d = client.managed_compute_deployments.get(
    resource_group_name=RESOURCE_GROUP,
    account_name=ACCOUNT_NAME,
    deployment_name=DEPLOYMENT_NAME,
)

print(f"State:        {d.properties.provisioning_state}")    # expect: Succeeded
print(f"Model:        {d.properties.model}")
print(f"Template:     {d.properties.deployment_template}")
print(f"Accelerator:  {d.properties.accelerator_type}")
print(f"Capacity:     {d.sku.capacity}")

Sök efter:

  • provisioningState: Succeeded innebär att distributionen är live.
  • acceleratorType matchar det värde som du begärde.
  • sku.capacity motsvarar antalet instanser som du har begärt.

Om provisioningState är Failed, se Felsökning.

Skicka en testbegäran

Hanterade beräkningsdistributioner kan nås via den enhetliga Foundry-slutpunkten på:

https://<account>.services.ai.azure.com/openai/v1/

Fältet model i begärandetexten tar det distributionsnamn som du angav, inte modell-ID:t.

from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import OpenAI

ACCOUNT_NAME    = "<your-foundry-account>"
DEPLOYMENT_NAME = "nemotron-3-nano-30b"

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(),
    "https://cognitiveservices.azure.com/.default",
)

client = OpenAI(
    base_url=f"https://{ACCOUNT_NAME}.services.ai.azure.com/openai/v1",
    api_key="placeholder",  # required by OpenAI SDK; overridden by Authorization header
    default_headers={"Authorization": f"Bearer {token_provider()}"},
)

resp = client.chat.completions.create(
    model=DEPLOYMENT_NAME,
    messages=[{"role": "user", "content": "What is the capital of France?"}],
)

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

För att anropa distributionen med Microsoft Entra ID krävs rollen Azure AI-användare på Foundry-kontot.

Hantera och skala distributionen

Eftersom hanterade beräkningsdistributioner är modellcentrerade skalar du distributioner genom att ändra antalet modellinstanser, inte genom att ändra storlek på en nod.

Ändra kapacitet

d = client.managed_compute_deployments.get(
    RESOURCE_GROUP, ACCOUNT_NAME, DEPLOYMENT_NAME
)
d.sku.capacity = 3

client.managed_compute_deployments.begin_create_or_update(
    resource_group_name=RESOURCE_GROUP,
    account_name=ACCOUNT_NAME,
    deployment_name=DEPLOYMENT_NAME,
    resource=d,
).result()

Hämta körnings- och modelluppdateringar

Om du anger versionUpgradeOption till OnceNewDefaultVersionAvailable på distributionen väljer du distributionen till att hämta nya standardmodeller och körningsversioner när Microsoft publicerar dem. Runtime-korrigeringar och CVE-korrigeringar tillämpas automatiskt på kunddriftsättningar i produktion; du omdistribuerar inte modellen för att få dem.

Övervaka distributionen

Hanterade beräkningsdistributioner genererar mått på samma Azure Monitor yta som andra Foundry-distributioner. För djupare analys eller aviseringar öppnar du distributionen i portalen Azure och använder Metrics under Övervaka för att kartlägga mått som:

  • Antal begäranden grupperade efter HTTP-statuskod.
  • Percentiler för svarstid (p50, p90, p99).
  • För chat-completions-modeller: antal inmatnings- och utmatningstoken, TTFT-percentiler (time-to-first-token) och percentiler för avkodningstid mellan token.

Du kan också gruppera efter distribution och konfigurera aviseringar. Faktureringstaggar per distribution skapas automatiskt. Filtrera Cost Management efter distributionstaggen för att attribuera kostnader till en viss distribution av hanterade beräkningsresurser. Mer information finns i Planera och hantera kostnader för Microsoft Foundry.

Ta bort distributionen

När du tar bort en distribution frigörs dess acceleratorallokering och faktureringen stoppas omedelbart. Så här tar du bort en distribution:

client.managed_compute_deployments.begin_delete(
    resource_group_name=RESOURCE_GROUP,
    account_name=ACCOUNT_NAME,
    deployment_name=DEPLOYMENT_NAME,
).result()

Sammanfattning av åtkomstkontroll

Action Minsta roll
Skapa, uppdatera eller ta bort en hanterad beräkningsdistribution Cognitive Services-deltagare (eller Foundry-ägare/Foundry-kontoägare) på Foundry-kontot
Visa en driftsättning eller lista driftsättningar Cognitive Services-användare, Foundry-användare, Foundry Project Manager eller någon av rollerna ovan
Anropa distributionen med Microsoft Entra ID Foundry-användare på Foundry-kontot
Anropa driftsättningen med en API-nyckel Kontonyckeln (ingen Azure roll som krävs för själva anropet, nyckelhämtning kräver läsåtkomst)

En fullständig lista över åtgärder för Azure-resursprovidern, matrisen för roller och behörigheter samt jämförelsen med standarddriftsättningar finns i Rollbaserad åtkomstkontroll för Microsoft Foundry – styrplansåtgärder för hanterad beräkning.

Troubleshooting

provisioningState: Failed

Bekräfta att den begärda acceleratorfamiljen har en godkänd kvot i målregionen och att den valda distributionsmallen listar den acceleratorfamiljen. En felaktig modell och distributionsmall, till exempel en mall som har publicerats för en annan modellversion, är en vanlig orsak. Kontrollera att båda referenserna matchar giltiga registertillgångar i azure-huggingface registret.

"Kvoten har överskridits" när du skapar

Foundry-kontot har inte tillräcklig kvot för hanterad beräkning i regionen för den begärda acceleratorfamiljen. Begär mer kvot. Azure VM-kvoten gäller inte för hanterad beräkning.

"Otillräcklig kapacitet" i regionen

Regionen returnerade ingen kapacitet för den begärda acceleratorfamiljen. Prova en annan familj (till exempel distribuera på MI300X i stället för H100), välj en mall med färre acceleratorer per instans eller rikta in dig på en annan region. Familjer med större minne, till exempel MI300X, har ofta kapacitet för modeller som inte får plats på A100.

404 från /openai/v1/-rutten

Om en begäran om att https://<account>.services.ai.azure.com/openai/v1/chat/completions slutföra chatten returnerar 404 kontrollerar du att:

  • Distributionsnamnet i begärandetexten matchar den distribution som du skapade.
  • provisioningState för distributionen är Succeeded.
  • Modellens körmiljö tillhandahåller chattslutföranden. Vissa körmiljöer (till exempel TEI för inbäddningar) exponerar inte sökvägen för chat completions; använd i stället den sökväg som dokumenteras på modellkortet.

Distribueringen har fastnat i Creating i mer än 20 minuter

Vissa större modeller tar längre tid än de typiska 10–15 minuterna att komma upp. Om provisioningState fortfarande är Creating efter 20 minuter, kontrollera sidan med distributionsdetaljer i Foundry-portalen för ett statusmeddelande om åtgärden och bekräfta att den underliggande regionen inte har drabbats av en försämring. Om distributionen förblir i Creating i mer än 30 minuter utan något åtgärdsmeddelande, tar du bort den och försöker igen. Provisioneringen är idempotent med avseende på distributionens namn.