Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Ten dokument odnosi się do portalu Microsoft Foundry (klasycznego).
🔍 Zapoznaj się z dokumentacją rozwiązania Microsoft Foundry (nową), aby dowiedzieć się więcej o nowym portalu.
Katalog modeli portalu Microsoft Foundry oferuje ponad 1600 modeli. Typowym sposobem wdrożenia tych modeli jest użycie opcji wdrażania zarządzanego zasobów obliczeniowych. Ta opcja jest również czasami nazywana zarządzanym wdrożeniem online.
Podczas wdrażania dużego modelu językowego (LLM) udostępniasz go do użycia w witrynie internetowej, aplikacji lub w innym środowisku produkcyjnym. Wdrożenie zwykle obejmuje hostowanie modelu na serwerze lub w chmurze oraz tworzenie interfejsu API lub innego interfejsu dla użytkowników w celu interakcji z modelem. Można uruchomić wdrożenie na potrzeby wnioskowania w czasie rzeczywistym aplikacji sztucznej inteligencji generatywnej, takich jak czat i copilot.
W tym artykule dowiesz się, jak wdrażać modele przy użyciu opcji wdrażania zarządzanego zasobów obliczeniowych i przeprowadzać wnioskowanie na wdrożonym modelu.
Wymagania wstępne
Subskrypcja platformy Azure z prawidłową formą płatności. Subskrypcje platformy Azure w wersji bezpłatnej lub próbnej nie działają. Jeśli nie masz subskrypcji platformy Azure, utwórz płatne konto platformy Azure, aby rozpocząć.
Jeśli go nie masz, utwórz projekt oparty na centrum.
Modele foundry od partnerów i społeczności wymagają dostępu do witryny Azure Marketplace, a modele foundry sprzedawane bezpośrednio przez platformę Azure nie mają tego wymagania. Upewnij się, że subskrypcja platformy Azure ma uprawnienia wymagane do subskrybowania ofert modeli w witrynie Azure Marketplace. Aby dowiedzieć się więcej, zobacz Włączanie zakupów w witrynie Azure Marketplace .
Kontrole dostępu oparte na rolach Azure (Azure RBAC) zapewniają dostęp do operacji w portalu Foundry. Aby wykonać kroki opisane w tym artykule, konto użytkownika musi mieć przypisaną rolę dewelopera usługi Azure AI w grupie zasobów. Aby uzyskać więcej informacji na temat uprawnień, zobacz Kontrola dostępu oparta na rolach w portalu Foundry.
Znajdowanie modelu w wykazie modeli
- Zaloguj się do usługi Microsoft Foundry. Upewnij się, że przełącznik New Foundry jest wyłączony. Te kroki odnoszą się do rozwiązania Foundry (wersja klasyczna).
- Jeśli nie jesteś jeszcze w projekcie, wybierz go.
- Wybierz pozycję Katalog modeli w okienku po lewej stronie.
W filtrze Opcje wdrażania wybierz pozycję Zarządzane obliczenia.
Wskazówka
Ponieważ możesz dostosować okienko po lewej stronie w portalu Microsoft Foundry, możesz zobaczyć inne elementy, niż pokazano w tych krokach. Jeśli nie widzisz szukanych danych, wybierz pozycję ... Więcej w dolnej części okienka po lewej stronie.
Wybierz model, aby otworzyć kartę modelu. W tym artykule użyj modelu
deepset-roberta-base-squad2.
Wdrażanie modelu
Na stronie modelu wybierz pozycję Użyj tego modelu , aby otworzyć okno wdrażania.
Okno wdrażania jest wstępnie wypełnione niektórymi opcjami i wartościami parametrów. Można je zachować lub zmienić zgodnie z potrzebami. Możesz również wybrać istniejący punkt końcowy dla wdrożenia lub utworzyć nowy. W tym przykładzie określ liczbę
1wystąpień i utwórz nowy punkt końcowy dla wdrożenia.Wybierz pozycję Wdróż , aby utworzyć wdrożenie. Proces tworzenia może potrwać kilka minut. Po zakończeniu portal otworzy stronę wdrażania modelu.
Wskazówka
Aby wyświetlić punkty końcowe wdrożone w projekcie, przejdź do sekcji Moje zasoby w okienku po lewej stronie i wybierz pozycję Modele i punkty końcowe.
Utworzony punkt końcowy używa uwierzytelniania klucza do autoryzacji. Aby uzyskać klucze skojarzone z danym punktem końcowym, wykonaj następujące kroki:
- Wybierz wdrożenie i zanotuj identyfikator URI i klucz punktu końcowego.
- Użyj tych poświadczeń, aby wywołać wdrożenie i wygenerować przewidywania.
Korzystanie z wdrożeń
Po utworzeniu wdrożenia wykonaj następujące kroki, aby z niego skorzystać:
- Wybierz pozycję Modele i punkty końcowe w sekcji Moje zasoby w projekcie Foundry.
- Wybierz wdrożenie na karcie Wdrożenia modelu .
- Przejdź do karty Test , aby uzyskać przykładowe wnioskowanie do punktu końcowego.
- Wróć do karty Szczegóły , aby skopiować identyfikator URI wdrożenia, którego można użyć do uruchamiania wnioskowania z kodem.
- Przejdź do karty Użycie wdrożenia, aby znaleźć przykłady kodu do użycia.
- Skopiuj identyfikator modelu ze strony szczegółów wybranego modelu. Wygląda na to dla wybranego modelu:
azureml://registries/azureml/models/deepset-roberta-base-squad2/versions/17.
Wdrażanie modelu
Zainstaluj zestaw SDK usługi Azure Machine Learning.
pip install azure-ai-ml pip install azure-identityUwierzytelnianie za pomocą usługi Azure Machine Learning i tworzenie obiektu klienta. Zastąp symbole zastępcze identyfikatorem subskrypcji, nazwą grupy zasobów i nazwą 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", )Utwórz punkt końcowy. W przypadku opcji wdrażania zarządzanego środowiska obliczeniowego należy utworzyć punkt końcowy przed wdrożeniem modelu. Punkt końcowy można traktować jako kontener, który może pomieścić wiele wdrożeń modelu. Nazwy punktów końcowych muszą być unikatowe w regionie, więc w tym przykładzie użyj znacznika czasu, aby utworzyć unikatową nazwę punktu końcowego.
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()Utwórz wdrożenie. Zastąp identyfikator modelu w następnym kodzie identyfikatorem modelu skopiowaną ze strony szczegółów modelu wybranego w sekcji Znajdź model w katalogu modeli .
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()
Wnioskowanie wdrożenia
Do testowania wnioskowania potrzebne są przykładowe dane JSON. Utwórz
sample_score.jsonprzy użyciu poniższego przykładu.{ "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." ] } }Wnioskowanie z
sample_score.json. Zmień lokalizację pliku oceniania w następnym kodzie na podstawie miejsca zapisania przykładowego pliku 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))
Konfigurowanie skalowania automatycznego
Aby skonfigurować skalowanie automatyczne dla wdrożeń, wykonaj następujące kroki:
- Zaloguj się do witryny Azure Portal.
- Znajdź typ
Machine learning online deploymentzasobu platformy Azure dla właśnie wdrożonego modelu w grupie zasobów projektu sztucznej inteligencji. - Wybierz pozycję Ustawienia>Skalowanie w okienku po lewej stronie.
- Wybierz pozycję Niestandardowe skalowanie automatyczne i skonfiguruj ustawienia automatycznego skalowania. Aby uzyskać więcej informacji na temat skalowania automatycznego, zobacz Autoskalowanie punktów końcowych online w dokumentacji usługi Azure Machine Learning.
Usuń wdrożenie
Aby usunąć wdrożenia w portalu Foundry, wybierz pozycję Usuń wdrożenie w górnym panelu strony szczegółów wdrożenia.
Zagadnienia dotyczące limitu przydziału
Aby wdrożyć i przeprowadzić wnioskowanie za pomocą punktów końcowych czasu rzeczywistego, należy użyć limitu przydziału rdzeni maszyny wirtualnej, który platforma Azure przypisuje do subskrypcji dla poszczególnych regionów. Po zarejestrowaniu się w usłudze Foundry otrzymasz domyślny limit przydziału maszyn wirtualnych dla kilku rodzin maszyn wirtualnych dostępnych w regionie. Możesz nadal tworzyć wdrożenia, dopóki nie osiągniesz limitu przydziału. Gdy tak się stanie, możesz zażądać zwiększenia limitu przydziału.