"Машинное обучение"

Несколько способов обслуживания моделей машинного обучения (модель как услуга)

Использование модели как услуги (MaaS) на облачных платформах

Независимо от того, насколько хорошо вы построите модель, никто об этом не узнает, если вы не можете ее отправить. Однако многие специалисты по данным хотят сосредоточиться на построении моделей и пропустить остальное, например, прием данных и обслуживание моделей. DevOps для специалистов по данным очень важен. Есть несколько способов предоставить вашу модель, которая будет служить API для последующей производственной группы.

Передайте двоичный файл своему товарищу по команде

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

Относитесь к нему как к обычному приложению

Если модель построена на Python или Java, вы можете рассмотреть возможность использования как можно более простой структуры для обертывания вашей модели как службы API.

Долгосрочный

Для Python flask - это одна из простых веб-фреймворков, и вы можете создать API за 10 минут, если вы с ним знакомы. Django - еще один мощный веб-фреймворк. В нем есть еще одна замечательная функция, но она может вам не понравиться, если вы хотите настроить только простой веб-сервер.

Spring и Tomcat - варианты для Java. На этих двух языках программирования существует множество веб-фреймворков, просто выберите тот, который вам знаком.

Временный

Если вы просто хотите настроить временный API, вы можете развернуть его в Jupyter notebook. Вы можете использовать фреймворк flask, tornado или REST для создания API.

Рассматривайте его как приложение для машинного обучения

Вместо того, чтобы рассматривать его как обычное приложение, вы можете использовать кубернеты для развертывания. И Azure, и GCP (Google Cloud Platform) также предоставляют услугу Kubernetes для развертывания.

Помимо кубернетов, Azure предлагает простой способ обслуживания моделей. Аутентификация API (Application Programming Interface), REST API и другие инженерные задачи выполняются Azure, в то время как специалистам по данным нужно сосредоточиться только на обработке ввода данных и части прогнозирования модели.

Служба машинного обучения и Служба Azure Kubernetes (AKS) помогают снизить нагрузку на развертывание.

  • Служба машинного обучения: выполнение задач перед развертыванием, включая хранение моделей и хранилище образов докеров.
  • Служба Azure Kubernetes: предоставление службы проверки подлинности, развертывания и мониторинга API.

С другой стороны, GCP предлагает два способа развертывания. Механизм машинного обучения обеспечивает простой способ развертывания модели машинного обучения, такой как API. Однако недостатком является ограничение ресурсов, таких как размер процессора и размер модели. Вы можете посетить эту страницу для получения дополнительной информации. Второй способ - желать большего инженерного мастерства, в то время как вы получаете больше контроля.

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

  • Облачное хранилище: храните файлы вашей модели
  • Реестр контейнеров: храните образ докера, который включает исходный код (для обработки данных и прогнозирования модели) и файлы модели.
  • Kubernetes Engine: управление развертыванием и мониторингом

Любите учиться?

Я специалист по анализу данных в районе залива. Сосредоточение внимания на новейших достижениях науки о данных, искусственного интеллекта, особенно в области НЛП и связанных с ними платформ. Не стесняйтесь связываться со мной в LinkedIn или Github.

Чтение расширений

Ссылка