Ключевые моменты использования темного запуска для моделей машинного обучения

В 2017 году Google рассказывал о методе определения готовности новой службы к трафику, который команда ожидает, но не хочет, чтобы реальные пользователи пострадали, если у новой службы могут возникнуть потенциальные проблемы. Его цель заключалась в том, чтобы определить проблемные области до того, как сервис действительно заработает. Техника получила название Темный запуск ».

Темный запуск в машинном обучении

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

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

Ключевые моменты

Инфраструктура

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

Услуги

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

Соображения по развертыванию

Само проведение анализа может потребовать дополнительных изменений системы, если команда желает обрабатывать и проверять потоки данных в режиме реального времени. Для зрелой группы специалистов по науке о данных, где система развертывания машинного обучения выполняет несколько развертываний моделей в день, ручное пакетное тестирование может быть нереалистичным. Может потребоваться новая служба для проверки того, что прогнозы соответствуют ожидаемым границам, диапазонам отказов и частоте отказов, которые можно настроить в зависимости от ожиданий от среды исследования / песочницы.

Мобильный

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

Данные

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

Собираюсь жить

Теоретически, после того, как вы запустили 100% своего трафика на новую модель, сделать ее «живой» почти тривиально. В момент разделения трафика на исходную и новую модели клиенты начнут получать ответ от новой модели вместо старой. Команда может отключить мониторинг исходной модели, выключить его, освободить вычислительные ресурсы и удалить ее из репозитория исходного кода. Каждая модель / услуга, запущенная в производство, - это налог на поддержку и надежность, деньги и сокращение количества моделей за счет удаления модели не менее важно, чем добавление новой модели.

Заинтересованы в изучении науки о данных?



Подпишитесь на нашу новостную рассылку Acing AI, если вам интересно: