Wie SmartNews mit Milvus Echtzeit-Anzeigenempfehlungen umsetzt

< 10ms
P99-Latenzzeit, um Datenabrufe in Echtzeit zu ermöglichen
100+ Millionen
Tägliche Vektoraktualisierungen ohne Leistungseinbußen
Erhöhung der Einnahmen
Die Schaltung relevanterer Anzeigen führte zu einer höheren Klickrate
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
Über SmartNews
[SmartNews] (https://www.smartnews.com/en), mit Hauptsitz in Tokio, Japan, ist seit seiner Gründung im Jahr 2012 eine dominierende Kraft im Bereich der Nachrichten-Apps. In den USA ist das Unternehmen vor allem für sein hohes Nutzerengagement bekannt. Dennis Zhao, AI Infrastructure Lead bei SmartNews, erklärt: "Im Juli 2021 hatte SmartNews die höchste durchschnittliche monatliche Nutzerbindung unter allen Nachrichten-Apps und übertraf sogar die kombinierten Werte von AppleNews und Google News." Dieses hohe Nutzerengagement führte natürlich zu mehr Möglichkeiten für Anzeigenschaltungen. Es stellte jedoch auch eine Herausforderung dar, sicherzustellen, dass die Anzeigen die richtigen Nutzer zur richtigen Zeit erreichen.
Die technischen Hürden von Algorithmen für Anzeigenempfehlungen
Aufgrund seiner führenden Position bei der Nutzeraktivität stand SmartNews vor einer einzigartigen Herausforderung: die Optimierung von Anzeigenempfehlungen für eine hochgradig engagierte Nutzerbasis. Shu, ein KI-Infrastrukturingenieur bei SmartNews, beschreibt diese Herausforderungen: "Wir hatten mit hochdimensionalen, spärlichen Merkmalen zu kämpfen und mussten in unseren groß angelegten maschinellen Lernsystemen schnell auf unstrukturierte Daten zugreifen."
Diese Herausforderungen waren nicht nur theoretischer Natur, sondern hatten auch praktische Auswirkungen. Die hochdimensionalen, spärlichen Merkmale bedeuteten, dass herkömmliche Datenbanklösungen für die Speicherung und Abfrage der Daten ineffizient waren. Die unstrukturierten Daten erschwerten eine schnelle und genaue Suche, eine wichtige Voraussetzung für Anzeigenempfehlungen in Echtzeit.
Bevor sich das Team an Milvus wandte, hatte es Faiss verwendet, eine Bibliothek für die Ähnlichkeitssuche und das Clustering von dichten Vektoren. Faiss war jedoch mit einer Reihe von Einschränkungen verbunden. "Sie war umständlich zu pflegen und ließ sich nicht gut mit unseren wachsenden Anwendungen für maschinelles Lernen skalieren", fügt Shu hinzu. Diese Einschränkungen veranlassten das Team, nach anderen Lösungen zu suchen, die sowohl die benötigte Skalierbarkeit als auch die erforderliche Leistung bieten, was sie schließlich zu Milvus führte.
Technische Lösungen: Von der Vektorsuche bis zu Community-Beiträgen
Als SmartNews die Grenzen seiner bestehenden Lösungen erkannte, wandte sich das Team an Milvus, weil es in der Lage ist, große Vektordaten zu verarbeiten und Ähnlichkeiten zu suchen. "Nach zweimonatiger intensiver Recherche ging Milvus als klarer Sieger hervor", sagt Shu. Die Fähigkeit von Milvus, Abfragen mit hohem Durchsatz und niedriger Latenzzeit zu verarbeiten, war ein entscheidender Faktor. "**Es erfüllte unsere strenge Anforderung einer P99-Latenzzeit < 10 ms, die für unser Echtzeit-Anzeigenempfehlungssystem entscheidend ist."
Die Fähigkeiten von Milvus zur Vektorähnlichkeitssuche wurden zunächst zur Optimierung des dynamischen Anzeigenvektorabrufs von SmartNews eingesetzt. "Milvus ermöglichte es uns, unvergleichbare Datentypen in Vektoren abzubilden und dadurch eine effiziente Ähnlichkeitssuche zu ermöglichen, um die Nutzer mit den relevantesten Anzeigen zu verbinden", erklärt Shu. Diese leistungsstarke Suchfunktion war für SmartNews von großer Bedeutung, da die Plattform Millionen von Vektoren durchforsten musste, um Anzeigenempfehlungen in Echtzeit zu erstellen.
Neben den Anzeigenempfehlungen erwies sich Milvus als vielseitig genug für andere Machine-Learning-Anwendungen. "Wir haben die Nutzung auf Echtzeit-Daten und Index-Updates ausgeweitet, was für die Aktualität unserer Empfehlungsmodelle unerlässlich war", fügt Shu hinzu.
SmartNews erkannte auch den Wert der von der Community betriebenen Entwicklung. "Wir haben so viel von der Milvus-Community profitiert, dass wir uns entschlossen haben, Funktionen wie 'Hot Reload' beizusteuern, die auch für unsere internen Abläufe von Vorteil waren", sagt Dennis Zhao, AI Infrastructure Lead bei SmartNews. Diese Funktion ermöglicht es den Entwicklern, den Code im laufenden Betrieb zu ändern und so den Entwicklungszyklus erheblich zu beschleunigen.
Geschäftsergebnisse: Skalierbarkeit erreichen und sich auf die Zukunft vorbereiten
Die Einführung von Milvus war nicht nur ein technisches Upgrade, sondern hatte auch erhebliche geschäftliche Auswirkungen. Yusup, ein weiterer Ingenieur bei SmartNews, beschreibt eine der anfänglichen Herausforderungen: "Der ursprüngliche Mechanismus zur Aktualisierung von Vektoren war umständlich und zeitaufwändig. Die Funktion 'collection aliasing' von Milvus ermöglichte es uns jedoch, sanftere Übergänge zwischen alten und neuen Datensätzen zu schaffen und so den Aktualisierungsprozess zu rationalisieren."
Diese technische Verbesserung schlug sich in Geschäftsergebnissen nieder. Das optimierte Anzeigenempfehlungssystem führte dazu, dass relevantere Anzeigen geschaltet wurden, was die Klickraten erhöhte und letztlich zu höheren Anzeigeneinnahmen führte. Darüber hinaus konnte sich SmartNews dank der Daten- und Indexaktualisierungen in Echtzeit schnell an das sich ändernde Nutzerverhalten anpassen, so dass die Empfehlungen der Plattform stets relevant blieben.
SmartNews bereitet sich auf die nächste Phase seiner technologischen Entwicklung vor. "Mit der bevorstehenden Veröffentlichung von Milvus 2.0 planen wir eine Migration", sagt Dennis Zhao. "Die neue Version verspricht eine noch bessere Leistung und Skalierbarkeit, und wir freuen uns darauf, diese Funktionen zu nutzen, um noch mehr Echtzeit- und zuverlässige Systeme zu entwickeln."