Sdílet prostřednictvím


Postup nasazení a provádění inferencí pomocí spravovaného výpočetního prostředí

Poznámka:

Tento dokument se týká portálu Microsoft Foundry (Classic).

🔍Informace o novém portálu najdete v dokumentaci k Microsoft Foundry (nové).

Katalog modelů portálu Microsoft Foundry nabízí více než 1 600 modelů. Běžným způsobem nasazení těchto modelů je použití možnosti spravovaného nasazení výpočetních prostředků. Tato možnost se také někdy označuje jako spravované online nasazení.

Když nasadíte rozsáhlý jazykový model (LLM), zpřístupníte ho pro použití na webu, aplikaci nebo jiném produkčním prostředí. Nasazení obvykle zahrnuje hostování modelu na serveru nebo v cloudu a vytvoření rozhraní API nebo jiného rozhraní, aby uživatelé mohli s modelem pracovat. Nasazení můžete vyvolat pro inference generativních AI aplikací v reálném čase, jako je například chat a copilot.

V tomto článku se naučíte nasazovat modely s možností spravovaného nasazení výpočetních prostředků a provádět odvozování nasazeného modelu.

Požadavky

  • Předplatné Azure s platným způsobem platby. Bezplatná nebo zkušební předplatná Azure nefungují. Pokud nemáte předplatné Azure, vytvořte si placený účet Azure, abyste mohli začít.

  • Pokud ho nemáte, vytvořte projekt založený na centru.

  • Modely Foundry od partnerů a komunity vyžadují přístup k Azure Marketplace, zatímco modely Foundry prodané přímo v Azure tento požadavek nemají. Ujistěte se, že vaše předplatné Azure má oprávnění potřebná k přihlášení k odběru nabídek modelů na Azure Marketplace. Další informace najdete v tématu Povolení nákupů na Azure Marketplace .

  • Řízení přístupu na základě role v Azure (Azure RBAC) uděluje přístup k operacím na portálu Foundry. Pokud chcete provést kroky v tomto článku, musí být vašemu uživatelskému účtu přiřazena role Vývojář Azure AI ve skupině prostředků. Další informace o oprávněních najdete v tématu Řízení přístupu na základě role na portálu Foundry.

Vyhledání modelu v katalogu modelů

  1. Přihlaste se k Microsoft Foundry. Ujistěte se, že je přepínač New Foundry vypnutý. Tyto kroky odkazují na Foundry (classic).
  2. Pokud ještě nejste v projektu, vyberte ho.
  3. V levém podokně vyberte Katalog modelů .
  1. Ve filtru Možností nasazení vyberte Spravované výpočetní prostředky.

    Návod

    Vzhledem k tomu, že levé podokno můžete přizpůsobit na portálu Microsoft Foundry, může se zobrazit jiné položky, než je znázorněno v tomto postupu. Pokud nevidíte, co hledáte, vyberte v dolní části levého podokna možnost ... Další.

    Snímek obrazovky katalogu modelů znázorňující, jak filtrovat modely, které je možné nasadit prostřednictvím spravovaných výpočetních prostředků

  2. Výběrem modelu otevřete jeho kartu modelu. V tomto článku použijte model deepset-roberta-base-squad2.

Nasazení modelu

  1. Na stránce modelu vyberte Použít tento model a otevřete okno nasazení.

  2. Okno nasazení je předem vyplněné některými výběry a hodnotami parametrů. Můžete je buď zachovat, nebo je podle potřeby změnit. Můžete také vybrat existující koncový bod pro nasazení nebo vytvořit nový. V tomto příkladu zadejte počet 1 instancí a vytvořte nový koncový bod pro nasazení.

    Snímek obrazovky z konfigurační obrazovky nasazení spravovaného výpočetního systému v Foundry

  3. Vyberte nasadit pro vytvoření nasazení. Dokončení procesu vytváření může trvat několik minut. Po dokončení portálu se otevře stránka nasazení modelu.

    Návod

    Pokud chcete zobrazit koncové body nasazené do vašeho projektu, přejděte do části Moje prostředky v levém podokně a vyberte Modely a koncové body.

  4. Vytvořený koncový bod používá pro autorizaci ověřování pomocí klíče. Pokud chcete získat klíče přidružené k danému koncovému bodu, postupujte takto:

    1. Vyberte nasazení a poznamenejte si cílový identifikátor URI a klíč koncového bodu.
    2. Pomocí těchto přihlašovacích údajů můžete volat nasazení a generovat předpovědi.

Spotřeba nasazení

Jakmile vytvoříte nasazení, postupujte podle těchto kroků:

  1. V projektu Foundry vyberte Modely a koncové body v části Moje prostředky .
  2. Vyberte své nasazení ze záložky Nasazení modelů.
  3. Přejděte na kartu Test pro ukázkové odvozování do koncového bodu.
  4. Vraťte se na kartu Podrobnosti a zkopírujte identifikátor URI cíle nasazení, který můžete použít ke spuštění odvozování pomocí kódu.
  5. Přejděte na kartu Spotřeba nasazení a vyhledejte ukázky kódu pro spotřebu.
  1. Zkopírujte ID modelu ze stránky podrobností vybraného modelu. Pro vybraný model to vypadá takto: azureml://registries/azureml/models/deepset-roberta-base-squad2/versions/17.

Nasazení modelu

  1. Nainstalujte sadu Azure Machine Learning SDK.

    pip install azure-ai-ml
    pip install azure-identity
    
  2. Ověřte se pomocí Služby Azure Machine Learning a vytvořte objekt klienta. Zástupné symboly nahraďte ID předplatného, názvem skupiny prostředků a názvem projektu Foundry.

    from azure.ai.ml import MLClient
    from azure.identity import InteractiveBrowserCredential
    
    workspace_ml_client = MLClient(
        credential=InteractiveBrowserCredential,
        subscription_id="your subscription ID goes here",
        resource_group_name="your resource group name goes here",
        workspace_name="your project name goes here",
    )
    
  3. Vytvořte koncový bod. Pro možnost nasazení spravovaného výpočetního prostředí je potřeba vytvořit koncový bod před nasazením modelu. Koncový bod si můžete představit jako kontejner, který může obsahovat více nasazení modelů. Názvy koncových bodů musí být v určité oblasti jedinečné, takže v tomto příkladu použijte časové razítko k vytvoření jedinečného názvu koncového bodu.

    import time, sys
    from azure.ai.ml.entities import (
        ManagedOnlineEndpoint,
        ManagedOnlineDeployment,
        ProbeSettings,
    )
    
    # Make the endpoint name unique
    timestamp = int(time.time())
    online_endpoint_name = "customize your endpoint name here" + str(timestamp)
    
    # Create an online endpoint
    endpoint = ManagedOnlineEndpoint(
        name=online_endpoint_name,
        auth_mode="key",
    )
    workspace_ml_client.online_endpoints.begin_create_or_update(endpoint).wait()
    
  4. Vytvořte nasazení. ID modelu v dalším kódu nahraďte ID modelu, které jste zkopírovali ze stránky podrobností modelu, který jste vybrali v části Najít model v části Katalog modelů .

    model_name = "azureml://registries/azureml/models/deepset-roberta-base-squad2/versions/17" 
    
    demo_deployment = ManagedOnlineDeployment(
        name="demo",
        endpoint_name=online_endpoint_name,
        model=model_name,
        instance_type="Standard_DS3_v2",
        instance_count=2,
        liveness_probe=ProbeSettings(
            failure_threshold=30,
            success_threshold=1,
            timeout=2,
            period=10,
            initial_delay=1000,
        ),
        readiness_probe=ProbeSettings(
            failure_threshold=10,
            success_threshold=1,
            timeout=10,
            period=10,
            initial_delay=1000,
        ),
    )
    workspace_ml_client.online_deployments.begin_create_or_update(demo_deployment).wait()
    endpoint.traffic = {"demo": 100}
    workspace_ml_client.online_endpoints.begin_create_or_update(endpoint).result()
    

Analýza nasazení

  1. K otestování odvozování potřebujete ukázková data JSON. Vytvořte sample_score.json pomocí následujícího příkladu.

    {
      "inputs": {
        "question": [
          "Where do I live?",
          "Where do I live?",
          "What's my name?",
          "Which name is also used to describe the Amazon rainforest in English?"
        ],
        "context": [
          "My name is Wolfgang and I live in Berlin",
          "My name is Sarah and I live in London",
          "My name is Clara and I live in Berkeley.",
          "The Amazon rainforest (Portuguese: Floresta Amaz\u00f4nica or Amaz\u00f4nia; Spanish: Selva Amaz\u00f3nica, Amazon\u00eda or usually Amazonia; French: For\u00eat amazonienne; Dutch: Amazoneregenwoud), also known in English as Amazonia or the Amazon Jungle, is a moist broadleaf forest that covers most of the Amazon basin of South America. This basin encompasses 7,000,000 square kilometres (2,700,000 sq mi), of which 5,500,000 square kilometres (2,100,000 sq mi) are covered by the rainforest. This region includes territory belonging to nine nations. The majority of the forest is contained within Brazil, with 60% of the rainforest, followed by Peru with 13%, Colombia with 10%, and with minor amounts in Venezuela, Ecuador, Bolivia, Guyana, Suriname and French Guiana. States or departments in four nations contain \"Amazonas\" in their names. The Amazon represents over half of the planet's remaining rainforests, and comprises the largest and most biodiverse tract of tropical rainforest in the world, with an estimated 390 billion individual trees divided into 16,000 species."
        ]
      }
    }
    
  2. Vyvozování s sample_score.json. Změňte umístění souboru bodování v dalším kódu podle toho, kam jste uložili ukázkový soubor JSON.

    scoring_file = "./sample_score.json" 
    response = workspace_ml_client.online_endpoints.invoke(
        endpoint_name=online_endpoint_name,
        deployment_name="demo",
        request_file=scoring_file,
    )
    response_json = json.loads(response)
    print(json.dumps(response_json, indent=2))
    

Konfigurace automatického škálování

Pokud chcete nakonfigurovat automatické škálování pro nasazení, postupujte takto:

  1. Přihlaste se do Azure Portalu.
  2. Vyhledejte typ Machine learning online deployment prostředku Azure pro model, který jste právě nasadili ve skupině prostředků projektu AI.
  3. Vyberte Nastavení>Měřítko z levého podokna.
  4. Vyberte Vlastní automatické škálování a nakonfigurujte nastavení automatického škálování. Další informace o automatickém škálování najdete v tématu Automatické škálování online koncových bodů v dokumentaci ke službě Azure Machine Learning.

Odstraňte nasazení

Pokud chcete odstranit nasazení na portálu Foundry, vyberte Odstranit nasazení na horním panelu stránky s podrobnostmi o nasazení.

Důležité informace o kvótách

Pokud chcete nasadit a provádět odvozování s koncovými body v reálném čase, využíváte kvótu jader virtuálního počítače, kterou Azure přiřadí k vašemu předplatnému na základě jednotlivých oblastí. Když se zaregistrujete do Foundry, obdržíte výchozí kvótu virtuálních počítačů pro několik rodin virtuálních počítačů dostupných v dané oblasti. Nasazení můžete dál vytvářet, dokud nedosáhnete limitu kvóty. Jakmile k tomu dojde, můžete požádat o navýšení kvóty.