Créer avec Milvus : recommandation d’actualités propulsée par l’IA dans le navigateur mobile de Xiaomi
Des fils d’actualité des réseaux sociaux aux recommandations de playlists sur Spotify, l’intelligence artificielle joue déjà un rôle majeur dans le contenu que nous voyons et avec lequel nous interagissons chaque jour. Afin de différencier son navigateur web mobile, le fabricant multinational d’électronique Xiaomi a construit un moteur de recommandation d’actualités alimenté par l’IA. Milvus, une base de données vectorielle open source conçue spécifiquement pour la recherche par similarité et l’intelligence artificielle, a été utilisé comme plateforme centrale de gestion des données de l’application. Cet article explique comment Xiaomi a construit son moteur de recommandation d’actualités alimenté par l’IA, et comment Milvus et d’autres algorithmes d’IA ont été utilisés.
Utiliser l’IA pour suggérer du contenu personnalisé et faire le tri dans le bruit médiatique
Alors que le New York Times à lui seul publie plus de 230 articles de contenu chaque jour, le volume considérable d’articles produits rend impossible pour les individus d’obtenir une vision exhaustive de toute l’actualité. Pour aider à passer au crible de grands volumes de contenu et recommander les articles les plus pertinents ou les plus intéressants, nous nous tournons de plus en plus vers l’IA. Bien que les recommandations soient encore loin d’être parfaites, le machine learning devient de plus en plus nécessaire pour faire le tri dans le flux constant de nouvelles informations provenant de notre monde de plus en plus complexe et interconnecté.
Xiaomi fabrique et investit dans des smartphones, des applications mobiles, des ordinateurs portables, des appareils électroménagers et de nombreux autres produits. Afin de différencier un navigateur mobile préinstallé sur de nombreux smartphones parmi les plus de 40 millions que l’entreprise vend chaque trimestre, Xiaomi y a intégré un système de recommandation d’actualités. Lorsque les utilisateurs lancent le navigateur mobile de Xiaomi, l’intelligence artificielle est utilisée pour recommander du contenu similaire en fonction de l’historique de recherche des utilisateurs, de leurs centres d’intérêt, et plus encore. Milvus est une base de données open source de recherche de similarité vectorielle utilisée pour accélérer la récupération d’articles connexes.
Comment fonctionne la recommandation de contenu alimentée par l’IA ?
À la base, la recommandation d’actualités (ou tout autre type de système de recommandation de contenu) consiste à comparer des données d’entrée à une immense base de données afin de trouver des informations similaires. Une recommandation de contenu réussie consiste à équilibrer pertinence et actualité, tout en intégrant efficacement d’énormes volumes de nouvelles données — souvent en temps réel.
Pour prendre en charge des jeux de données massifs, les systèmes de recommandation sont généralement divisés en deux étapes :
- Récupération : Lors de la récupération, le contenu est réduit à partir de la bibliothèque plus large en fonction des intérêts et du comportement de l’utilisateur. Dans le navigateur mobile de Xiaomi, des milliers de contenus sont sélectionnés à partir d’un jeu de données massif contenant des millions d’articles d’actualité.
- Tri : Ensuite, le contenu sélectionné lors de la récupération est trié selon certains indicateurs avant d’être transmis à l’utilisateur. À mesure que les utilisateurs interagissent avec le contenu recommandé, le système s’adapte en temps réel pour fournir des suggestions plus pertinentes.
Les recommandations de contenus d’actualité doivent être faites en temps réel en fonction du comportement des utilisateurs et du contenu récemment publié. De plus, le contenu suggéré doit correspondre autant que possible aux intérêts des utilisateurs et à leur intention de recherche.
Milvus + BERT = suggestions de contenu intelligentes
Milvus est une base de données open source de recherche de similarité vectorielle qui peut être intégrée à des modèles de deep learning pour alimenter des applications couvrant le traitement du langage naturel, la vérification d’identité et bien plus encore. Milvus indexe de grands jeux de données vectorielles pour rendre la recherche plus efficace, et prend en charge une variété de frameworks d’IA populaires afin de simplifier le processus de développement d’applications de machine learning. Ces caractéristiques font de la plateforme l’outil idéal pour stocker et interroger des données vectorielles, un composant essentiel de nombreuses applications de machine learning.
Xiaomi a choisi Milvus pour gérer les données vectorielles de son système intelligent de recommandation d’actualités, car il est rapide, fiable et nécessite un minimum de configuration et de maintenance. Cependant, Milvus doit être associé à un algorithme d’IA pour créer des applications déployables. Xiaomi a choisi BERT, abréviation de Bidirectional Encoder Representation Transformers, comme modèle de représentation du langage dans son moteur de recommandation. BERT peut être utilisé comme modèle général de NLU (compréhension du langage naturel) capable de piloter un certain nombre de tâches différentes de NLP (traitement du langage naturel). Ses principales fonctionnalités incluent :
- Le transformer de BERT est utilisé comme cadre principal de l’algorithme et est capable de capturer les relations explicites et implicites au sein des phrases et entre elles.
- Objectifs d’apprentissage multitâche, modélisation du langage masqué (MLM) et prédiction de la phrase suivante (NSP).
- BERT offre de meilleures performances avec de plus grandes quantités de données et peut améliorer d’autres techniques de traitement du langage naturel telles que Word2Vec en agissant comme une matrice de conversion.
Milvus fonctionnant avec BERT.
L’architecture réseau de BERT utilise une structure transformer multicouche qui abandonne les réseaux neuronaux traditionnels RNN et CNN. Elle fonctionne en convertissant la distance entre deux mots à n’importe quelle position en une seule grâce à son mécanisme d’attention, et résout le problème de dépendance qui persiste dans le NLP depuis un certain temps.
Architecture réseau d’un transformer dans BERT.
Structure réseau de BERT. « Trm » représente l’architecture réseau du transformer illustrée ci-dessus.
BERT fournit un modèle simple et un modèle complexe. Les hyperparamètres correspondants sont les suivants : BERT BASE : L = 12, H = 768, A = 12, paramètre total 110M ; BERT LARGE : L = 24, H = 1024, A = 16, le nombre total de paramètres est de 340M.
Dans les hyperparamètres ci-dessus, L représente le nombre de couches dans le réseau (c.-à-d. le nombre de blocs Transformer), A représente le nombre de self-Attention dans Multi-Head Attention, et la taille du filtre est 4H.
Système de recommandation de contenu de Xiaomi
Le système de recommandation d’actualités basé sur navigateur de Xiaomi repose sur trois composants clés : vectorisation, mappage d’ID et service de plus proches voisins approximatifs (ANN).
La vectorisation est un processus dans lequel les titres d’articles sont convertis en vecteurs de phrases généraux. Le modèle SimBert, basé sur BERT, est utilisé dans le système de recommandation de Xiaomi. SimBert est un modèle à 12 couches avec une taille cachée de 768. Simbert utilise le modèle d’entraînement Chinese L-12_H-768_A-12 pour un entraînement continu (la tâche d’entraînement étant « metric learning +UniLM »), et a entraîné 1,17 million d’étapes sur une seule TITAN RTX avec l’optimiseur Adam (taux d’apprentissage 2e-6, taille de lot 128). En termes simples, il s’agit d’un modèle BERT optimisé.
Les algorithmes ANN comparent les titres d’articles vectorisés à l’ensemble de la bibliothèque d’actualités stockée dans Milvus, puis renvoient du contenu similaire aux utilisateurs. Le mappage d’ID est utilisé pour obtenir des informations pertinentes telles que les vues de pages et les clics pour les articles correspondants.
Fonctionnement de la recommandation de contenu.
Les données stockées dans Milvus qui alimentent le moteur de recommandation d’actualités de Xiaomi sont constamment mises à jour, y compris les articles supplémentaires et les informations d’activité. À mesure que le système intègre de nouvelles données, les anciennes données doivent être purgées. Dans ce système, des mises à jour complètes des données sont effectuées pour les premiers T-1 jours et des mises à jour incrémentielles sont effectuées lors des T jours suivants.
À des intervalles définis, les anciennes données sont supprimées et les données traitées des jours T-1 sont insérées dans la collection. Ici, les données nouvellement générées sont intégrées en temps réel. Une fois les nouvelles données insérées, une recherche de similarité est effectuée dans Milvus. Les articles récupérés sont à nouveau triés par taux de clics et d’autres facteurs, et le contenu en tête est présenté aux utilisateurs. Dans un scénario comme celui-ci, où les données sont fréquemment mises à jour et où les résultats doivent être fournis en temps réel, la capacité de Milvus à intégrer et rechercher rapidement de nouvelles données permet d’accélérer considérablement la recommandation de contenus d’actualité dans le navigateur mobile de Xiaomi.
Milvus améliore la recherche de similarité vectorielle
Vectoriser les données puis calculer la similarité entre les vecteurs est la technologie de recherche la plus couramment utilisée. L’essor des moteurs de recherche de similarité vectorielle basés sur l’ANN a considérablement amélioré l’efficacité des calculs de similarité vectorielle. Par rapport à des solutions similaires, Milvus offre un stockage des données optimisé, de nombreux SDK, ainsi qu’une version distribuée qui réduit considérablement la charge de travail liée à la création d’une couche de recherche. De plus, la communauté open source active de Milvus est une ressource précieuse qui peut aider à répondre aux questions et à résoudre les problèmes lorsqu’ils surviennent.
Si vous souhaitez en savoir plus sur la recherche de similarité vectorielle et Milvus, consultez les ressources suivantes :
- Découvrez Milvus sur Github.
- Vector Similarity Search Hides in Plain View
- Accelerating Similarity Search on Really Big Data with Vector Indexing
Lisez d’autres témoignages d’utilisateurs pour en savoir plus sur la création de solutions avec Milvus.
Continuer à lire

Why We Built Vector Lakebase: Rethinking Unstructured Data Architecture for AI
Vector Lakebase: a unified, lake-native data foundation for AI workloads — and an answer to what happens after vector databases succeed.

Milvus WebUI: A Visual Management Tool for Your Vector Database
Explore Milvus WebUI to monitor, manage, and optimize your vector database with real-time insights, performance tracking, and system health monitoring.

DeepSeek Always Busy? Deploy It Locally with Milvus in Just 10 Minutes—No More Waiting!
Learn how to set up DeepSeek-R1 on your local machine using Ollama, AnythingLLM, and Milvus in just 10 minutes. Bypass busy servers and enhance AI responses with custom data.



