Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется только к:Портал Foundry (классический). Эта статья недоступна для нового портала Foundry.
Дополнительные сведения о новом портале.
Примечание
Содержание в новой документации Microsoft Foundry может открываться по ссылкам в этой статье вместо документации Foundry (классической версии), которую вы просматриваете сейчас.
Каталог моделей портала Microsoft Foundry предлагает более 1600 моделей, которые можно развернуть с помощью управляемых вычислений (также называемых управляемым онлайн-развертыванием) для вывода в режиме реального времени в производственных средах. С помощью управляемых развертываний вычислительных ресурсов можно получить масштабируемую инфраструктуру, готовую к рабочей среде для больших языковых моделей.
Из этой статьи вы узнаете, как развертывать модели с помощью параметра развертывания управляемых вычислений и выполнять вывод по развернутой модели.
Необходимые условия
Подписка Azure с допустимым методом оплаты. Бесплатные или пробные Azure подписки не работают. Если у вас нет подписки Azure, создайте платную учетную запись Azure.
Если у вас нет одного, создайте проект на основе концентратора. Дополнительные сведения см. в разделе "Создание проекта".
Foundry Модели от партнеров и сообщества требуют доступа к Azure Marketplace, а Foundry модели, продаваемые напрямую Azure, не имеют этого требования. Убедитесь, что ваша подписка Azure имеет разрешения, необходимые для подписки на предложения моделей в Azure Marketplace. Дополнительные сведения см. в разделе Включение покупок в Azure Marketplace.
Контроли управления доступом на основе ролей в Azure (Azure RBAC) предоставляют доступ к операциям на портале Foundry. Чтобы выполнить действия, описанные в этой статье, вашей учетной записи пользователя должна быть назначена роль Azure разработчика ИИ в группе ресурсов. Дополнительные сведения см. в разделе "Управление доступом на основе ролей" на портале Foundry.
Квота виртуальной машины в подписке Azure для специальных SKU виртуальной машины, необходимых для выполнения вашей модели. Каждое развертывание потребляет квоту на ядра виртуальных машин по регионам. Дополнительные сведения см. в разделе "Соображения по квотам", включая требования к квотам и способы подачи запросов на увеличение.
Для развертываний с пакетом SDK Python: Python 3.8 или более поздней версии, включая пакет SDK Машинное обучение Azure (
azure-ai-ml) и библиотеку удостоверений Azure (azure-identity).
Поиск модели в каталоге моделей
- Войдите в Microsoft Foundry. Убедитесь, что переключатель New Foundry отключен. Эти действия относятся к
Foundry (classic) . - Если вы еще не находитесь в проекте, выберите его.
- Выберите каталог моделей в левой области.
В фильтре параметров развертывания выберите управляемые вычисления.
Совет
Так как вы можете настроить левую панель на портале Microsoft Foundry, вы можете увидеть элементы, которые могут отличаться от тех, что показаны в этих шагах. Если вы не видите, что вы ищете, выберите ... Подробнее в нижней части левой панели.
Выберите модель, чтобы открыть ее карточку модели. В этой статье используется модель
Phi-4.
Развертывание модели
На странице модели выберите "Использовать эту модель". Это действие открывает окно развертывания, если выбранная модель может быть развернута только в управляемом вычислительном ресурсе.
Кроме того, если вы выбрали модель, которая также поддерживает другой вариант развертывания, вы попадёте в окно "Параметры покупки". Выберите параметр приобретения управляемой вычислительной мощности для открытия окна развертывания.
- Установите флажок в окне развертывания, чтобы использовать временную общую квоту. Для развертывания на самостоятельно размещенном управляемом вычислительном ресурсe необходимо иметь достаточную квоту в подписке. Если у вас нет достаточной квоты, вы можете использовать доступ к временной квоте, выбрав параметр, который я хочу использовать общую квоту, и я признаю, что эта конечная точка будет удалена в 168 часов.
Окно развертывания предварительно заполнено некоторыми значениями выбора и параметров. Их можно сохранить или изменить по мере необходимости. Можно также выбрать существующую конечную точку для развертывания или создать новую. В этом примере укажите количество экземпляров
1и создайте новую конечную точку для развертывания.Выберите Развертывание, чтобы создать развертывание. Процесс создания может занять несколько минут. По завершении портал открывает страницу развертывания модели.
Совет
Чтобы просмотреть конечные точки, развернутые в проекте, перейдите в раздел «Мои ресурсы» в левой области и выберите «Модели + конечные точки».
Убедитесь, что развертывание выполнено успешно. На странице сведений о развертывании убедитесь, что состояние подготовки отображается успешно , а состояние развертывания — "Работоспособно". Если вы видите какие-либо ошибки, обратитесь к разделу "Устранение неполадок ".
Созданная конечная точка использует проверку подлинности ключа для авторизации. Чтобы получить ключи, связанные с данной конечной точкой, выполните следующие действия.
- Выберите развертывание и запишите URI целевой конечной точки и ключ.
- Используйте эти учетные данные для вызова развертывания и создания прогнозов.
Целевой универсальный код ресурса (URI) соответствует этому формату:
https://<endpoint-name>.<region>.inference.ml.azure.com/score
Потребление развертываний
После создания развертывания выполните следующие действия, чтобы использовать его:
- Выберите модели и конечные точки в разделе "Мои ресурсы " в проекте Foundry.
- Выберите развертывание на вкладке "Развертывания модели ".
- Перейдите на вкладку "Тест" для примера вывода в конечную точку.
- Вернитесь на вкладку "Сведения ", чтобы скопировать целевой URI развертывания, который можно использовать для выполнения вывода с кодом.
- Перейдите на вкладку "Использование " развертывания, чтобы найти примеры кода для потребления.
- Скопируйте идентификатор модели на странице сведений выбранной модели. Выглядит так для выбранной модели:
azureml://registries/azureml/models/Phi-4/versions/8
Развертывание модели
Установите пакет SDK Машинное обучение Azure.
pip install azure-ai-ml pip install azure-identityПроверка подлинности с помощью Машинное обучение Azure и создание клиентского объекта. Замените заполнители идентификатором подписки, именем группы ресурсов и именем проекта 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", )Этот код проходит аутентификацию в Azure с использованием учетных данных интерактивного браузера и создает клиент для взаимодействия с вашим проектом Foundry. При запуске этого кода откроется окно браузера для проверки подлинности.
Справочник:MLClient, InteractiveBrowserCredential
Создайте конечную точку. Для параметра развертывания управляемых вычислений необходимо создать конечную точку перед развертыванием модели. Думайте о конечной точке как контейнере, который может размещать несколько развертываний моделей. Имена конечных точек должны быть уникальными в регионе, поэтому в этом примере используйте метку времени для создания уникального имени конечной точки.
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()Этот код создает управляемую конечную точку в сети с проверкой подлинности на основе ключей. Операция обычно занимает 2–3 минуты. По завершении у вас будет URL-адрес конечной точки, в котором можно развернуть модели.
Ссылка:ManagedOnlineEndpoint, online_endpoints.begin_create_or_update
Создайте развертывание. Замените идентификатор модели в следующем коде идентификатором модели, скопированным на странице сведений модели, выбранной в разделе "Поиск модели" в разделе каталога моделей .
model_name = "azureml://registries/azureml/models/Phi-4/versions/8" 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()Этот код развертывает модель на ваш конечный узел с двумя экземплярами виртуальных машин Standard_DS3_v2. Развертывание включает проверки активности и готовности для контроля работоспособности. Установлено распределение трафика на уровне 100% для этого развертывания. Операция занимает несколько минут. По завершении модель готова принять запросы вывода.
Справочник:ManagedOnlineDeployment, ProbeSettings, online_deployments.begin_create_or_update
Выполнение вывода в развертывании
Для тестирования вывода требуется пример данных 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-файла.import 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))Этот код отправляет примеры вопросов и контекста в развернутую модель и выводит ответы. Модель выполняет ответы на вопросы, извлекая соответствующий текст из предоставленного контекста. Ожидаемые выходные данные включают текст ответа и оценки достоверности для каждого вопроса.
Reference:online_endpoints.invoke
Настройка автомасштабирования
Чтобы настроить автомасштабирование для развертываний, выполните следующие действия.
- Войдите на портал Azure.
- Найдите тип ресурса Azure
Machine learning online deploymentдля модели, развернутой в группе ресурсов проекта ИИ. - Выберите "Параметры>масштабирования" в левой области.
- Выберите настраиваемое автомасштабирование и настройте его параметры. Дополнительные сведения об автомасштабировании см. в Autoscale online endpoints документации по Машинное обучение Azure.
Удалите развертывание
Чтобы удалить развертывания на портале Foundry, выберите "Удалить развертывание " на верхней панели страницы сведений о развертывании.
Рекомендации по квотам
Для развертывания и выполнения инференса с конечными точками в режиме реального времени используется квота ядер виртуальных машин, которую Azure назначает вашей подписке для каждого региона. При регистрации в Foundry вы получаете квоту виртуальной машины по умолчанию для нескольких семейств виртуальных машин, доступных в регионе. Вы можете продолжать создавать развертывания, пока не достигнете предела квоты. После этого можно запросить увеличение квоты.
Устранение неполадок
В этом разделе приводятся решения распространенных проблем, которые могут возникнуть при развертывании моделей с управляемыми вычислительными ресурсами.
Развертывание завершается сбоем из-за превышения квоты
Проблема: При создании развертывания появляется сообщение об ошибке, указывающее на нехватку квоты.
Решение:
- Проверьте текущее использование квоты на портале Azure в параметрах квоты подписки.
- Запросить увеличение квоты на портале Azure для конкретного номера SKU виртуальной машины, который требуется
- Рассмотрите возможность использования другого типа SKU виртуальной машины с доступной квотой
- Подробные инструкции см. в статье Управление и увеличение квот на ресурсы с помощью Машинное обучение Azure
Ошибки проверки подлинности при вызове конечной точки
Проблема: При вызове развернутой конечной точки вы получаете ошибки аутентификации (401 Несанкционированный доступ).
Решение:
- Убедитесь, что вы используете правильный URI конечной точки и ключ проверки подлинности на странице сведений о развертывании
- Убедитесь, что ключ не был повторно создан после его копирования
- Убедитесь, что разрешения RBAC Azure не изменились
- Для вызовов пакета SDK убедитесь, что объект учетных данных правильно инициализирован
Сбои или превышение времени ожидания при управлении ресурсами развертывания
Проблема: Развертывание остается в состоянии подготовки в течение длительного периода или завершается ошибкой времени ожидания.
Решение:
- Проверьте журналы развертывания на портале Foundry для определенных сообщений об ошибках
- Убедитесь, что управляемые сетевые параметры центра разрешают доступ к необходимым ресурсам.
- Убедитесь, что идентификатор модели правильно, и модель по-прежнему доступна в каталоге.
- Попробуйте развернуть с другим номером SKU виртуальной машины или сократить количество экземпляров
Модель возвращает непредвиденные или неправильные ответы
Проблема: Развернутая модель отвечает, но возвращает непредвиденные результаты.
Решение:
- Проверка формата входных данных соответствует ожидаемой схеме модели.
- Проверка документации по карточке модели для спецификаций ввода и вывода
- Тестирование с помощью примера данных, предоставленных в документации модели
- Просмотрите запрос и ответ на вкладке "Тест" на портале Foundry
Дополнительные сведения об устранении неполадок см. в статье "Устранение неполадок с развертыванием веб-конечной точки".
Связанное содержимое
- Узнайте больше о том, что можно делать в Foundry
- Получите ответы на часто задаваемые вопросы в статье с часто задаваемыми вопросами о Azure AI