Ich führte Dynamic Product Ads bei Twitter, wo wir Millionen von Benutzern mit Hunderten von Millionen von E-Commerce-Produkten in Echtzeit übereinstimmten. Die Ausgabe war die Top 5-6 Produkte, die jeder Benutzer am wahrscheinlichsten kaufen würde. Das System verwendete Produkt- und Benutzerembeddings mit klassischen ML-Modellen, um personalisierte Anzeigen auf Twitters Skala zu liefern. Wir sahen 15-18% Verbesserungen in der CTR und 12% Verbesserungen in den Conversion-Raten im Vergleich zu Markenanzeigen. Das war vor ein paar Jahren.Aber jetzt reden alle über KI und große Sprachmodelle, als ob sie alles revolutionieren würden.So, ich dachte darüber nach, ob ich heute die Dynamic Product Ads bauen würde, würde ich LLMs verwenden? Die Antwort: Ich würde LLMs für etwa 20% des Systems verwenden, speziell für die Erzeugung von Embeddings, und alles andere gleich halten. Unser ursprünglicher Ansatz Das Problem an der Hand: Empfehlung von Produkten an einen Benutzer, auf den sie am wahrscheinlichsten klicken und kaufen, während sie ihre Zeitleiste schnell scrollen. Es gab Millionen von Produkten zur Auswahl und Werbetreibenden. Darüber hinaus gab es Millionen von Benutzern, die gleichzeitig scrollen. Das System musste Vorhersagen für Millionen von Benutzern innerhalb einer Sub-Millisekunden-Latenz machen. Die Ad Serving-Pipeline müsste die Vorhersage in weniger als 50 Millisekunden, maximal, abschließen. Produktembeddings Wir verwendeten die Metadaten jedes Produkts, wie Titel, Beschreibung, Kategorie, Preis usw., und kodierten sie in einem 128-dimensionalen dichten Vektorraum. Benutzer Embeddings Benutzer wurden durch Vektoren basierend auf Signalen wie ihrem Engagement auf der Plattform, Profilinformationen und früheren Einkäufen dargestellt. Das Matching-Modell Wir würden zuerst eine schnelle ungefähre Nachbarsuche durchführen, um Kandidatenprodukte zu finden, deren Embeddings nahe an Benutzerembeddings lagen. Dann würden wir einen Gradient-boosted-Entscheidungsbaum verwenden, um diese Kandidaten zu bewerten und zusätzliche Funktionen wie Neuigkeit, Preissignale und Kontext wie Tageszeit einzuschließen. Das Modell und ANN (aproximativ nächster Nachbar) waren erklärbar, debuggable und vor allem schnell genug für Twitters Skala. Wie würde ich das heute nähern? Wenn ich heute dieses System bauen würde, hier ist, was ich wirklich ändern würde. Bessere Produktembeddings mit LLM Encoders Die größte Verbesserung wäre es, bessere Produktembeddings zu generieren. Moderne große Sprachmodelle sind bemerkenswert gut im Verständnis der semantischen Bedeutung und des Kontexts. Anstatt Produktbeschreibungen zusammenzusetzen (die meisten von ihnen waren zu Beginn ziemlich schlecht), würde ich einen LLM-basierten Encoder verwenden, um Produktembeddings zu generieren. Dies ist wichtig, weil ein Produkt mit dem Titel „Laufschuhe“ semantisch nahe an „Sneakers zum Joggen“ wäre, obwohl sie nicht die genauen Wörter teilen. damit mühelos umgehen. all-MiniLM-L6-v2 Wir hatten einmal einen Nike-Produktkatalog-Eintrag mit dem Titel "Air Max 270 React", dass unsere 2022-Embeddings nicht mit Benutzern übereinstimmen konnten, die nach "pushioned Laufschuhen" oder "athletic sneakers" suchen, weil es keine Keyword-Überlappung gab. Das Produkt erhielt 35-40% weniger Eindrücke als ähnliche Artikel in seiner ersten Woche, bis wir genügend Engagementdaten gesammelt haben. Verbesserte Cold-Start Handling Wenn ein neues Produkt in einem Katalog erscheint, kann LLM reiche Signale aus Produktbeschreibungen, Bewertungen und Bildern extrahieren, um eine angemessene erste Einbeziehung zu erzeugen. Ebenso können moderne Codierer für neue Benutzer mit einer spärlichen Engagementgeschichte ihre Profilinformationen und erste Tweets (falls vorhanden) besser verstehen, um sinnvolle Repräsentationen zu erstellen. Wo passen LLMs also in die eigentliche Architektur? Hybrid Ansatz Ich würde immer noch klassische ML für die tatsächliche Lagerung und Servieren von Schichten verwenden. Die Architektur würde aussehen wie: Feature LLM or Classic LLM-based encoder to generate user and product embeddings LLM Match embeddings to generate candidate products per user Classic Final scoring and ranking Classic LLM-basierter Encoder zur Erzeugung von Benutzer- und Produktembeddings LLM Match Embeddings zur Erzeugung von Kandidatenprodukten pro Benutzer Klassiker Abschlussscore und Ranking Klassiker Warum sollte ich klassische Modelle für die Punktzahlung verwenden? Die Gründe sind Latenz, Kosten und Erklärbarkeit. LLMs können Produkte für Millionen von Benutzern in weniger als 10 Millisekunden nicht vorhersagen. Sie sind ein Overkill für die Kombination von numerischen Funktionen und eine Rangentscheidung. Klassische Modelle würden dies in Mikrosekunden tun. Auf der Skala von Twitter wird der Unterschied zwischen 1ms und 10ms Schlusszeit zu Millionen von Dollar in Infrastrukturkosten und messbaren Rückgängen in der Benutzerbeteiligung übersetzt. Durchführen LLM Schlussfolgerung für jede Vorhersage Anfrage würde 50-100x mehr kosten als unsere klassische Ansatz. Wie wäre es mit der Generierung von Ad Copy? Es gibt viel Hype im Internet über die Verwendung von LLMs, um personalisierte Werbekopie auf dem Flug zu generieren oder um in Echtzeit über die Absicht des Benutzers zu reden. Das Erzeugen von Werbekopien mit LLMs führt zu inakzeptablen Risiken wie Halluzinationen über Produktmerkmale, inkonsistentes Branding und Inhalte, die in diesem Maßstab schwer zu überprüfen sind. Das System müsste Millionen von Werbevariationen pro Tag anzeigen, und es gäbe keine Möglichkeit, sie für Genauigkeit und Markensicherheit zu überprüfen. Eine halluzinierte Behauptung über ein Produkt wie "wasserdicht", wenn es nicht ist, oder "FDA-genehmigt", wenn es nicht ist, würde rechtliche Haftung schaffen. Was ändert sich nicht? Egal, ob das System Embeddings von 2022 oder LLMs von 2026 verwendet, die grundlegende Herausforderung bleibt die gleiche: zu folgen, was jemand von lauten Signalen will. Jemand, der über Laufschuhe twittert, könnte ein Marathonläufer für sein nächstes Paar sein, oder ein zufälliger Beobachter, der gerade ein Rennen im Fernsehen beobachtet hat. Dieses Problem braucht gute Daten, um es zu lösen, nachdenkliche Feature-Engineering und viele Experimente. Understanding user intent sind nicht verhandelbar. Auf der Skala zählt jede Millisekunde. Benutzer würden Erfahrungen aufgeben, die sich langsam anfühlen. Ad-Systeme können das Laden der Zeitlinie nicht verlangsamen. Ich habe mehrere ML-Infrastruktursysteme in A/B-Tests zusammengebrochen sehen, weil sie einem gut geölten System 100 ms Latenz hinzugefügt haben. Das Modell könnte besser sein, aber die Latenzanforderung triumphiert alles. Latency requirements Probleme wie Kaltstart für neue Produkte oder Benutzer und Datenqualitätsprobleme, wenn Kataloge fehlende oder falsche Produktbeschreibungen haben, sind immer noch da. Last-mile problems Ein Team, das 10 Experimente pro Woche mit einem einfacheren Modell ausführen kann, wird ein Team, das 1 Experiment pro Woche mit einem sehr anspruchsvollen Modell ausführt, kontinuierlich übertreffen. Die Fähigkeit, schnell zu testen, Ergebnisse zu messen und zu iterieren, ist wertvoller als marginale Verbesserungen in der Modellqualität. Als wir Dynamic Product Ads einführten, führten wir 3-4 Experimente pro Woche aus. Wir haben verschiedene Einbettungsdimensionen, verschiedene ANN-Algorithmen und verschiedene Features im Scoring-Modell getestet. Die meisten Experimente scheiterten. Aber diejenigen, die funktionierten, wurden zusammengefasst. Diese Geschwindigkeit zählte mehr als die Auswahl der „perfekten“ Modellarchitektur. Iteration speed Die wahre Frage ist: Wo ist die Flasche? Um ehrlich zu sein, sollte die Frage nicht sein, was mit der neuen Technologie möglich ist. Für uns ging es nie um die Qualität der Embeddings.Es ging um das Verständnis der Benutzerabsicht, die Bearbeitung von Datenqualitätsproblemen in den Produktkatalogen und das Management von Kaltstartproblemen sowie das Aufbauen von Systemen, die Skalierbarkeit bewältigen könnten.Moderne KI hilft wirklich bei einigen dieser Dinge, und es gibt einen echten Wert bei der Verwendung von KI. Wenn ich heute dieses System aufbauen würde, würde ich 20% meiner Anstrengungen auf "die Verwendung von LLM, um bessere Embeddings zu generieren" und 80% auf die gleichen Probleme der Skalierung, Datenqualität, Experimentierung und das Verständnis der Benutzerabsicht ausgeben. Die unpopuläre Meinung Die Tech-Industrie liebt revolutionäre Erzählungen. Vor ein paar Jahren gab es einen ähnlichen Hype um Blockchain und Web3. Aber die Wahrheit ist, dass die meisten Produktions-ML-Systeme arbeiten, skalieren und Geld verdienen. Der revolutionäre Ansatz der Verwendung von LLM würde eine Verbesserung von 5% machen, aber 10x langsamer und 100x teurer sein. Moderne KI ist wirklich wertvoll, wenn sie nachdenklich auf Flaschengrenzen angewendet wird, nicht als Ersatz für das gesamte System, das bereits funktioniert.