- X: ein machine-learning-basiertes Empfehlungssystem, das entwickelt wurde, um die Qualität personalisierter Inhaltsempfehlungen im „For You“-Feed zu verbessern
- Der Feed wird aus zwei Quellen zusammengesetzt: gefolgte Accounts (Thunder) und Inhalte von nicht gefolgten Accounts (Phoenix Retrieval)
- Alle Kandidaten-Posts werden mit Phoenix, einem Grok-basierten Transformer-Modell, bewertet, um das finale Ranking zu berechnen
- Dieses Modell sagt für jeden Post die Wahrscheinlichkeit von Interaktionen voraus
- Alle im System manuell entworfenen Features sowie die meisten heuristischen Algorithmen wurden entfernt
- Die Aktivitätshistorie der Nutzer (Likes, Antworten, Shares) wird analysiert, um relevante Inhalte zu erkennen
Systemarchitektur
- Home Mixer ist die Orchestrierungsschicht, die die gesamte Pipeline koordiniert
- Einschließlich des Schritts Query Hydration, der Nutzerverhaltenshistorie und Following-Informationen sammelt
- Verwaltet die Abfolge von Kandidatensammlung, Datenanreicherung, Filterung, Scoring und finaler Auswahl
- Gibt über den gRPC-basierten ScoredPostsService nach Nutzer sortierte Posts zurück
- Thunder ist ein In-Memory-Store, der über den Kafka-Event-Stream Posts in Echtzeit erfasst
- Verwaltet nutzerspezifische Speicher für Original-Posts, Antworten/Reposts und Video-Posts
- Liefert „In-Network“-Kandidaten-Posts von Accounts, denen der anfragende Nutzer folgt
- Stellt die neuesten Posts gefolgter Accounts mit extrem geringer Latenz bereit
- Erreicht Abfrageleistung im Submillisekundenbereich ohne Zugriff auf externe Datenbanken
- Phoenix ist die zentrale ML-Komponente der Empfehlung und besteht aus zwei Stufen: Retrieval und Ranking
- Retrieval: Verwendet ein Two-Tower-Modell, um die Ähnlichkeit zwischen Einbettungen von Nutzermerkmalen/Interaktionsverlauf und Post-Einbettungen zu berechnen und Top-K-Posts abzurufen
- Ranking: Verwendet eine Transformer-with-Candidate-Isolation-Architektur, die so entworfen wurde, dass jeder Kandidat unabhängig bewertet wird
- Nimmt Nutzerkontext (Interaktionshistorie) und Kandidaten-Post als Eingabe
- Sagt für jeden Post mehrere Aktionswahrscheinlichkeiten wie Likes, Replies, Reposts und Klicks voraus
- Die Candidate Pipeline ist ein wiederverwendbares Framework für Empfehlungs-Pipelines
- Definiert Traits wie
Source, Hydrator, Filter, Scorer, Selector
- Bietet integrierte Parallelisierung, Fehlerbehandlung und Logging für Skalierbarkeit und Stabilität
Funktionsweise
-
Pipeline-Schritte
- 1. Abfrage der Query-Daten: Holt die jüngste Aktivitätshistorie des Nutzers sowie Metadaten (z. B. Following-Liste)
- 2. Kandidatensuche: Sucht Kandidaten-Posts aus den folgenden Quellen
- Thunder: aktuelle Posts von gefolgten Accounts (innerhalb des Netzwerks)
- Phoenix Retrieval: per Machine Learning gefundene Posts aus dem globalen Korpus (außerhalb des Netzwerks)
- 3. Hydration der Kandidaten unter Nutzung der folgenden Informationen:
- Zentrale Post-Daten (Text, Medien usw.)
- Autoreninformationen (Nutzername, Verifizierungsstatus)
- Videolänge (bei Video-Posts)
- Abonnementstatus
- 4. Pre-Scoring-Filter: Entfernt Posts, die eine der folgenden Bedingungen erfüllen
- Duplikate
- zu alt
- eigene Posts des Betrachters
- von blockierten/stummgeschalteten Accounts
- enthalten stummgeschaltete Keywords
- bereits gesehen oder kürzlich ausgeliefert
- nicht abonnierbare Inhalte
- 5. Scoring-Verfahren: Wendet mehrere Scorer nacheinander an
- Phoenix Scorer: Holt ML-Vorhersagen mit dem Phoenix-Transformer-Modell
- Weighted-Score-Rechner: Kombiniert die Vorhersagen zu einem finalen Relevanzscore
- Author-Diversity-Score-Rechner: Verringert zur Förderung von Vielfalt den Einfluss mehrfach auftretender Autoren
- OON-Scorer: Passt den Score für Inhalte außerhalb des Netzwerks an
- 6. Auswahl: Sortiert nach Score und wählt die Top-K-Kandidaten aus
- 7. Nachgelagerte Schritte: Führt die finale Prüfung der Kandidaten-Posts durch
-
Scoring und Ranking
- Die Vorhersagewerte des Phoenix-Modells werden per gewichteter Summe kombiniert
- Positive Aktionen (Likes, Shares usw.) werden stärker gewichtet, negative Aktionen (Blocks, Meldungen usw.) entsprechend abgewertet
-
Zweistufige Filterung
- Filter vor der Score-Berechnung: Entfernt Duplikate, zu alte Posts, eigene Posts, nicht sichtbare Bezahl-Inhalte, bereits gesehene oder ausgelieferte Posts, blockierte Accounts, stummgeschaltete Keywords usw.
- Filter nach der Auswahl: Entfernt gelöschte Posts, Spam, gewalthaltige Inhalte, grausame Posts sowie doppelte Verzweigungen derselben Konversations-Threads
Zentrale Designprinzipien
- Verzicht auf manuelles Feature Engineering, der Transformer lernt direkt aus den Sequenzen des Nutzerverhaltens
- Unabhängige Kandidatenbewertung (Candidate Isolation) für konsistente Scores und einfacheres Caching
- Hash-basierte Embeddings: Sowohl bei Retrieval als auch Ranking werden mehrere Hash-Funktionen für Embedding-Lookups verwendet
- Vorhersage mehrerer Aktionen (Multi-Action Prediction) statt eines einzelnen „Relevanz“-Scores
- Modulare Pipeline-Architektur
- Trennt Pipeline-Ausführung und Monitoring von der Business-Logik
- Ermöglicht parallele Ausführung unabhängiger Schritte und angemessene Fehlerbehandlung
- Neue Quellen, Hydration-Schritte, Filter und Scorer lassen sich leicht hinzufügen
Lizenz
Noch keine Kommentare.