Netflix TechBlog | Medium на русском
Подписаться
Состояние маршрутизации в Model Serving
Пост в блоге обсуждает технические аспекты того, как инфраструктура обслуживания моделей машинного обучения (ML) Netflix обеспечивает персонализированные trải nghiệm в масштабе различных доменов. Центральная платформа обслуживания моделей ML предоставляет доменно-независимое абстрактное API и возможности маршрутизации трафика для нескольких доменно-специфических микросервисов для вывода моделей. Это единственное API увеличило скорость инноваций для итерации новых версий существующих trải nghiệm ML и включения новых trải nghiệm продуктов с ML.Успех инфраструктуры обслуживания моделей ML зависит от того, чтобы обеспечить исследователям возможность быстро экспериментировать с новыми гипотезами и безопасно выпускать свои модели в производство. Платформа обслуживает сотни типов и версий моделей, обрабатывая 1 миллион запросов в секунду, и работает на уровне рабочих процессов, а не только отдельных функций оценки.Определение модели содержит список фактов, которые необходимо вычислить для вычисления признаков, и оно полагается на платформу обслуживания моделей для предоставления этих фактов во время обслуживания, вызывая несколько других микросервисов. Вызывающие сервисы только cần предоставить стандартный контекст запроса и соответствующий доменный контекст, и модель может сама вычислить признаки и выполнить вывод как часть потока выполнения.Платформа действует как средство быстрой инновации ML и ограничивает воздействие итераций моделей ML на клиентские приложения. Ключевые принципы платформы включают инновации моделей, независимые от клиентских приложений, декуплинг клиентов от шардирования моделей и гибкие правила маршрутизации трафика.Платформа использует пользовательский сервис под названием Switchboard, который служит гибким прокси-слоем для всего трафика, обрабатывая более 1 миллиона запросов в секунду при сохранении высокой доступности и надежности. Switchboard предоставляет единую точку контакта для всех потребностей моделей клиентов и может маршрутизировать запрос на основе богатого набора контекстных признаков.Платформа также вводит понятие "Цель", которое является перечислением, определенным платформой обслуживания, которое каждый запрос в систему должен предоставить. Цель декуплирует клиентов от конкретных моделей и руководит решениями платформы по маршрутизации и выбору моделей.Правила Switchboard - это конфигурация на JavaScript, которая позволяет исследователям присоединять варианты моделей, эксперименты и разделы трафика к Целям без изменения кода клиента. Правила диктуют модель по умолчанию для использования для данной Цели, эксперименты A/B для настройки для набора Целей и настройки для постепенного перенаправления трафика на новую модель.Правила потребляются как Switchboard, так и кластерами обслуживания моделей, и компоненты платформы обслуживания могут выполнять различные действия на основе этих правил. В целом, платформа обеспечивает масштабируемое и гибкое решение для обслуживания моделей ML в Netflix, обеспечивая быструю инновацию и экспериментирование при минимизации воздействия на клиентские приложения.