Как инженер по машинному обучению, я знаю, что развертывание модели является ключевым элементом MLOps (операций машинного обучения). Существует множество способов развернуть модель машинного обучения, и две основные категории — это развертывание в облаке и на периферии.
Размещение в облаке является наиболее популярным выбором, но его можно разделить на подкатегории: развертывание API, бессерверное развертывание и пакетная обработка.
Размещение API предполагает развертывание модели в виде API, к которому можно обращаться с помощью простой команды. Такой подход популярен благодаря простоте реализации, масштабируемости и централизованному управлению. Однако он может быть дорогим и иметь проблемы с задержкой.
Бессерверное развертывание, с другой стороны, предполагает запуск модели без владения или выделения серверов, что является экономичным решением для приложений с низким трафиком.
Пакетная обработка — это еще один вариант развертывания в облаке, который подходит для задач, не требующих результатов в реальном времени, и может быть более экономичным.
Размещение на периферии, которое подразумевает развертывание моделей на устройствах, таких как смартфоны, часто упускается из виду, но может быть жизнеспособным вариантом для приложений, требующих обработки в реальном времени, конфиденциальности и низких затрат на инфраструктуру. Размещение на периферии можно разделить на собственные телефонные приложения, веб-приложения и периферийные серверы, каждый из которых имеет свои характеристики.
Развертывание собственных приложений имеет ряд преимуществ, включая нулевую стоимость инфраструктуры, улучшенную конфиденциальность и прямую интеграцию с приложением, но может иметь ограничения, такие как ограниченные ресурсы телефона и фрагментация устройств.
В конечном счете, выбор между развертыванием в облаке и на периферии зависит от конкретных требований проекта.
towardsdatascience.com
How to Choose the Best ML Deployment Strategy: Cloud vs. Edge
