1. Обоснование модели, реализация и обслуживание
Обоснование модели — это прямое вычислительное обоснование глубоких нейронных сетей.Инженеры-алгоритмы, наконец, обучили очень хорошую модель после неисчислимой тяжелой работы, но для фактического применения этой модели еще предстоит проделать большую работу.Это то, что мы часто инженерно-десантное развертывание. Есть много вещей, которые необходимо учитывать при развертывании лендинга, например, извлечение и трансплантация файлов модели, сжатие модели, ускорение модели и т. д.
Существует множество способов развернуть модель на земле:
- Упакованы в SDK и интегрированы в приложения или сервисы;
- Создать сквозную модель для эффективных рассуждений в условиях сквозной вычислительной мощности;
- Он инкапсулирован в службу веб-модели, а интерфейс API открыт для внешних вызовов.
Здесь основной разговор идет о сервисизации, если модель напрямую заложена в приложение или сервис, то с этим можно спокойно разобраться, когда количество моделей невелико и масштабы бизнеса невелики, а с увеличением количества моделей и расширение масштаба бизнеса, это вызовет рассуждения модели.Соединение с обработкой бизнес-логики увеличивает стоимость модели в Интернете, а также вызывает конкуренцию за ресурсы. Сервитизация модели может инкапсулировать процесс обоснования модели глубокого обучения в сервисы, отделить логику бизнес-процессов от рассуждения модели, то есть сервитизацию модели. Таким образом, обслуживание моделей — это тема, которая становится все более популярной в последние годы с концепцией микросервисов.Например, Google выпустил соответствующую платформу обслуживания для TensorFlow в 2016 году.TensorFlow Serving, инкапсулировать модель, обученную TensorFlow, в веб-службу, получать сетевые запросы на стороне клиента, выполнять вычисления прямого логического вывода и возвращать результаты логического вывода.
2. Модель сервисной структуры
Ниже в основном обобщены существующие в отрасли превосходные модели сервисных платформ с открытым исходным кодом, а также их преимущества и недостатки, как показано в следующей таблице:
сервисная структура | Поддержка фреймворков глубокого обучения | девелоперская компания | адрес с открытым исходным кодом | время с открытым исходным кодом | Типы, поддерживающие интерфейсы API веб-вызовов | Преимущество | недостаток |
---|---|---|---|---|---|---|---|
TensorFlow Serving | 1. Встроенная поддержка 2. PyTorch-->onnx-->saved_model |
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 |
GitHub.com/crying be flow/crying… | 2018 | gRPC и RESTful | 1. Внутренняя поддержка tf-serving и triton frameworks. 2. Быстрорастущая платформа, созданная для развертывания в контейнерах. |
Опыта в отрасли мало. |