Nasazení opensourcových modelů se spravovanými výpočetními prostředky (Preview)

Note

Spravované výpočetní prostředí ve Foundry je momentálně ve verzi Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce nemusí být podporované nebo můžou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Spravované nasazení výpočetní kapacity (Preview) v Microsoft Foundry hostuje modely s otevřeným zdrojovým kódem na vyhrazené kapacitě GPU. Microsoft vlastní topologii GPU, modul runtime, image kontejneru a opravy zabezpečení. Zvolíte model, šablonu nasazení, rodinu akcelerátorů a chování škálování, které odpovídá vaší úloze. Tento článek vás provede kompletním pracovním postupem nasazení opensourcového modelu do spravovaného výpočetního prostředí v Microsoft Foundry.

V tomto článku se naučíte:

  • Volba modelu v katalogu modelů
  • Výběr šablony nasazení
  • Nasazení modelu pomocí portálu Foundry nebo sady Python SDK
  • Odvozování pomocí sady OpenAI SDK
  • Škálování a monitorování nasazení
  • Žádost o další kvótu

Přehled nasazení spravovaných výpočetních prostředků v Foundry, včetně instancí modelů, šablon nasazení, modulů runtime, rodin akcelerátorů, fakturace a aktuálních omezení, najdete v tématu Spravované výpočetní prostředky ve službě Microsoft Foundry (Preview).

Předpoklady

  • Aktivní předplatné Azure. Pokud ho chcete vytvořit, přečtěte si článek Vytvoření bezplatného účtu Azure.

  • Skupina prostředků v předplatném, ve kterém máte oprávnění vytvářet prostředky.

  • Účet Microsoft Foundry (účet služeb Cognitive Services typu AIServices) a projekt Foundry. Pokud ho chcete vytvořit, přečtěte si téma Vytvoření projektu Foundry.

  • Následující přiřazení rolí Azure v rozsahu účtu Foundry:

  • Schválená kvóta spravovaných výpočetních prostředků pro řadu akcelerátorů, kterou plánujete nasadit v cílové oblasti (A100, H100 nebo MI300X). Kvóta spravovaných výpočetních prostředků je oddělená od kvóty Azure virtuálních počítačů. Viz Žádost o další kvótu na konci tohoto článku.

  • Příklady místních nástrojů pro sadu SDK a rozhraní příkazového řádku:

    pip install "azure-mgmt-cognitiveservices==15.0.0b2" azure-identity openai requests
    az login
    
  • Azure CLI 2.60 nebo novější.

Important

Spravované výpočty ve Foundry jsou ve veřejné verzi Preview. Rozhraní API, názvy skladových položek a podporované oblasti se můžou před obecnou dostupností změnit. Předdefinované filtrování obsahu není součástí cesty spravovaných výpočetních dat ve verzi Public Preview. Pokud potřebujete filtrování na úrovni požadavku nebo na úrovni odpovědi, volejte rozhraní API Bezpečnost obsahu Azure AI přímo z vaší aplikace.

Volba modelu v katalogu

Spravované výpočetní prostředí nasazuje modely z kolekce Hugging Face v katalogu modelů Foundry, poskytované z registru azure-huggingface.

  1. Přihlaste se k Microsoft Foundry. Ujistěte se, že je zapnutý přepínač New Foundry . Tyto kroky se týkají nové verze aplikace Foundry.
  2. Vyberte své předplatné a prostředek Foundry.
  3. V pravém horním navigačním panelu vyberte Sestavit a pak v levém podokně vyberte Modely .
  4. Vyfiltrujte katalog podle kolekcí. Zvolte Hugging Face. K zúžení modelu, který chcete nasadit (například výběr rodiny modelů, jako je Qwen), nebo podle způsobu nebo úlohy můžete použít kterýkoli z dalších filtrů. Můžete také hledat podle názvu modelu.
  5. Výběrem karty modelu (například nvidia-nemotron-3-nano-30b-a3b-fp8) otevřete její podrobnosti.

Karta modelu zobrazuje upstreamovou licenci, způsob, podporované úlohy a šablony nasazení publikované pro model. Pokud plánujete nasazení prostřednictvím sady Python SDK nebo REST namísto použití průvodce portálem, budete potřebovat tři hodnoty jako vstup do volání nasazení. Tyto hodnoty najdete na portálu Foundry následujícím způsobem:

  • ID modelu: plně kvalifikovaný identifikátor položky registru pro model. K dispozici na kartě modelu v katalogu (zkopírujte z podokna podrobností modelu). Příklad:

    azureml://registries/azure-huggingface/models/nvidia--nvidia-nemotron-3-nano-30b-a3b-fp8/versions/2
    
  • ID šablony nasazení: určuje běhové prostředí, rodinu a počet akcelerátorů a délku kontextu modelu. K dispozici v průvodci nasazením , který se otevře, když vyberete Nasadit na kartě modelu. Vyberte šablonu a zkopírujte z průvodce ID šablony pro nasazení. Příklad:

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

    Note

    ID modelu a ID šablony nasazení musí být kompatibilní; každá šablona obsahuje seznam verzí modelu, které podporuje. Průvodce portálem zobrazuje pouze kompatibilní šablony vybraného modelu. Pokud nasazujete pomocí kódu, ověřte, že oba odkazy odkazují na platné položky registru v registru azure-huggingface.

    Další informace o šablonách nasazení najdete v tématu Šablona nasazení v článku Přehled spravovaného výpočetního prostředí.

  • Typ akcelerátoru: například H100_80GB, A100_80GBnebo MI_300_192GB. Zobrazí se vedle každé šablony v průvodci nasazením.

Nasazení modelu

  1. Výběrem možnosti Nasadit na kartě modelu otevřete průvodce nasazením.

  2. Zadejte název nasazení. Název nasazení je hodnota, kterou vaše aplikace předává v poli model při inferenci – zvolte stabilní název vhodný pro použití v aplikaci (například nemotron-3-nano-30b).

  3. V průvodci nasazením je předem vybraný typ nasazení (Global Managed Compute).

  4. Vyberte šablonu nasazení , která odpovídá vaší úloze. Například šablona H100 s jedním akcelerátorem pro co nejnižší náklady při střední délce kontextu nebo šablona se dvěma akcelerátory, pokud vaše prompty překročí limit kontextu pro jeden akcelerátor.

  5. Vyberte typ akcelerátoru, například H100_80GB.

  6. Nastavte instance modelu na hodnotu 1 (nebo vyšší, pokud jste změřili své zatížení). Instance modelu určují velikost spravovaného výpočetního prostředku a jsou hodnotou capacity ve SKU nasazení. Každá instance využívá počet akcelerátorů definovaný šablonou; Například šablona, která určuje jednu H100 na instanci s kapacitou 2, používá celkem dva akcelerátory H100.

    Tip

    Začněte s capacity: 1 pro první nasazení a potom dále škálujte zvýšením kapacity, až změříte své zatížení. Informace o tom, jak zvýšit kapacitu, najdete v tématu Správa a škálování nasazení .

  7. Zaškrtnutím políčka potvrďte náklady na nasazení.

  8. Vyberte Nasadit. Zřizování obvykle trvá 10 až 15 minut.

Ověření nasazení

Stránka s podrobnostmi o nasazení se aktualizuje z Creating na Succeeded, jakmile je model živě dostupný za koncovým bodem Foundry. Můžete zobrazit podrobnosti o nasazení, včetně stavu zřizování, typu nasazení a dalších výběrů, které jste provedli při vytváření nasazení.

Odeslání testovací žádosti

Jakmile je nasazení připravené, otestujte ho interaktivně na Foundry Playgroundu.

  1. Vyberte kartu Dětské hřiště a přepněte na ni ze stránky Podrobnosti nasazení.
  2. Odešlete výzvu k otestování nasazení.

Monitorování nasazení

Nasazení spravovaných výpočetních prostředků publikují metriky ve stejném rozhraní Azure Monitor jako ostatní nasazení Foundry. Na stránce s podrobnostmi o nasazení na portálu Foundry se na kartě Monitorování zobrazuje:

  • Počet požadavků seskupených podle stavových kódů HTTP
  • Percentily doby odezvy (p50, p90, p99).
  • Pro modely chat completions: počty vstupních a výstupních tokenů, percentily TTFT (time-to-first-token) a percentily doby dekódování mezi tokeny.

Pokud chcete provést hlubší analýzu nebo upozorňování, otevřete nasazení na portálu Azure a použijte Metrické metriky v části Monitoring k grafům stejných metrik, seskupení podle nasazení a konfiguraci výstrah. Fakturační značky pro jednotlivá nasazení se generují automaticky. Filtrujte Cost Management podle tagu nasazení a přiřaďte náklady ke konkrétnímu spravovanému výpočetnímu nasazení Podrobnosti najdete v tématu Plán a správa nákladů na Microsoft Foundry.

Odstraňte nasazení

Smazáním nasazení se uvolní přidělení akcelerátoru a fakturace se okamžitě zastaví. Odstranit nasazení:

  1. Přejděte na seznam nasazení na portálu Foundry.
  2. Vyberte přepínač vedle názvu svého nasazení.
  3. V pravém podokně vyberte Odstranit.

Žádost o další kvótu

Spravovaná kvóta výpočetních prostředků se uděluje pro každou řadu akcelerátorů v každé oblasti prostřednictvím procesu kvót Foundry a je oddělená od kvót Azure pro virtuální počítače. U spravovaného výpočetního nasazení nejde použít existující kvótu Azure virtuálních počítačů.

Pokud chcete požádat o další kvótu:

  1. V pravé horní navigaci vyberte Operate a potom v levém podokně Quota.
  2. Vyberte kartu Spravované výpočetní prostředky . Tabulka uvádí aktuální přidělení seskupené podle řady akcelerátorů a oblasti.
  3. V pravém horním rohu vyberte Kvóta žádosti .
  4. Ve formuláři žádosti zvolte rodinu akcelerátorů (A100, H100 nebo MI300X), cílovou oblast a požadovanou kvótu. Odešlete žádost.

Vyčkejte až 15 minut, než se schválená změna kvóty projeví. Aktualizujte stránku Kvóta a ověřte aktualizované přidělení. Další informace o konceptech kvót najdete v tématu Správa a zvýšení kvót pro prostředky.

K nasazení modelu použijte následující skript Python. Zástupné symboly nahraďte vlastním ID předplatného, skupinou prostředků, názvem účtu Foundry a názvem nasazení.

Tip

Začněte s capacity: 1 pro první nasazení a potom dále škálujte zvýšením kapacity, až změříte své zatížení. Informace o tom, jak zvýšit kapacitu, najdete v tématu Správa a škálování nasazení .

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

Ověření nasazení

Po vytvoření nasazení ověřte, že funguje správně, než na něj začnete směrovat provoz.

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

Hledejte:

  • provisioningState: Succeeded znamená, že nasazení je aktivní.
  • acceleratorType odpovídá požadované hodnotě.
  • sku.capacity odpovídá počtu požadovaných instancí.

Pokud je provisioningStateFailed, viz Řešení potíží.

Odeslání testovací žádosti

Spravovaná výpočetní nasazení jsou dostupná prostřednictvím jednotného koncového bodu Foundry na adrese:

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

Pole model v textu požadavku přebírá zadaný název nasazení , nikoli ID modelu.

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)

Volání nasazení pomocí Microsoft Entra ID vyžaduje na účtu Foundry roli Azure AI User.

Správa a škálování nasazení

Vzhledem k tomu, že spravovaná výpočetní nasazení jsou zaměřená na model, škálujete nasazení změnou počtu instancí modelu, nikoli změnou velikosti uzlu.

Změna kapacity

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

Získejte aktualizace modulu runtime a modelu

Nastavení versionUpgradeOption na OnceNewDefaultVersionAvailable pro nasazení způsobí, že nasazení bude při publikování nových výchozích verzí modelu a běhového prostředí společností Microsoft tyto verze automaticky přebírat. Runtime opravy a opravy CVE se automaticky aplikují na běžící zákaznická nasazení; model kvůli nim nemusíte znovu nasazovat.

Monitorování nasazení

Nasazení spravovaných výpočetních prostředků publikují metriky ve stejném rozhraní Azure Monitor jako ostatní nasazení Foundry. Pokud chcete provést podrobnější analýzu nebo nastavit výstrahy, otevřete nasazení v portálu Azure a pomocí možnosti Metriky v části Monitorování zobrazte v grafu metriky, jako jsou:

  • Počet požadavků seskupených podle stavových kódů HTTP
  • Percentily doby odezvy (p50, p90, p99).
  • Pro modely chat completions: počty vstupních a výstupních tokenů, percentily TTFT (time-to-first-token) a percentily doby dekódování mezi tokeny.

Můžete také seskupit podle nasazení a nakonfigurovat výstrahy. Fakturační značky pro jednotlivá nasazení se generují automaticky. Filtrujte Cost Management podle tagu nasazení a přiřaďte náklady ke konkrétnímu spravovanému výpočetnímu nasazení Podrobnosti najdete v tématu Plán a správa nákladů na Microsoft Foundry.

Odstraňte nasazení

Smazáním nasazení se uvolní přidělení akcelerátoru a fakturace se okamžitě zastaví. Odstranit nasazení:

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

Souhrn řízení přístupu

Action Minimální role
Vytvoření, aktualizace nebo odstranění spravovaného výpočetního nasazení Přispěvatel služeb Cognitive Services (nebo vlastník účtu Foundry / Vlastník účtu Foundry) v účtu Foundry
Přečíst nasazení nebo vypsat nasazení Uživatel služeb Cognitive Services, uživatel Foundry, správce projektu Foundry nebo kterákoli z výše uvedených rolí
Volejte nasazení pomocí Microsoft Entra ID Uživatel Foundry v účtu Foundry
Vyvolat nasazení pomocí klíče API Klíč účtu (pro samotné volání nevyžaduje žádnou roli Azure; načtení klíče vyžaduje přístup pro čtení).

Úplný seznam operací poskytovatele prostředků Azure, matici oprávnění role a porovnání se standardními nasazeními najdete v tématu Řízení přístupu na základě role pro Microsoft Foundry – spravované operace roviny řízení výpočetních prostředků.

Troubleshooting

provisioningState: Failed

Ověřte, že požadovaná řada akcelerátorů schválila kvótu v cílové oblasti a že vybraná šablona nasazení obsahuje seznam této řady akcelerátorů. Běžnou příčinou je neshoda modelu a šablony nasazení, například šablona publikovaná pro jinou verzi modelu. Ověřte, že oba odkazy odkazují na platné assety registru v registru azure-huggingface.

„Kvóta byla překročena“ při vytváření

Účet Foundry nemá v dané oblasti dostatečnou kvótu spravovaných výpočetních prostředků pro požadovanou rodinu akcelerátorů. Požádejte o další kvótu. Azure kvóta virtuálního počítače se nevztahuje na spravované výpočetní prostředky.

"Nedostatečná kapacita" v oblasti

V regionu není k dispozici žádná kapacita pro požadovanou skupinu akcelerátorů. Zkuste jinou řadu (například nasadit na MI300X místo H100), vyberte šablonu s menším počtem akcelerátorů na instanci nebo cílit na jinou oblast. Rodiny větší paměti, jako je MI300X, mají často kapacitu pro modely, které se nevejdou na A100.

Chyba 404 z /openai/v1/ routy

Pokud požadavek na dokončení chatu na https://<account>.services.ai.azure.com/openai/v1/chat/completions vrátí kód 404, ověřte, že:

  • Název nasazení v textu požadavku odpovídá vámi vytvořenému nasazení.
  • provisioningState nasazení je Succeeded.
  • Modul runtime modelu zveřejňuje dokončování chatu. Některé moduly runtime (například TEI pro vkládání) nezpřístupňují trasu dokončení chatu; místo toho použijte trasu zdokumentovanou na kartě modelu.

Nasazení uvízlo v Creating déle než 20 minut

Spuštění některých větších modelů trvá déle než obvyklých 10–15 minut. Pokud je provisioningState i po 20 minutách stále Creating, zkontrolujte na stránce s podrobnostmi o nasazení na portálu Foundry zprávu o stavu operace a ověřte, že u příslušné oblasti nedošlo k degradaci. Pokud nasazení zůstane v Creating déle než 30 minut, aniž by se zobrazila zpráva o operaci, odstraňte je a zkuste to znovu. Zřizovací operace je idempotentní vůči názvu nasazení.