Praxis spärlicher großer Modelle in iQiyi-Werberanking-Szenarien

01

   zurückSzeneund Status Quo

1. Eigenschaften von Daten im Werbebereich

Daten im Werbebereich können in kontinuierliche Wertmerkmale und diskrete Wertmerkmale unterteilt werden. Im Gegensatz zu KI-Bild-, Video-, Sprach- und anderen Feldern werden die Originaldaten im Werbebereich meist in Form von IDs dargestellt, z. B. Benutzer-ID, Werbe-ID, Werbe-ID-Sequenz, die mit dem Benutzer interagiert usw., und die ID Der Maßstab ist groß und bildet das Werbefeld. Die charakteristischen Merkmale hochdimensionaler spärlicher Daten.

Kontinuierliche Wertfunktionen
  • Es gibt sowohl statische (z. B. das Alter des Nutzers) als auch dynamische Merkmale, die auf dem Nutzerverhalten basieren (z. B. die Häufigkeit, mit der ein Nutzer auf eine Anzeige in einer bestimmten Branche klickt).
  • Der Vorteil besteht darin, dass es über eine gute Generalisierungsfähigkeit verfügt. Die Präferenz eines Benutzers für eine Branche kann auf andere Benutzer übertragen werden, die dieselben statistischen Merkmale der Branche aufweisen.
  • Der Nachteil besteht darin, dass die mangelnde Gedächtnisleistung zu einer geringen Diskriminierung führt. Beispielsweise können zwei Benutzer mit denselben statistischen Merkmalen erhebliche Unterschiede im Verhalten aufweisen. Darüber hinaus erfordern Features mit kontinuierlichem Wert auch viel manuelles Feature-Engineering.
diskrete Wertmerkmale
  • Diskret bewertete Features sind feinkörnige Features. Es gibt aufzählbare (z. B. Benutzergeschlecht, Branchen-ID) und es gibt auch hochdimensionale (z. B. Benutzer-ID, Werbe-ID).
  • Der Vorteil besteht darin, dass es über ein starkes Gedächtnis und eine hohe Unterscheidungskraft verfügt. Diskrete Wertmerkmale können auch kombiniert werden, um übergreifende und kollaborative Informationen zu lernen.
  • Der Nachteil besteht darin, dass die Generalisierungsfähigkeit relativ schwach ist.
Werbung ist ein Szenario, das ein starkes Gedächtnis der Nutzer und eine starke Differenzierung des Medienverkehrs erfordert. Daher sind diskrete Wertmerkmale die Grundlage für personalisierte Vorhersagen und Optimierung von Werbemodellen. Hochdimensionale spärliche Daten wie Werbe-ID, Benutzer-ID und deren Kombinationen können als diskrete Wertmerkmale verwendet werden. Auf diese Weise können verschiedene Benutzer mit unterschiedlichem Verhalten in Merkmalen gut unterschieden werden. Im Allgemeinen gibt es zwei Möglichkeiten, diskrete Wertfunktionen zu verwenden:
  • One-Hot-Codierung
  • Feature-Einbettung (Einbettung)
Die One-Hot-Codierung hochdimensionaler diskretwertiger Merkmale kann leicht zum „Fluch der Dimensionalität“ führen, der sich in offensichtlichen Mängeln wie Parameterexplosion, langsamer Modellkonvergenz und schwacher Generalisierungsfähigkeit äußert. Daher eignet es sich für die Codierung unter begrenzten aufzählbaren Typen diskreter Werte. Zur Codierung großräumiger IDs werden die spärlichen IDs im hochdimensionalen Raum durch Merkmalseinbettung als Vektoren ausgedrückt.

2. Aktueller Stand des Werberankingmodells von iQiyi
Im Jahr 2016 führte das von Google vorgeschlagene Wide & Deep-Modell offiziell Deep-Learning-Modelle in den Empfehlungsbereich ein. Das Wide & Deep-Modell realisierte eine einheitliche Modellierung von Speicher- und Generalisierungsfähigkeiten und wurde schnell zum Basismodell für die industrielle Suche, Werbung und Empfehlung Felder. Auch das Werberanking-Geschäft von iQiyi entwickelte sich 2019 schrittweise vom Online-Learning-FM-Modell zum DNN-Modell.
Unser DNN-Modell basiert auf dem Open-Source-Framework TensorFlow für Training und Inferenz. Im TensorFlow-Framework wird dichter Tensor als grundlegende Dateneinheit zum Berechnen, Speichern und Übertragen von Daten verwendet. Die Tensorform, die zum Speichern der Einbettung diskreter ID-Funktionen verwendet wird, muss im Voraus bestimmt werden, das heißt, sie ist auf [Vokabulargröße, Einbettungsdimension] festgelegt, und Vokabelgröße muss manuell basierend auf dem ID-Raum bestimmt werden. Daher ordnen wir bei der Einführung hochdimensionaler ID-Features mit geringer Dichte zunächst den ID-Feature-Hash dem Bereich vocabulary_size zu.
Derzeit haben wir die folgenden Probleme bei der Verwendung hochdimensionaler, dünn besetzter ID-Features:
  • Funktionskonflikt: Wenn vocabulary_size zu groß eingestellt ist, sinkt die Trainingseffizienz stark und das Training schlägt aufgrund von Speicher-OOM fehl. Daher richten wir selbst für diskrete Wertfunktionen mit Benutzer-IDs auf Milliardenebene nur einen ID-Hash-Bereich mit 100.000 Ebenen ein. Die Hash-Konfliktrate ist hoch, die Feature-Informationen sind beschädigt und es gibt keinen positiven Nutzen aus der Offline-Bewertung.
  • Ineffiziente E/A: Da Funktionen wie Benutzer-ID und Werbe-ID hochdimensional und spärlich sind, machen die während des Trainings aktualisierten Parameter nur einen kleinen Teil der Gesamtmenge aus. Unter dem ursprünglichen statischen Einbettungsmechanismus von TensorFlow muss der Modellzugriff verarbeitet werden Der gesamte dichte Tensor verursacht einen enormen E/A-Aufwand und kann das Training spärlicher großer Modelle nicht unterstützen.


02

   Werbung spärlich große Modellpraxis

Wie oben erwähnt, sind diskrete Wertmerkmale die Grundlage für das Modell, um eine personalisierte Vorhersage zu erreichen. Bei der Verwendung hochdimensionaler diskreter Wertmerkmale mit geringer ID sind auch Probleme aufgetreten. Daher werden wir im Jahr 2023 die gängige Open-Source-Technologie der Branche nutzen, um das Training und die Inferenzkonstruktion spärlicher großer Modelle durchzuführen.
1. Algorithmus-Framework
In den letzten Jahren hat die Branche intensiv die Unterstützung von TensorFlow für die Empfehlung dünn besetzter großer Modelle untersucht und diese in reale Geschäftsszenarien implementiert. Wir entscheiden uns hauptsächlich aus folgenden Gründen für die Open-Source-Komponente „TFRA Dynamic Embedding“:
  • Die TFRA-API ist mit dem Tensorflow-Ökosystem kompatibel (durch die Wiederverwendung des ursprünglichen Optimierers und Initialisierers hat die API denselben Namen und ein konsistentes Verhalten), wodurch TensorFlow das Training und die Inferenz von spärlichen großen Modellen vom Typ ID auf nativere Weise unterstützen kann Die Lern- und Nutzungskosten sind gering und ändern nicht die Modellierungsgewohnheiten von Algorithmeningenieuren.
  • Die dynamische Speichererweiterung und -kontraktion spart Ressourcen während des Trainings; sie vermeidet effektiv Hash-Konflikte und stellt sicher, dass Feature-Informationen verlustfrei sind.
Basierend auf den Frameworks TensorFlow 2.6.0 und TFRA 0.6.0 haben wir die folgenden Iterationen durchgeführt:
  • Statische Einbettung wird auf dynamische Einbettung aktualisiert: Für die künstliche Hash-Logik diskreter Wertmerkmale wird die dynamische TFRA-Einbettung zum Speichern, Zugreifen und Aktualisieren von Parametern verwendet, wodurch sichergestellt wird, dass die Einbettung aller diskreten Wertmerkmale im Algorithmus-Framework konfliktfrei ist Sicherstellen, dass alle diskreten Werte verlustfreies Lernen von Funktionen sind.
  • Verwendung hochdimensionaler, spärlicher ID-Funktionen: Wie oben erwähnt, haben Benutzer-ID- und Werbe-ID-Funktionen bei Verwendung der statischen Einbettungsfunktion von TensorFlow aufgrund von Hash-Konflikten keinen Gewinn bei der Offline-Auswertung. Nach der Aktualisierung des Algorithmus-Frameworks werden die Benutzer-ID- und Werbe-ID-Funktionen wieder eingeführt, und es gibt sowohl offline als auch online positive Vorteile.
  • Die Verwendung hochdimensionaler, spärlicher kombinierter ID-Funktionen: Einführung der kombinierten diskreten Wertfunktionen der Benutzer-ID und der grobkörnigen Werbe-ID, z. B. die Kombination der Benutzer-ID mit der Branchen-ID bzw. dem Namen des App-Pakets. Gleichzeitig werden in Kombination mit der Feature-Zugriffsfunktion diskrete Features eingeführt, die eine Kombination aus spärlicheren Benutzer-IDs und Werbe-IDs verwenden.


2. Modellaktualisierung

Bei der Implementierung des Sparse-Large-Modells sind wir auf viele Probleme beim Training von Inferenz- und Bereitstellungsaktualisierungen gestoßen. Wir haben während des Implementierungsprozesses eine eingehende Analyse und Optimierung verschiedener Probleme durchgeführt und schließlich effiziente und stabile Trainings-, Inferenz- und Bereitstellungsaktualisierungen für spärliche große Modelle erreicht.
Wenn Sie TensorFlow Serving zum Hot-Update eines spärlich besetzten großen Modells verwenden, kommt es aufgrund der Konkurrenz um Speicherzuweisung und -freigabe zu Inferenzverzögerungen. Die Nutzungsszenarien der TensorFlow-Speicherzuweisung und -freigabe bestehen aus zwei Hauptteilen:
  • Die Zuordnung der Tensorvariablen selbst erfolgt beim Wiederherstellen des Modells, dh der Speicher wird beim Laden des Modells zugewiesen und der Speicher beim Entladen des Modells freigegeben.
  • Der Speicher des Zwischenausgabe-Tensors wird während der Netzwerkvorwärtsberechnung während der RPC-Anfrage zugewiesen und nach Abschluss der Anforderungsverarbeitung freigegeben.
Wenn daher ein spärliches großes Modell aktualisiert wird, wird im Wiederherstellungs-OP beim Laden des neuen Modells eine große Speichermenge zugewiesen, und beim Entladen des alten Modells wird eine große Speichermenge freigegeben. Während dieses Vorgangs wird die RPC-Inferenzanforderung nicht unterbrochen. Zu diesem Zeitpunkt kommt es zu Konflikten und Konflikten zwischen der Speicherzuweisung und -freigabe, was zu Inferenzstörungen führt. Basierend auf der obigen Analyse werden durch den Entwurf der Speicherzuweisungsisolation die Speicherzuweisung von Modellparametern und die Speicherzuweisung von RPC-Anforderungen isoliert und in verschiedenen unabhängigen Speicherräumen zugewiesen und freigegeben, wodurch die Verzögerung bei der Hot-Aktualisierung von spärlich großen Mengen gelöst wird Modelle. Glitch-Problem.
Schließlich werden für die Modellverteilung die Fragmentierung dünner großer Modelldateien und die P2P-Übertragung innerhalb desselben Computerraums verwendet, wodurch der Druck auf das Speicher-Backend und die dedizierten Netzwerkleitungen verringert und die Speicher- und Bandbreitenprobleme gelöst werden, die durch häufige Aktualisierungen dünner großer Modelle verursacht werden.

03

   Gesamtnutzen

Derzeit hat die Deep-Learning-Plattform das Training, die Inferenz und die Bereitstellungsaktualisierung von Parametermodellen auf einer Milliarde-Ebene effizient und stabil unterstützt. Wir haben drei spärliche große Modelle in CVR- und DCVR-Szenarien für Performance-Werbung vollständig auf den Markt gebracht, die direkt zu einem Anstieg des Geschäftsumsatzes mit Performance-Werbung um 4,3 % führten, während die Inferenzverzögerung im Wesentlichen gleich war.


04

   Zukunftsausblick

Derzeit erhalten alle Merkmalswerte desselben Merkmals im Sparse-Modell für große Werbung die gleiche Einbettungsdimension. In der Praxis ist die Datenverteilung hochdimensionaler Merkmale extrem ungleichmäßig, eine sehr kleine Anzahl hochfrequenter Merkmale macht einen sehr hohen Anteil aus und das Long-Tail-Phänomen ist schwerwiegend verringert die Fähigkeit zum Einbetten von Repräsentationslernen. Das heißt, für Merkmale mit niedriger Häufigkeit ist die Einbettungsdimension zu groß und das Modell läuft Gefahr, für Merkmale mit hoher Häufigkeit überzupassen, da es eine Fülle von Informationen gibt, die dargestellt und erlernt werden müssen, die Einbettung Die Dimension ist zu klein und es besteht die Gefahr einer Unteranpassung des Modells. Daher werden wir in Zukunft nach Möglichkeiten suchen, die Feature-Einbettungsdimension adaptiv zu lernen, um die Genauigkeit der Modellvorhersage weiter zu verbessern.

Gleichzeitig werden wir die Lösung des inkrementellen Exports des Modells untersuchen, das heißt, nur die Parameter, die sich während des inkrementellen Trainings ändern, in TensorFlow Serving laden, wodurch die Netzwerkübertragungs- und Ladezeit während der Modellaktualisierung reduziert wird und Aktualisierungen auf Minutenebene erreicht werden von spärlichen großen Modellen und Verbesserung der Echtzeitnatur des Modells.


AuchMaiDuzurückkehrendenkensehen

Enthüllung des Geheimnisses der Speicherexplosion: Lösung des OOM-Problems des verteilten Trainings mit großen Modellen

iQIYI Performance Advertising Dual Bidding Optimierungsprozess

iQIYI Data Lake Praxis – Werbung für Data Lake-Anwendung

Dieser Artikel wurde vom öffentlichen WeChat-Konto geteilt – iQIYI Technology Product Team (iQIYI-TP).
Bei Verstößen wenden Sie sich bitte zur Löschung an [email protected].
Dieser Artikel ist Teil des „ OSC Source Creation Plan “. Alle, die ihn lesen, sind herzlich eingeladen, mitzumachen und ihn gemeinsam zu teilen.

Fellow Chicken „Open-Source“ -Deepin-IDE und endlich Bootstrapping erreicht! Guter Kerl, Tencent hat Switch wirklich in eine „denkende Lernmaschine“ verwandelt. Tencent Clouds Fehlerüberprüfung und Situationserklärung vom 8. April RustDesk-Remote-Desktop-Startup-Rekonstruktion Web-Client WeChats Open-Source-Terminaldatenbank basierend auf SQLite WCDB leitete ein großes Upgrade ein TIOBE April-Liste: PHP fiel auf ein Allzeittief, Fabrice Bellard, der Vater von FFmpeg, veröffentlichte das Audiokomprimierungstool TSAC , Google veröffentlichte ein großes Codemodell, CodeGemma , wird es dich umbringen? Es ist so gut, dass es Open Source ist – ein Open-Source-Bild- und Poster-Editor-Tool
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/4484233/blog/11045480
Empfohlen
Rangfolge