Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Каталог моделей портала Azure AI Foundry предлагает более 1600 моделей, и наиболее распространенный способ развертывания этих моделей — использовать вариант управляемого вычислительного развертывания, который также иногда называется управляемым развертыванием в сети.
Развертывание крупной языковой модели (LLM) делает его доступным для использования на веб-сайте, в приложении или другой рабочей среде. Развертывание обычно включает размещение модели на сервере или в облаке и создание API или другого интерфейса для взаимодействия с моделью. Вы можете запустить развертывание для инференции в режиме реального времени генеративных приложений ИИ, таких как чат и Copilot.
Из этой статьи вы узнаете, как развертывать модели с помощью пакета SDK Машинное обучение Azure. В этой статье также описывается, как выполнять вывод по развернутой модели.
Получение идентификатора модели
Вы можете развернуть управляемые вычислительные модели с помощью пакета SDK для Машинное обучение Azure, но сначала рассмотрим каталог моделей и получите идентификатор модели, необходимый для развертывания.
Войдите в Azure AI Foundry и перейдите на домашнюю страницу.
Выберите каталог моделей на левой боковой панели.
В фильтре параметров развертывания выберите управляемые вычисления.
Выберите модель.
Скопируйте идентификатор модели на странице сведений выбранной модели. Выглядит примерно так:
azureml://registries/azureml/models/deepset-roberta-base-squad2/versions/16
Развертывание модели
Установите пакет SDK машинного обучения Azure.
pip install azure-ai-ml pip install azure-identity
Проверка подлинности с помощью Машинного обучения Azure и создание клиентского объекта. Замените заполнители идентификатором подписки, именем группы ресурсов и именем проекта Azure AI Foundry.
from azure.ai.ml import MLClient from azure.identity import InteractiveBrowserCredential workspace_ml_client = MLClient( credential=InteractiveBrowserCredential, subscription_id="your subscription name goes here", resource_group_name="your resource group name goes here", workspace_name="your project name goes here", )
Создайте конечную точку. Для параметра развертывания управляемых вычислений необходимо создать конечную точку перед развертыванием модели. Думайте о конечной точке как о контейнере, который может содержать несколько развертываний моделей. Имена конечных точек должны быть уникальными в регионе, поэтому в этом примере используйте метку времени для создания уникального имени конечной точки.
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()
Создайте развертывание. Замените идентификатор модели в следующем коде идентификатором модели, скопированным на странице сведений модели, выбранной в разделе "Получение идентификатора модели ".
model_name = "azureml://registries/azureml/models/deepset-roberta-base-squad2/versions/16" 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()
Анализ развертывания
Для тестирования вывода требуется пример данных JSON. Создайте
sample_score.json
с помощью следующего примера.{ "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." ] } }
Инференция с
sample_score.json
. Измените расположение файла расчёта в следующем фрагменте кода в соответствии с местом, где вы сохранили свой образец файла 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))
Настройка автомасштабирования
Чтобы настроить автомасштабирование для развертываний, перейдите на портал Azure, найдите ресурс Azure, типизированный Machine learning online deployment
в группе ресурсов проекта ИИ, и используйте меню масштабирования в разделе "Параметры". Дополнительные сведения об автомасштабировании см. в статье "Автомасштабирование сетевых конечных точек" в документации по Машинное обучение Azure.
Удаление конечной точки развертывания
Чтобы удалить развертывания на портале Azure AI Foundry, нажмите кнопку "Удалить " на верхней панели страницы сведений о развертывании.
Рекомендации по квотам
Для развертывания и выполнения вывода информации с использованием конечных точек в режиме реального времени вы потребляете квоту ядер виртуальной машины, назначенную вашей подписке в каждом регионе. При регистрации в Azure AI Foundry вы получаете квоту виртуальной машины по умолчанию для нескольких семейств виртуальных машин, доступных в регионе. Вы можете продолжать создавать развертывания, пока не достигнете предела квоты. После этого можно запросить увеличение квоты.
Связанный контент
- Дополнительные сведения о том, что можно сделать в Azure AI Foundry
- Получите ответы на часто задаваемые вопросы в статье Azure AI FAQ