Платформа модельного сервиса для глубокого обучения

компьютерное зрение
Платформа модельного сервиса для глубокого обучения

1. Обоснование модели, реализация и обслуживание

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

Существует множество способов развернуть модель на земле:

  • Упакованы в SDK и интегрированы в приложения или сервисы;
  • Создать сквозную модель для эффективных рассуждений в условиях сквозной вычислительной мощности;
  • Он инкапсулирован в службу веб-модели, а интерфейс API открыт для внешних вызовов.

Здесь основной разговор идет о сервисизации, если модель напрямую заложена в приложение или сервис, то с этим можно спокойно разобраться, когда количество моделей невелико и масштабы бизнеса невелики, а с увеличением количества моделей и расширение масштаба бизнеса, это вызовет рассуждения модели.Соединение с обработкой бизнес-логики увеличивает стоимость модели в Интернете, а также вызывает конкуренцию за ресурсы. Сервитизация модели может инкапсулировать процесс обоснования модели глубокого обучения в сервисы, отделить логику бизнес-процессов от рассуждения модели, то есть сервитизацию модели. Таким образом, обслуживание моделей — это тема, которая становится все более популярной в последние годы с концепцией микросервисов.Например, Google выпустил соответствующую платформу обслуживания для TensorFlow в 2016 году.TensorFlow Serving, инкапсулировать модель, обученную TensorFlow, в веб-службу, получать сетевые запросы на стороне клиента, выполнять вычисления прямого логического вывода и возвращать результаты логического вывода.

2. Модель сервисной структуры

Ниже в основном обобщены существующие в отрасли превосходные модели сервисных платформ с открытым исходным кодом, а также их преимущества и недостатки, как показано в следующей таблице:

сервисная структура Поддержка фреймворков глубокого обучения девелоперская компания адрес с открытым исходным кодом время с открытым исходным кодом Типы, поддерживающие интерфейсы API веб-вызовов Преимущество недостаток
TensorFlow Serving 1. Встроенная поддержка
2. PyTorch-->onnx-->saved_model
Google GitHub.com/tensorflow/… 2016 gRPC и RESTful 1. Поддержка развертывания докера, поддержка как процессора, так и графического процессора.
2. Поддерживает несколько методов связи API и два типа интерфейса.
3. Простота монтажа, поддержка горячего обновления, продуманная структура и накопленный опыт в отрасли.
1. Поддерживать PyTorch неудобно и громоздко.
2. Невозможно поддерживать модели оптимизации ускорения OpenVino и TensorRT.
OpenVino Model Server Поддерживается большинство фреймворков, если обученную модель можно преобразовать в IR-формат openvino. Интел GitHub.com/open vino тоже… 2019 gRPC и RESTful 1. Идеально адаптируйтесь к решению для ускорения ЦП OpenVino, которое может еще больше повысить производительность ЦП.
2. Гибкая конфигурация, поддержка управления версиями и горячее обновление модели.
3. дружественный k8s, низкий код.
Ускорение развертывания оборудования NVIDIA GPU не поддерживается.
Torch Serve Встроенная поддержка платформы PyTorch. AWS и Фейсбук GitHub.com/py факел/Парус… 2020 gRPC и RESTful 1. Развертывание простое и удобное.
2. Высокая производительность и малый вес.
1. Весь инструмент все еще находится в процессе частого обновления и улучшения, и количество изменений велико.
2. Поддерживает только платформу PyTorch.
Triton Поддерживает несколько фреймворков, TensorFlow, TensorRT, PyTorch, ONNX и даже пользовательские фреймворки. Нвидиа GitHub.com/Triton-inf E… 2018 gRPC и RESTful 1. Высокая производительность логического вывода и поддержка ускоренных моделей TensorRT.
2. Богатая структура поддержки и сильная адаптивность.
3. Поддержка динамического пакетного анализа и развертывания одной модели с несколькими экземплярами.
Развертывание модели OpenVino с ускорением ЦП не поддерживается.
BentoML 1. TensorFlow
2. PyTorch
3. ONNX
BentoML.ai GitHub.com/Бен Том аут/Бен… 2019 RESTful 1. Платформа поддержки богата, гибка и удобна.
2. Контейнерное развертывание удобно.
3. Поддержка адаптивного пакетного мышления.
Фреймворк небольшой, находится в стадии разработки, справочных материалов мало.
Kubeflow 1. TensorFlow
2. PyTorch
Google GitHub.com/crying be flow/crying… 2018 gRPC и RESTful 1. Внутренняя поддержка tf-serving и triton frameworks.
2. Быстрорастущая платформа, созданная для развертывания в контейнерах.
Опыта в отрасли мало.

Reference

  1. zhuanlan.zhihu.com/p/354058294
  2. GitHub.com/58/login_inf…
  3. zhuanlan.zhihu.com/p/146688957