Как SmartNews преобразует рекламные рекомендации в режиме реального времени с помощью Milvus

< 10 мс
Задержка P99 для получения данных в режиме реального времени
100+ миллионов
Ежедневное обновление векторов без снижения производительности
Увеличение доходов
Подача более релевантных объявлений привела к повышению коэффициента кликов.
We've gained so much from the Milvus community that we decided to contribute features like "hot reload," which have also benefited our internal operations.
Dennis Zhao
О SmartNews
SmartNews, штаб-квартира которого находится в Токио, Япония, является доминирующей силой в секторе новостных приложений с момента своего основания в 2012 году. В США ее особенно отмечают за высокую вовлеченность пользователей. Деннис Чжао, руководитель AI-инфраструктуры SmartNews, рассказывает: "По состоянию на июль 2021 года SmartNews имел самую высокую среднемесячную вовлеченность пользователей среди всех новостных приложений, даже превосходя совокупные показатели AppleNews и Google News". Такой высокий уровень вовлеченности пользователей, естественно, привел к увеличению возможностей для размещения рекламы. Однако это также создавало проблемы с обеспечением того, чтобы объявления попадали к нужным пользователям в нужное время.
Технические трудности алгоритмов рекомендаций рекламы
Занимая лидирующие позиции по вовлеченности пользователей, SmartNews столкнулся с уникальной проблемой: оптимизацией рекламных рекомендаций для высоко вовлеченной пользовательской базы. Шу, инженер по инфраструктуре искусственного интеллекта в SmartNews, подробно рассказывает об этих проблемах: "Мы боролись с высокоразмерными разреженными характеристиками и необходимостью быстрого поиска неструктурированных данных в наших крупномасштабных системах машинного обучения".
Эти проблемы были не просто теоретическими - они имели реальные последствия. Высокоразмерные разреженные характеристики означали, что традиционные решения баз данных неэффективны для хранения и запроса данных. Неструктурированные данные затрудняли быстрый и точный поиск - критическое требование для рекламных рекомендаций в реальном времени.
Прежде чем обратиться к Milvus, команда использовала Faiss, библиотеку для поиска сходства и кластеризации плотных векторов. Однако Faiss имела ряд ограничений. "Она была громоздкой в обслуживании и плохо масштабировалась с нашими растущими приложениями машинного обучения", - добавляет Шу. Эти ограничения заставили команду искать другие решения, которые могли бы обеспечить необходимую масштабируемость и производительность, что в итоге привело их к Milvus.
Технические решения: От векторного поиска до вклада в сообщество
Когда SmartNews осознал ограниченность существующих решений, команда обратилась к Milvus за его возможностями по работе с крупномасштабными векторными данными и поиску сходства. "После двух месяцев тщательных исследований Milvus стал явным победителем, - говорит Шу. Способность Milvus обрабатывать запросы с высокой пропускной способностью и низкой задержкой стала решающим фактором. "Он удовлетворял нашим строгим требованиям: задержка P99 < 10 мс, что очень важно для нашей системы рекомендаций рекламы в реальном времени "**.
Возможности Milvus по поиску векторного сходства были первоначально применены для оптимизации динамического запоминания векторов объявлений в SmartNews. "Milvus позволил нам преобразовать несравнимые типы данных в векторы, обеспечив тем самым эффективный поиск по сходству, чтобы связать пользователей с наиболее релевантными объявлениями", - объясняет Шу. Эта возможность поиска по сходству была очень важна для SmartNews, поскольку платформе требовалось просеивать миллионы векторов для создания рекламных рекомендаций в режиме реального времени.
Помимо рекомендаций по рекламе, Milvus оказался достаточно универсальным для других приложений машинного обучения. "Мы расширили его использование, чтобы в режиме реального времени обновлять данные и индексы, что было крайне важно для поддержания актуальности наших моделей рекомендаций", - добавляет Шу.
SmartNews также осознал ценность разработки, ориентированной на сообщество. Мы так много почерпнули от сообщества Milvus, что решили внести свой вклад в развитие таких функций, как "горячая перезагрузка", которая оказалась полезной и для наших внутренних операций, - говорит Деннис Чжао, руководитель инфраструктуры ИИ в SmartNews. Эта функция позволяет разработчикам изменять код на лету, значительно ускоряя цикл разработки".
Бизнес-результаты: Достижение масштабируемости и подготовка к будущему
Внедрение Milvus было не просто техническим обновлением, оно имело значительные последствия для бизнеса. Юсуп, другой инженер SmartNews, рассказывает об одной из первоначальных проблем: "Первоначальный механизм обновления векторов был громоздким и отнимал много времени. Однако функция Milvus "сглаживание коллекции" позволила нам осуществлять более плавные переходы между старыми и новыми наборами данных, оптимизируя процесс обновления".
Это техническое усовершенствование привело к бизнес-результатам. Оптимизированная система рекомендаций по рекламе привела к тому, что рекламные объявления стали более релевантными, что увеличило количество кликов и, в конечном счете, повысило доход от рекламы. Кроме того, обновление данных и индексов в режиме реального времени позволило SmartNews быстро адаптироваться к изменениям в поведении пользователей, поддерживая постоянную актуальность рекомендаций платформы.
SmartNews готовится к следующему этапу своей технологической эволюции. "С выходом Milvus 2.0 мы планируем переход на новую версию", - говорит Деннис Чжао. "Новая версия обещает еще более высокую производительность и масштабируемость, и мы с нетерпением ждем возможности использовать эти функции для создания еще более надежных систем, работающих в режиме реального времени".