Обслуживание модели ML в рабочей среде. Tensorflow-обслуживание и автоматическое масштабирование

#kubernetes #architecture #autoscaling #tensorflow-serving

#kubernetes #архитектура #автоматическое масштабирование #обслуживание tensorflow

Вопрос:

Я обслуживал модель ML классификации изображений через HTTP.
Запуск веб-сервера и модели как единого контейнерного блока.
Я не использовал обслуживание tensorflow.
Архитектура такая: обслуживание без обслуживания tensorflow

Наши kubernetes могут автоматически масштабироваться в зависимости от рабочей нагрузки.
Это кажется простым, поскольку мы разрабатываем нашу модель на Python, просто добавьте Flask, и мы готовы к развертыванию.
У нас нет добавленного процесса преобразования модели в .Формат PB, необходимый для обслуживания tensorflow, затем разверните два разных компонента (веб-сервер и контейнер, обслуживающий tensorflow).

Мой вопрос: каковы были бы некоторые преимущества использования tensorflow в картине.
Похоже, что все учебные пособия соответствуют этой архитектуре.
обслуживание с помощью tensorflow-обслуживание

Приношу свои извинения за использование изображений в качестве ссылки, это мой первый пост здесь.
Спасибо.

Комментарии:

1. обслуживание tensorflow само по себе является веб-сервером. Единственная причина, по которой вы должны разместить перед ним дополнительный веб-сервер, заключается в том, что вы хотите обрабатывать какую-то предварительную обработку на стороне сервера, а не заставлять клиента это делать. Но в основном использование подхода со вторым изображением намного эффективнее, поскольку вы передаете данные только один раз. Кроме того, служба TF уже обрабатывает многопоточность, пакетирование, постановку в очередь и т. Д. из коробки. Если вы ставите перед ним приложение Flask, вам также необходимо создать эту функциональность самостоятельно

2. Привет, Карл, спасибо за ваш вклад. Даже при обработке на стороне клиента мне все равно понадобится веб-сервер для обработки таких вещей, как аутентификация и ведение журнала. И если Flask не совсем подходит для производства, мы используем Gunicorn или Uvicorn.

3. Поскольку обслуживание основано на архитектуре микросервисов, обслуживание TensorFlow отделит модели от кода бизнес-логики в веб-службах и упростит версию / обновление / обслуживание моделей, не влияя на ту часть, где реализована бизнес-логика.

4. @krissdap У меня вопрос о веб-сервере, который вы поставили перед сервером TF. Я понимаю, что пользователи должны проходить аутентификацию для доступа к вашему API Flask, но как вы управляете тем фактом, что пользователи могут напрямую обращаться к API TFS, а затем пропускать аутентификацию?