Переход на Обслуживание моделей
В этой статье показано, как включить обслуживание моделей в рабочей области и переключить модели на службу модели Мозаичного ИИ, созданную на бессерверных вычислениях.
Требования
- Зарегистрированная модель в реестре моделей MLflow.
- Разрешения на зарегистрированные модели, как описано в руководстве по управлению доступом.
- Включите бессерверные вычисления в рабочей области.
Значительные изменения
- В службе "Модель" формат запроса к конечной точке и ответ от конечной точки немного отличается от устаревшей модели MLflow. Дополнительные сведения о новом протоколе форматирования см. в статье об оценке конечной точки модели.
- В службе "Служба моделей" URL-адрес конечной точки включается
serving-endpoints
вместоmodel
. - Служба моделей включает полную поддержку управления ресурсами с помощью рабочих процессов API.
- Служба моделей готова к работе и поддерживается соглашением об уровне обслуживания Azure Databricks.
Перенос устаревших моделей MLflow Service в модель обслуживания моделей
Вы можете создать конечную точку обслуживания моделей и гибко перейти к рабочим процессам, не отключая устаревшую модель MLflow.
Далее показано, как это сделать с помощью пользовательского интерфейса. Для каждой модели, в которой включена устаревшая модель MLflow:
- Зарегистрируйте модель в каталоге Unity.
- Перейдите к конечным точкам обслуживания на боковой панели рабочей области машинного обучения.
- Выполните рабочий процесс, описанный в статье "Создание пользовательских конечных точек обслуживания модели", чтобы создать конечную точку обслуживания с помощью модели.
- Переведите приложение для использования нового URL-адреса, предоставленного конечной точкой обслуживания, для запроса модели вместе с новым форматом оценки.
- При переходе на модели можно перейти к моделям на боковой панели рабочей области машинного обучения.
- Выберите модель, для которой требуется отключить устаревший режим обслуживания моделей MLflow.
- На вкладке Обслуживание выберите Остановить.
- Появится сообщение для подтверждения. Выберите «Остановить обслуживание».
Перенос развернутых версий модели в модель обслуживания
В предыдущих версиях функциональных возможностей службы модели конечная точка обслуживания была создана на основе этапа зарегистрированной версии модели: Staging
или Production
. Чтобы перенести обслуживаемые модели из этого интерфейса, вы можете реплицировать это поведение в новом интерфейсе обслуживания моделей.
В этом разделе показано, как создать отдельные конечные точки обслуживания моделей для Staging
версий моделей и Production
версий модели. Ниже показано, как это сделать с помощью API конечных точек обслуживания для каждой из обслуживаемых моделей.
В примере имя modelA
зарегистрированной модели имеет версию 1 на этапе Production
модели и версии 2 на этапе Staging
модели.
Создайте две конечные точки для зарегистрированной модели, одну для
Staging
версий модели и другую дляProduction
версий модели.Для
Staging
версий модели:POST /api/2.0/serving-endpoints { "name":"modelA-Staging" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // Staging Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Для
Production
версий модели:POST /api/2.0/serving-endpoints { "name":"modelA-Production" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"1", // Production Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Проверьте состояние конечных точек.
Для промежуточной конечной точки:
GET /api/2.0/serving-endpoints/modelA-Staging
Для рабочей конечной точки:
GET /api/2.0/serving-endpoints/modelA-Production
После готовности конечных точек запросите конечную точку с помощью:
Для промежуточной конечной точки:
POST /serving-endpoints/modelA-Staging/invocations
Для рабочей конечной точки:
POST /serving-endpoints/modelA-Production/invocations
Обновите конечную точку на основе изменений версий модели.
В сценарии, когда создаётся новая версия модели 3, версия модели 2 может перейти на
Production
, а версия модели 3 - наStaging
, в то время как версия модели 1 остаётся наArchived
. Эти изменения можно отразить в отдельных конечных точках обслуживания модели следующим образом:Для конечной точки
Staging
обновите конечную точку, чтобы использовать новую версию модели вStaging
.PUT /api/2.0/serving-endpoints/modelA-Staging/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"3", // New Staging model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Для конечной точки
Production
обновите конечную точку, чтобы использовать новую версию модели вProduction
.PUT /api/2.0/serving-endpoints/modelA-Production/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // New Production model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Перенос рабочих процессов вывода MosaicML в модель обслуживания
В этом разделе содержатся инструкции по переносу развертываний вывода MosaicML в Службу моделей ИИ Мозаики и включают пример записной книжки.
В следующей таблице приводится сводка по четности между выводом MosaicML и моделью, обслуживаемой в Azure Databricks.
Вывод MosaicML | Мозаичная модель ИИ |
---|---|
create_inference_deployment | Создание конечной точки обслуживания модели |
update_inference_deployment | Обновление конечной точки обслуживания модели |
delete_inference_deployment | Удаление конечной точки обслуживания модели |
get_inference_deployment | Получение состояния конечной точки обслуживания модели |
В следующей записной книжке приведен пример миграции llama-13b
модели из MosaicML в Службу модели ИИ Мозаики.