Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure AI Foundry-portalens modellkatalog erbjuder över 1 600 modeller. Ett vanligt sätt att distribuera dessa modeller är att använda distributionsalternativet för hanterad beräkning. Det här alternativet kallas även ibland för en hanterad onlinedistribution.
När du distribuerar en stor språkmodell (LLM) gör du den tillgänglig för användning på en webbplats, ett program eller en annan produktionsmiljö. Distribution innebär vanligtvis att vara värd för modellen på en server eller i molnet och skapa ett API eller annat gränssnitt för användare att interagera med modellen. Du kan anropa distributionen för realtidsinferens av generativa AI-program som chatt och assistent.
I den här artikeln lär du dig att distribuera modeller med distributionsalternativet för hanterad beräkning och att utföra slutsatsdragning för den distribuerade modellen.
Förutsättningar
En Azure-prenumeration med en giltig betalningsmetod. Kostnadsfria azure-prenumerationer eller utvärderingsprenumerationer fungerar inte. Om du inte har en Azure-prenumeration skapar du ett betalt Azure-konto för att börja.
Om du inte har något skapar du ett hubbbaserat projekt.
Foundry-modeller från partner och community kräver åtkomst till Azure Marketplace, medan Foundry-modeller som säljs direkt av Azure inte har det här kravet. Se till att din Azure-prenumeration har de behörigheter som krävs för att prenumerera på modellerbjudanden på Azure Marketplace. Mer information finns i Aktivera Azure Marketplace-köp .
Rollbaserade åtkomstkontroller i Azure (Azure RBAC) ger åtkomst till åtgärder i Azure AI Foundry-portalen. Om du vill utföra stegen i den här artikeln måste ditt användarkonto tilldelas rollen Azure AI Developer i resursgruppen. Mer information om behörigheter finns i Rollbaserad åtkomstkontroll i Azure AI Foundry-portalen.
Hitta din modell i modellkatalogen
- Logga in på Azure AI Foundry.
- Om du inte redan är med i projektet väljer du det.
- Välj Modellkatalog i det vänstra fönstret.
I filtret Distributionsalternativ väljer du Hanterad beräkning.
Tips/Råd
Eftersom du kan anpassa det vänstra fönstret i Azure AI Foundry-portalen kan du se andra objekt än vad som visas i de här stegen. Om du inte ser det du letar efter väljer du ... Mer längst ned i det vänstra fönstret.
Välj en modell för att öppna modellkortet. I den här artikeln använder du modellen
deepset-roberta-base-squad2.
Distribuera modellen
På modellens sida väljer du Använd den här modellen för att öppna distributionsfönstret.
Distributionsfönstret är förfyllt med vissa val och parametervärden. Du kan antingen behålla dem eller ändra dem efter behov. Du kan också välja en befintlig slutpunkt för distributionen eller skapa en ny. I det här exemplet anger du antalet instanser och
1skapar en ny slutpunkt för distributionen.Välj Distribuera för att skapa distributionen. Det kan ta några minuter att skapa processen. När den är klar öppnar portalen modelldistributionssidan.
Tips/Råd
Om du vill se slutpunkter som distribuerats till projektet går du till avsnittet Mina tillgångar i den vänstra rutan och väljer Modeller + slutpunkter.
Den skapade slutpunkten använder nyckelautentisering för auktorisering. Följ dessa steg för att hämta de nycklar som är associerade med en viss slutpunkt:
- Välj distributionen och notera slutpunktens mål-URI och nyckel.
- Använd dessa autentiseringsuppgifter för att anropa distributionen och generera förutsägelser.
Använda distributioner
När du har skapat distributionen följer du de här stegen för att använda den:
- Välj Modeller + slutpunkter under avsnittet Mina tillgångar i ditt Azure AI Foundry-projekt.
- Välj din distribution på fliken Modelldistributioner .
- Gå till fliken Test för exempelinferens till slutpunkten.
- Gå tillbaka till fliken Information för att kopiera distributionens "Mål-URI", som du kan använda för att köra slutsatsdragning med kod.
- Gå till fliken Förbruka i distributionen för att hitta kodexempel för förbrukning.
- Kopiera modell-ID:t från informationssidan för den modell som du har valt. Det ser ut så här för den valda modellen:
azureml://registries/azureml/models/deepset-roberta-base-squad2/versions/17.
Distribuera modellen
Installera Azure Machine Learning SDK.
pip install azure-ai-ml pip install azure-identityAutentisera med Azure Machine Learning och skapa ett klientobjekt. Ersätt platshållarna med ditt prenumerations-ID, resursgruppsnamn och Azure AI Foundry-projektnamn.
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", )Skapa en slutpunkt. För alternativet för hanterad beräkningsdistribution måste du skapa en slutpunkt före en modellimplementering. Tänk på en slutpunkt som en container som kan innehålla flera modelldistributioner. Slutpunktsnamnen måste vara unika i en region, så i det här exemplet använder du tidsstämpeln för att skapa ett unikt slutpunktsnamn.
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()Skapa en distribution. Ersätt modell-ID:t i nästa kod med modell-ID:t som du kopierade från informationssidan för den modell som du valde i avsnittet Hitta din modell i modellkatalogen .
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()
Inferens av implementeringen
Du behöver ett exempel på json-data för att testa slutsatsdragning. Skapa
sample_score.jsonmed följande exempel.{ "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." ] } }Inferens med
sample_score.json. Ändra platsen för bedömningsfilen i nästa kod, baserat på var du sparade json-exempelfilen.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))
Konfigurera automatisk skalning
Följ dessa steg för att konfigurera automatisk skalning för distributioner:
- Logga in på Azure-portalen.
- Leta upp Azure-resurstypen
Machine learning online deploymentför den modell som du just distribuerade i resursgruppen för AI-projektet. - Välj Inställningar>Skalning i det vänstra fönstret.
- Välj Anpassad autoskalning och konfigurera inställningar för autoskalning. Mer information om automatisk skalning finns i Autoskalning av onlineslutpunkter i Azure Machine Learning-dokumentationen.
Ta bort distributionen
Om du vill ta bort distributioner i Azure AI Foundry-portalen väljer du Ta bort distribution på den översta panelen på sidan med distributionsinformation.
Kvotöverväganden
Om du vill distribuera och utföra slutsatsdragning med realtidsslutpunkter använder du kärnkvoten för virtuell dator (VM) som Azure tilldelar din prenumeration per region. När du registrerar dig för Azure AI Foundry får du en standardkvot för virtuella datorer för flera vm-familjer som är tillgängliga i regionen. Du kan fortsätta att skapa distributioner tills du når din kvotgräns. När det händer kan du begära en kvotökning.
Relaterat innehåll
- Läs mer om vad du kan göra i Azure AI Foundry
- Få svar på vanliga frågor i Azure AI FAQ-artikeln