Поделиться через


Бессерверные оптимизированные развертывания для конечных точек обслуживания моделей

В этой статье описывается, как использовать оптимизированные бессерверные развертывания на конечных точках обслуживания модели. Бессерверные оптимизированные развертывания значительно снижают время развертывания и сохраняют среду обслуживания модели так же, как и среда обучения модели.

Что такое бессерверные оптимизированные развертывания?

Оптимизированные бессерверные развертывания используют преимущества упаковывания и подготовки артефактов модели в средах бессерверных ноутбуков во время регистрации модели, что приводит к ускоренному развертыванию конечных точек и согласованию сред между обучением и обслуживанием.

Это отличается от несерверных оптимизированных развертываний, где артефакты и среды модели упаковываются в контейнеры во время развертывания. В таких случаях среда обслуживания может не совпадать с используемой во время обучения модели.

Требования

Бессерверные оптимизированные конечные точки имеют те же требования, что и конечная точка обслуживания модели (см. раздел "Требования"). Дополнительно:

  • Модель должна быть пользовательской моделью (а не FMAPI)
  • Модель должна быть занесена в журнал и зарегистрирована в бессерверной записной книжке с использованием версии 3 или 4.
  • Модель должна быть зафиксирована и зарегистрирована в mlflow>=3.1
  • Модель должна быть зарегистрирована в UC и обслуживаться при помощи ЦП.
  • Максимальный размер среды модели составляет 1 ГБ

Использование бессерверных оптимизированных развертываний

При ведении журнала и регистрации модели используйте бессерверную записную книжку с клиентом 3 или 4 и mlflow>=3.1.

Чтобы настроить версию клиента бессерверной среды, см. статью "Настройка бессерверной среды".

Затем при регистрации модели задайте env_pack параметр с нужными значениями.

import mlflow
from mlflow.utils.env_pack import EnvPackConfig

mlflow.register_model(
    model_info.model_uri,
    model_name,
    env_pack=EnvPackConfig(name="databricks_model_serving")
)

Добавление в параметр env_pack сделает так, что функция упакует и подготовит артефакты модели и среду 'бессерверная записная книжка' во время регистрации модели, чтобы подготовить их к использованию во время развертывания. Это может занять дополнительное время по сравнению с регистрацией модели без env_pack.

EnvPackConfig имеет параметр install_dependencies (True по умолчанию), определяющий, установлены ли зависимости модели в текущей среде для подтверждения допустимости среды. Если вы хотите пропустить этот шаг, задайте для параметра значение False.

Замечание

Конечные точки в рабочих областях без доступа к Интернету или с зависимостями от пользовательских библиотек могут завершиться ошибкой, если значение install_dependencies установлено на True. В таких случаях задайте значение install_dependenciesFalse.

Вы также можете заменить EnvPackConfig(...) на "databricks_model_serving" в качестве сокращения. Это равносильно EnvPackConfig(name="databricks_model_serving", install_dependencies = True).

После завершения регистрации модели можно развернуть модель в службе модели. Обратите внимание, что время развертывания сокращается, а журналы событий больше не указывают на сборку контейнера.