Создание с Milvus: рекомендательная система новостей на базе ИИ в мобильном браузере Xiaomi
От лент социальных сетей до рекомендаций плейлистов в Spotify, искусственный интеллект уже играет важную роль в контенте, который мы видим и с которым взаимодействуем каждый день. Стремясь выделить свой мобильный веб-браузер, многонациональный производитель электроники Xiaomi создал рекомендательный движок новостей на базе ИИ. Milvus, векторная база данных с открытым исходным кодом, созданная специально для поиска по сходству и искусственного интеллекта, использовалась в качестве основной платформы управления данными приложения. В этой статье объясняется, как Xiaomi создала свой рекомендательный движок новостей на базе ИИ и как использовались Milvus и другие алгоритмы ИИ.
Использование ИИ для предложения персонализированного контента и преодоления информационного шума новостей
Поскольку только New York Times публикует более 230 материалов контента каждый день, огромный объем выпускаемых статей делает невозможным для отдельных людей получить всестороннее представление обо всех новостях. Чтобы помочь просеивать большие объемы контента и рекомендовать наиболее релевантные или интересные материалы, мы все чаще обращаемся к ИИ. Хотя рекомендации по-прежнему далеки от совершенства, машинное обучение становится все более необходимым, чтобы пробиться сквозь постоянный поток новой информации, исходящей из нашего все более сложного и взаимосвязанного мира.
Xiaomi производит и инвестирует в смартфоны, мобильные приложения, ноутбуки, бытовую технику и многие другие продукты. Стремясь выделить мобильный браузер, который предустановлен на многих из более чем 40 миллионов смартфонов, продаваемых компанией каждый квартал, Xiaomi встроила в него систему рекомендаций новостей. Когда пользователи запускают мобильный браузер Xiaomi, искусственный интеллект используется для рекомендации похожего контента на основе истории поиска пользователя, интересов и других данных. Milvus — это база данных векторного поиска по сходству с открытым исходным кодом, используемая для ускорения извлечения связанных статей.
Как работает рекомендация контента на базе ИИ?
В своей основе рекомендация новостей (или любой другой тип системы рекомендаций контента) включает сравнение входных данных с массивной базой данных для поиска похожей информации. Успешная рекомендация контента предполагает баланс между релевантностью и своевременностью, а также эффективное включение огромных объемов новых данных — часто в режиме реального времени.
Чтобы работать с массивными наборами данных, рекомендательные системы обычно делятся на два этапа:
- Извлечение: На этапе извлечения контент сужается из более широкой библиотеки на основе интересов и поведения пользователя. В мобильном браузере Xiaomi из массивного набора данных, содержащего миллионы новостных статей, выбираются тысячи материалов.
- Сортировка: Затем контент, выбранный на этапе извлечения, сортируется по определенным показателям перед отправкой пользователю. По мере того как пользователи взаимодействуют с рекомендованным контентом, система адаптируется в режиме реального времени, чтобы предоставлять более релевантные предложения.
Рекомендации новостного контента должны формироваться в режиме реального времени на основе поведения пользователя и недавно опубликованного контента. Кроме того, предлагаемый контент должен максимально соответствовать интересам пользователя и поисковому намерению.
Milvus + BERT = интеллектуальные рекомендации контента
Milvus — это база данных векторного поиска по сходству с открытым исходным кодом, которую можно интегрировать с моделями глубокого обучения для поддержки приложений в области обработки естественного языка, проверки личности и многого другого. Milvus индексирует большие векторные наборы данных, чтобы сделать поиск более эффективным, и поддерживает множество популярных AI-фреймворков, чтобы упростить процесс разработки приложений машинного обучения. Эти характеристики делают платформу идеальной для хранения и запроса векторных данных, критически важного компонента многих приложений машинного обучения.
Xiaomi выбрала Milvus для управления векторными данными своей интеллектуальной системы рекомендаций новостей, поскольку он быстрый, надежный и требует минимальной настройки и обслуживания. Однако Milvus необходимо использовать вместе с AI-алгоритмом, чтобы создавать приложения, готовые к развертыванию. Xiaomi выбрала BERT, сокращение от Bidirectional Encoder Representation Transformers, в качестве модели языкового представления в своем рекомендательном движке. BERT можно использовать как универсальную модель NLU (natural language understanding), способную обеспечивать выполнение ряда различных задач NLP (natural language processing). Его ключевые особенности включают:
- Transformer в BERT используется как основной фреймворк алгоритма и способен фиксировать явные и неявные связи внутри предложений и между ними.
- Цели многозадачного обучения, masked language modeling (MLM) и next sentence prediction (NSP).
- BERT работает лучше при большем объеме данных и может улучшать другие методы обработки естественного языка, такие как Word2Vec, выступая в роли матрицы преобразования.
Milvus, работающий с BERT.
Сетевая архитектура BERT использует многослойную структуру transformer, которая отказывается от традиционных нейронных сетей RNN и CNN. Она работает путем преобразования расстояния между двумя словами в любой позиции в единицу с помощью механизма внимания и решает проблему зависимостей, которая долгое время сохранялась в NLP.
Сетевая архитектура transformer в BERT.
Сетевая структура BERT. ‘Trm’ представляет сетевую архитектуру transformer, изображенную выше.
BERT предоставляет простую и сложную модель. Соответствующие гиперпараметры следующие: BERT BASE: L = 12, H = 768, A = 12, общее число параметров 110M; BERT LARGE: L = 24, H = 1024, A = 16, общее число параметров составляет 340M.
В приведенных выше гиперпараметрах L представляет количество слоев в сети (т. е. количество блоков Transformer), A представляет количество self-Attention в Multi-Head Attention, а размер фильтра равен 4H.
Система рекомендаций контента Xiaomi
Новостная рекомендательная система браузера Xiaomi опирается на три ключевых компонента: векторизацию, сопоставление ID и сервис приблизительного ближайшего соседа (ANN).
Векторизация — это процесс, при котором заголовки статей преобразуются в общие векторы предложений. В рекомендательной системе Xiaomi используется модель SimBert, основанная на BERT. SimBert — это 12-слойная модель со скрытым размером 768. Simbert использует обучающую модель Chinese L-12_H-768_A-12 для непрерывного обучения (задача обучения — “metric learning +UniLM”), и прошла обучение на протяжении 1,17 миллиона шагов на одной TITAN RTX с оптимизатором Adam (скорость обучения 2e-6, размер batch 128). Проще говоря, это оптимизированная модель BERT.
Алгоритмы ANN сравнивают векторизованные заголовки статей со всей библиотекой новостей, хранящейся в Milvus, а затем возвращают пользователям похожий контент. Сопоставление ID используется для получения релевантной информации, такой как просмотры страниц и клики для соответствующих статей.
Как работает рекомендация контента.
Данные, хранящиеся в Milvus и обеспечивающие работу новостного рекомендательного движка Xiaomi, постоянно обновляются, включая дополнительные статьи и информацию об активности. По мере того как система включает новые данные, старые данные должны удаляться. В этой системе полные обновления данных выполняются за первые T-1 дней, а инкрементальные обновления выполняются в последующие T дней.
С заданными интервалами старые данные удаляются, а обработанные данные за дни T-1 вставляются в коллекцию. Здесь вновь сгенерированные данные включаются в реальном времени. После вставки новых данных в Milvus выполняется поиск по сходству. Полученные статьи снова сортируются по показателю кликабельности и другим факторам, и пользователям показывается топовый контент. В таком сценарии, где данные часто обновляются, а результаты должны предоставляться в реальном времени, способность Milvus быстро включать и искать новые данные позволяет значительно ускорить рекомендацию новостного контента в мобильном браузере Xiaomi.
Milvus делает поиск векторного сходства лучше
Векторизация данных и последующий расчет сходства между векторами — наиболее часто используемая технология поиска. Рост числа поисковых систем векторного сходства на основе ANN значительно повысил эффективность вычислений векторного сходства. По сравнению с аналогичными решениями, Milvus предлагает оптимизированное хранение данных, обширные SDK и распределенную версию, которая существенно снижает трудозатраты на создание поискового слоя. Кроме того, активное open-source-сообщество Milvus является мощным ресурсом, который может помочь получить ответы на вопросы и устранить проблемы по мере их возникновения.
Если вы хотите узнать больше о поиске векторного сходства и Milvus, ознакомьтесь со следующими ресурсами:
- Ознакомьтесь с Milvus на Github.
- Поиск векторного сходства скрывается на виду
- Ускорение поиска сходства на действительно больших данных с помощью векторного индексирования
Читайте другие истории пользователей, чтобы узнать больше о создании решений с Milvus.
Читать далее

Will Amazon S3 Vectors Kill Vector Databases—or Save Them?
AWS S3 Vectors aims for 90% cost savings for vector storage. But will it kill vectordbs like Milvus? A deep dive into costs, limits, and the future of tiered storage.

Balancing Precision and Performance: How Zilliz Cloud's New Parameters Help You Optimize Vector Search
Optimize vector search with Zilliz Cloud’s level and recall features to tune accuracy, balance performance, and power AI applications.

How to Use Anthropic MCP Server with Milvus
MCP + Milvus: Streamline AI agent development with standardized data access, eliminating integration hassles while enhancing context and flexibility.



