Comment SmartNews transforme les recommandations publicitaires en temps réel avec Milvus

< 10ms
Latence P99 pour permettre la recherche de données en temps réel
100+ millions
Mises à jour quotidiennes du vecteur sans dégradation des performances
Augmenter les recettes
La diffusion d'annonces plus pertinentes a permis d'améliorer le taux de clics.
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
A propos de SmartNews
[SmartNews] (https://www.smartnews.com/en), dont le siège se trouve à Tokyo, au Japon, est une force dominante dans le secteur des applications d'actualités depuis sa création en 2012. Aux États-Unis, elle est particulièrement réputée pour l'engagement élevé de ses utilisateurs. Dennis Zhao, responsable de l'infrastructure de l'IA chez SmartNews, explique : "En juillet 2021, SmartNews avait le taux d'engagement mensuel moyen le plus élevé parmi toutes les applications d'actualités, dépassant même les mesures combinées d'AppleNews et de Google News." Ce niveau élevé d'engagement des utilisateurs a naturellement conduit à des opportunités accrues de placements publicitaires. Cependant, il a également posé des défis pour s'assurer que les publicités atteignent les bons utilisateurs au bon moment.
Les difficultés techniques des algorithmes de recommandation publicitaire
Avec sa position de leader en matière d'engagement des utilisateurs, SmartNews avait un défi unique à relever : optimiser les recommandations publicitaires pour une base d'utilisateurs très engagés. Shu, ingénieur en infrastructure d'IA chez SmartNews, détaille ces défis : "Nous étions confrontés à des caractéristiques éparses de haute dimension et à la nécessité de récupérer rapidement des données non structurées dans nos systèmes d'apprentissage automatique à grande échelle.
Ces défis n'étaient pas seulement théoriques ; ils avaient des implications dans le monde réel. Les caractéristiques éparses à haute dimension signifiaient que les solutions de base de données traditionnelles étaient inefficaces pour le stockage et l'interrogation des données. Les données non structurées rendaient difficile l'exécution de recherches rapides et précises, une exigence essentielle pour les recommandations publicitaires en temps réel.
Avant de se tourner vers Milvus, l'équipe utilisait Faiss, une bibliothèque pour la recherche de similitudes et le regroupement de vecteurs denses. Cependant, Faiss présentait ses propres limites. "Elle était lourde à maintenir et ne s'adaptait pas bien à la croissance de nos applications d'apprentissage automatique", ajoute Shu. Ces limitations ont conduit l'équipe à explorer d'autres solutions susceptibles d'offrir à la fois l'évolutivité et les performances dont elle avait besoin, ce qui l'a finalement conduite à Milvus.
Solutions techniques : De la recherche vectorielle aux contributions communautaires
Lorsque SmartNews a réalisé les limites de ses solutions existantes, l'équipe s'est tournée vers Milvus pour ses capacités de traitement des données vectorielles à grande échelle et de recherche de similarités. "Après deux mois de recherche rigoureuse, Milvus s'est imposé comme le vainqueur incontestable", déclare Shu. La capacité de Milvus à traiter des requêtes à haut débit et à faible latence a changé la donne. "Il a répondu à notre exigence stricte d'une latence P99 < 10 ms, cruciale pour notre système de recommandation publicitaire en temps réel.
Les capacités de recherche de similarités vectorielles de Milvus ont été initialement appliquées pour optimiser le rappel dynamique des vecteurs publicitaires de SmartNews. "Milvus nous a permis de mapper des types de données incomparables en vecteurs, permettant ainsi une recherche de similarité efficace pour relier les utilisateurs aux publicités les plus pertinentes", explique Shu. Cette capacité de recherche performante était importante pour SmartNews, car la plateforme devait passer au crible des millions de vecteurs pour faire des recommandations publicitaires en temps réel.
Au-delà des recommandations publicitaires, Milvus s'est avéré suffisamment polyvalent pour d'autres applications d'apprentissage automatique. "Nous avons étendu son utilisation aux données en temps réel et aux mises à jour d'index, ce qui était essentiel pour maintenir nos modèles de recommandation à jour", ajoute M. Shu.
SmartNews a également reconnu la valeur du développement communautaire. La communauté Milvus nous a tellement apporté que nous avons décidé de contribuer à des fonctionnalités telles que le "rechargement à chaud", qui ont également été bénéfiques pour nos opérations internes", déclare Dennis Zhao, responsable de l'infrastructure d'IA chez SmartNews. Cette fonction permet aux développeurs de modifier le code à la volée, ce qui accélère considérablement le cycle de développement.
Résultats commerciaux : Atteindre l'évolutivité et préparer l'avenir
L'adoption de Milvus n'était pas seulement une mise à niveau technique ; elle a eu des implications commerciales importantes. Yusup, un autre ingénieur de SmartNews, évoque l'un des défis initiaux : "Le mécanisme original de mise à jour des vecteurs était lourd et prenait beaucoup de temps. Cependant, la fonction d'aliasing de collection de Milvus nous a permis d'effectuer des transitions plus fluides entre les anciens et les nouveaux ensembles de données, rationalisant ainsi le processus de mise à jour".
Cette amélioration technique s'est traduite par des résultats commerciaux. Le système de recommandation publicitaire optimisé a permis de diffuser des publicités plus pertinentes, d'augmenter les taux de clics et, en fin de compte, d'accroître les recettes publicitaires. De plus, les données en temps réel et les mises à jour de l'index ont permis à SmartNews de s'adapter rapidement aux changements de comportement des utilisateurs, ce qui a permis de maintenir la pertinence des recommandations de la plateforme.
SmartNews se prépare à la prochaine phase de son évolution technologique. "Avec la sortie prochaine de Milvus 2.0, nous prévoyons une migration", déclare Dennis Zhao. "La nouvelle version promet des performances et une évolutivité encore meilleures, et nous sommes impatients de tirer parti de ces caractéristiques pour construire des systèmes encore plus fiables et en temps réel."