Opensource-modellen implementeren met beheerde rekenkracht (preview)

Note

Beheerde rekenkracht in Foundry is momenteel beschikbaar als openbare preview en registratie is vereist om deze te gebruiken. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor meer informatie.

Implementatie van beheerde rekenkracht (preview) in Microsoft Foundry biedt plaats aan open-sourcemodellen op toegewezen GPU-capaciteit. Microsoft is eigenaar van de GPU-topologie, runtime, containerimage en beveiligingspatches. U kiest het model, de implementatiesjabloon, de familie van de accelerator en het schaalgedrag dat past bij uw workload. In dit artikel wordt de end-to-end-werkstroom beschreven voor het implementeren van een opensource-model op beheerde berekeningen in Microsoft Foundry.

In dit artikel leert u het volgende:

  • Een model kiezen in de modelcatalogus
  • Een implementatiesjabloon selecteren
  • Het model implementeren met behulp van de Foundry-portal of Python SDK
  • Deductie uitvoeren met behulp van de OpenAI SDK
  • De implementatie schalen en bewaken
  • Meer quotum aanvragen

Zie Beheerde compute in Microsoft Foundry (Preview) voor een overzicht van de implementatie van beheerde compute in Foundry, inclusief modelinstanties, implementatiesjablonen, runtimes, acceleratorfamilies, facturering en huidige beperkingen.

Prerequisites

  • Een actieve Azure-abonnement. Zie Maak uw Azure gratis account om er een te maken.

  • Een resourcegroep in het abonnement waarvoor u gemachtigd bent om resources te maken.

  • Een Microsoft Foundry-account (Cognitive Services-account van het type AIServices) en een Foundry-project. Zie Een Foundry-project maken om er een te maken.

  • De volgende Azure-roltoewijzingen binnen het bereik van het Foundry-account:

  • Goedgekeurd beheerd rekenquotum voor de acceleratorfamilie waarop u wilt implementeren (A100, H100 of MI300X) in de doelregio. Het beheerde rekenquotum staat los van Azure VM-quotum. Zie Meer quotum aanvragen aan het einde van dit artikel.

  • Lokale hulpprogramma's voor de SDK en CLI-voorbeelden:

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

Important

Beheerde rekenkracht in Foundry is in openbare proefversie. API's, SKU-namen en ondersteunde regio's kunnen veranderen vóór algemene beschikbaarheid. Ingebouwde inhoudsfiltering maakt geen deel uit van het beheerde rekengegevenspad in openbare preview. Als u filteren op aanvraag- of antwoordniveau nodig hebt, roept u de Azure AI Content Veiligheid API's rechtstreeks vanuit uw toepassing aan.

Een model kiezen in de catalogus

Beheerde rekenkracht implementeert modellen uit de Hugging Face Collection in de Foundry-modelcatalogus, geleverd vanuit het azure-huggingface register.

  1. Meld u aan bij Microsoft Foundry. Zorg ervoor dat de wisselknop New Foundry is ingeschakeld. Deze stappen verwijzen naar Foundry (nieuw).
  2. Kies uw abonnement en Foundry-resource.
  3. Selecteer Build in de navigatie rechtsboven en selecteer vervolgens Models in het linkerpaneel.
  4. Filter de catalogus op Verzamelingen. Kies Hugging Face. U kunt ook een van de andere filters gebruiken om het model te beperken dat u wilt implementeren (bijvoorbeeld een modelfamilie zoals Qwen kiezen) of door modaliteit of taak. U kunt ook zoeken op modelnaam.
  5. Selecteer een modelkaart (bijvoorbeeld nvidia-nemotron-3-nano-30b-a3b-fp8) om de details ervan te openen.

De modelkaart toont de upstream-licentie, de modaliteit, ondersteunde taken en de implementatiesjablonen die voor het model zijn gepubliceerd. Als u van plan bent om te implementeren via de Python SDK of REST in plaats van de portalwizard te gebruiken, hebt u drie waarden nodig als invoer voor de implementatieoproep. U vindt deze waarden als volgt in de Foundry-portal:

  • Model-id: de volledig gekwalificeerde registerasset-id voor het model. Beschikbaar op de modelkaart in de catalogus (kopieer vanuit het deelvenster met modeldetails). Voorbeeld:

    azureml://registries/azure-huggingface/models/nvidia--nvidia-nemotron-3-nano-30b-a3b-fp8/versions/2
    
  • Implementatiesjabloon-ID: identificeert de runtime, de acceleratorfamilie en het aantal accelerators, en de contextlengte voor het model. Beschikbaar in de implementatiewizard die wordt geopend wanneer u Implementeren selecteert op de modelkaart. Selecteer een sjabloon en kopieer de implementatiesjabloon-id uit de wizard. Voorbeeld:

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

    Note

    Een model-id en een implementatiesjabloon-id moeten compatibel zijn; elke sjabloon bevat de modelversies die worden ondersteund. In de portalwizard worden alleen compatibele sjablonen weergegeven voor het model dat u hebt geselecteerd. Als u met behulp van code implementeert, controleer dan of beide verwijzingen naar geldige assets in het azure-huggingface-register verwijzen.

    Zie Implementatiesjabloon in het artikel Overzicht van beheerde compute voor meer informatie over implementatiesjablonen.

  • Type versneller: bijvoorbeeld H100_80GB, A100_80GB, of MI_300_192GB. Naast elke sjabloon in de implementatiewizard weergegeven.

Het model implementeren

  1. Selecteer Implementeren op de modelkaart om de implementatiewizard te openen.

  2. Geef een implementatienaam op. De implementatienaam is wat uw toepassing tijdens deductietijd doorgeeft in het model veld. Kies een stabiele, toepassingsvriendelijke naam (bijvoorbeeld nemotron-3-nano-30b).

  3. Het implementatietype (Global Managed Compute) is vooraf geselecteerd in de implementatiewizard.

  4. Selecteer de implementatiesjabloon die overeenkomt met uw workload. Bijvoorbeeld de H100-sjabloon voor één accelerator voor de laagste kosten bij een gemiddelde contextlengte, of een sjabloon voor twee accelerators als uw prompts de contextlimiet van één accelerator overschrijden.

  5. Selecteer het acceleratortype, bijvoorbeeld H100_80GB.

  6. Stel modelinstanties in op 1 (of hoger als u de workload hebt gemeten). Modelinstanties bepalen de grootte van de beheerde compute en zijn de capacity-waarde van de implementatie-SKU. Elk exemplaar verbruikt het aantal accelerators dat is gedefinieerd door de sjabloon; Voor een sjabloon die bijvoorbeeld één H100 per exemplaar met capaciteit 2 aangeeft, worden in totaal twee H100-accelerators gebruikt.

    Tip

    Begin met capacity: 1 een eerste implementatie en schaal vervolgens uit door de capaciteit te vergroten nadat u uw workload hebt gemeten. Zie De implementatie beheren en schalen voor het vergroten van de capaciteit.

  7. Schakel het selectievakje in om de kosten voor de implementatie te bevestigen.

  8. Selecteer Implementeren. Het inrichten duurt doorgaans 10 tot 15 minuten.

De implementatie controleren

De pagina met implementatiedetails wordt bijgewerkt van Creating tot Succeeded wanneer het model live is achter het Foundry-eindpunt. U kunt details bekijken over de implementatie, inclusief de inrichtingsstatus, het implementatietype en andere selecties die u hebt gemaakt tijdens het maken van de implementatie.

Een testaanvraag verzenden

Wanneer de implementatie gereed is, test u deze interactief in de Foundry Playground.

  1. Selecteer het tabblad Playground om ernaar over te schakelen op de pagina Details van de implementatie.
  2. Verzend een prompt om de implementatie te testen.

De implementatie bewaken

Beheerde rekenimplementaties verzenden metrische gegevens op hetzelfde Azure Monitor oppervlak als andere Foundry-implementaties. Op de pagina met implementatiedetails in de Foundry-portal wordt op het tabblad Monitor het volgende weergegeven:

  • Aantal aanvragen gegroepeerd op HTTP-statuscode.
  • Reactietijd percentielen (p50, p90, p99).
  • Voor chat-completionmodellen: aantallen invoer- en uitvoertokens, percentielen voor time-to-first-token (TTFT) en percentielen van de decoderingstijd tussen tokens.

Open de implementatie in de Azure portal en gebruik Metrics onder Monitoring om dezelfde metrische gegevens weer te geven, te groeperen op implementatie en waarschuwingen te configureren. Factureringstags per implementatie worden automatisch verzonden. Filter Cost Management op de implementatietag om uitgaven toe te schrijven aan een specifieke beheerde rekenprocesimplementatie. Zie Plan and manage costs for Microsoft Foundry voor meer informatie.

De implementatie verwijderen

Als u een implementatie verwijdert, wordt de toegewezen acceleratorcapaciteit vrijgegeven en wordt de facturering onmiddellijk beëindigd. Een implementatie verwijderen:

  1. Ga naar de lijst met implementaties in de Foundry-portal.
  2. Selecteer het keuzerondje naast de naam van uw implementatie.
  3. Selecteer Verwijderen in het rechterdeelvenster.

Meer quotum aanvragen

Een beheerd rekenquotum wordt per acceleratorfamilie per regio toegekend via het Foundry-quotumproces en staat afzonderlijk van het Azure VM-quotum. Bestaande Azure VM-quotum kan niet worden toegepast op een beheerde rekenprocesimplementatie.

Meer quotum aanvragen:

  1. Selecteer Operate in de navigatie rechtsboven en selecteer vervolgens Quota in het linkerdeelvenster.
  2. Selecteer het tabblad Beheerde berekening . De tabel bevat de huidige toewijzingen gegroepeerd op acceleratorfamilie en -regio.
  3. Selecteer Quotum aanvragen in de rechterbovenhoek.
  4. Kies in het aanvraagformulier de acceleratorfamilie (A100, H100 of MI300X), de doelregio en het aangevraagde quotum. Dien de aanvraag in.

Het kan tot 15 minuten duren voordat een goedgekeurde quotawijziging van kracht wordt. Vernieuw de pagina Quota om de bijgewerkte toewijzing te controleren. Zie Quota voor hulpbronnen beheren en verhogen voor meer informatie over quotabegrippen.

Gebruik het volgende Python script om het model te implementeren. Vervang de tijdelijke aanduidingen door uw eigen abonnements-id, resourcegroep, Foundry-accountnaam en implementatienaam.

Tip

Begin met capacity: 1 een eerste implementatie en schaal vervolgens uit door de capaciteit te vergroten nadat u uw workload hebt gemeten. Zie De implementatie beheren en schalen voor het vergroten van de capaciteit.

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

De implementatie controleren

Nadat de implementatie is gemaakt, controleert u of deze in orde is voordat u verkeer verzendt.

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

Zoek naar:

  • provisioningState: Succeeded betekent dat de implementatie live is.
  • acceleratorType komt overeen met de waarde die u hebt aangevraagd.
  • sku.capacity komt overeen met het aantal exemplaren dat u hebt aangevraagd.

Als provisioningStateFailed is, raadpleeg Probleemoplossing.

Een testaanvraag verzenden

Beheerde rekenimplementaties zijn bereikbaar via het unified Foundry-eindpunt op:

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

Het model veld in de aanvraagbody gebruikt de implementatienaam die u hebt opgegeven, niet de model-id.

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)

Voor het aanroepen van de implementatie met Microsoft Entra ID is de rol Azure AI-gebruiker vereist voor het Foundry-account.

De implementatie beheren en schalen

Omdat beheerde rekenimplementaties modelgericht zijn, schaalt u implementaties door het aantal modelexemplaren te wijzigen, niet door de grootte van een knooppunt te wijzigen.

Capaciteit wijzigen

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()

Runtime- en modelupdates ophalen

Als u versionUpgradeOption voor de implementatie instelt op OnceNewDefaultVersionAvailable, wordt de implementatie ingesteld om nieuwe standaardmodel- en runtimeversies over te nemen wanneer Microsoft deze publiceert. Runtimepatches en CVE-oplossingen worden automatisch toegepast op live klantimplementaties; U implementeert het model niet opnieuw om ze op te halen.

De implementatie bewaken

Beheerde rekenimplementaties verzenden metrische gegevens op hetzelfde Azure Monitor oppervlak als andere Foundry-implementaties. Voor diepgaandere analyse of waarschuwingen opent u de implementatie in de Azure portal en gebruikt u Metrics onder Monitoring om metrische gegevens te visualiseren, zoals:

  • Aantal aanvragen gegroepeerd op HTTP-statuscode.
  • Reactietijd percentielen (p50, p90, p99).
  • Voor chat-completionmodellen: aantallen invoer- en uitvoertokens, percentielen voor time-to-first-token (TTFT) en percentielen van de decoderingstijd tussen tokens.

U kunt ook groeperen op implementatie en waarschuwingen configureren. Factureringstags per implementatie worden automatisch verzonden. Filter Cost Management op de implementatietag om uitgaven toe te schrijven aan een specifieke beheerde rekenprocesimplementatie. Zie Plan and manage costs for Microsoft Foundry voor meer informatie.

De implementatie verwijderen

Als u een implementatie verwijdert, wordt de toegewezen acceleratorcapaciteit vrijgegeven en wordt de facturering onmiddellijk beëindigd. Een implementatie verwijderen:

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

Samenvatting van toegangsbeheer

Action Minimale rol
Een beheerde rekenprocesimplementatie maken, bijwerken of verwijderen Cognitive Services-inzender (of Foundry Owner/ Foundry Account Owner) in het Foundry-account
Een implementatie lezen of implementaties weergeven Cognitive Services-gebruiker, Foundry-gebruiker, Foundry Project Manager of een van de bovenstaande rollen
De implementatie aanroepen met Microsoft Entra ID Foundry-gebruiker in het Foundry-account
De implementatie aanroepen met een API-sleutel De accountsleutel (geen Azure rol vereist voor de aanroep zelf; voor het ophalen van sleutels is leestoegang vereist)

Zie Op rollen gebaseerd toegangsbeheer voor Microsoft Foundry — beheerde control-plane-bewerkingen voor rekenresources voor de volledige lijst met bewerkingen van Azure-resourceproviders, de rol-naar-machtigingsmatrix en de vergelijking met standaardimplementaties.

Troubleshooting

provisioningState: Failed

Controleer of de aangevraagde acceleratorfamilie een goedgekeurd quotum heeft in de doelregio en of de gekozen implementatiesjabloon die acceleratorfamilie vermeldt. Een niet-overeenkomend model en implementatiesjabloon, bijvoorbeeld een sjabloon die is gepubliceerd voor een andere modelversie, is een veelvoorkomende oorzaak. Controleer of beide verwijzingen verwijzen naar geldige assets in het register azure-huggingface.

"Quota overschreden" bij het maken

Het Foundry-account heeft in deze regio niet genoeg quotum voor beheerde rekenkracht voor de aangevraagde acceleratorfamilie. Vraag meer quotum aan. Azure VM-quotum is niet van toepassing op beheerde berekeningen.

Onvoldoende capaciteit in de regio

De regio biedt geen capaciteit voor de gevraagde acceleratorfamilie. Probeer een andere familie (bijvoorbeeld implementeren op MI300X in plaats van H100), kies een sjabloon met minder accelerators per exemplaar of richt u op een andere regio. Grotere geheugenfamilies, zoals MI300X, hebben vaak capaciteit voor modellen die niet op A100 passen.

404 van de /openai/v1/-route

Als een chat-completionaanvraag naar https://<account>.services.ai.azure.com/openai/v1/chat/completions een 404-fout retourneert, controleer dan of:

  • De implementatienaam in de aanvraagbody komt overeen met de implementatie die u hebt gemaakt.
  • De provisioningState van de implementatie is Succeeded.
  • De runtime van het model maakt chatvoltooiingen beschikbaar. Sommige runtimes (bijvoorbeeld TEI voor insluitingen) maken de route voor het voltooien van chats niet beschikbaar; gebruik in plaats daarvan de route die is gedocumenteerd op de modelkaart.

Implementatie zit al langer dan 20 minuten vast in Creating

Sommige grotere modellen hebben meer dan de gebruikelijke 10–15 minuten nodig om op te starten. Als provisioningState na 20 minuten nog steeds Creating is, controleer dan op de pagina met implementatiedetails in de Foundry-portal of er een bericht over de bewerkingsstatus staat en bevestig dat de onderliggende regio niet is verslechterd. Als de implementatie langer dan 30 minuten in Creating blijft zonder bewerkingsmelding, verwijder deze dan en probeer het opnieuw. Provisionering is idempotent voor de implementatienaam.