Heim > Artikel > Technologie-Peripheriegeräte > Industrielle Praxis des Meta-Learnings und der domänenübergreifenden Empfehlung von Tencent TRS
1. Meta-Learning die Samples, was zu einem Problem führt: Ein einzelnes Modell eignet sich besser für die Schätzung großer Szenen. Die Berücksichtigung verschiedener Szenarien und die Verbesserung der Modellpersonalisierungsfähigkeiten ist ein Problem bei der personalisierten Modellierung.
Branchenlösung:Als Reaktion auf die Probleme, die bei Modellen in der Branche bestehen, haben wir die folgenden Lösungen vorgeschlagen:
Lösungsauswahl: Wenn für jeden Benutzer eine Reihe von Modellen bereitgestellt wird, sind die Modellstruktur und die Modellparameter unterschiedlich, was dazu führt, dass die Kosten für Modellschulung und -service relativ hoch sind. Wir erwägen die Bereitstellung personalisierter Modellparameter für jedes Szenario unter derselben Modellstruktur, um das Problem der Modellpersonalisierung zu lösen.
Das Ziel traditioneller Lernmethoden besteht darin, das optimale θ für alle Daten, also das global optimale θ, zu lernen. Beim Meta-Lernen wird die Aufgabe als Dimension verwendet, um das Allgemeine in der Szene zu lernen, und der Verlust kann in allen Szenen das optimale Niveau erreichen. Das durch traditionelle Lernmethoden gelernte θ liegt in großen Szenen näher an der Masse, hat bessere Vorhersagen für große Szenen und hat einen durchschnittlichen Effekt auf Long-Tail-Vorhersagen Jeder Szenendaten oder neue Szenendaten werden an diesem Punkt feinabgestimmt, um den optimalen Punkt für jede Szene zu erreichen. Daher ist es möglich, in jedem Szenario personalisierte Modellparameter zu erstellen, um das Ziel der ultimativen Personalisierung zu erreichen. Im obigen Beispiel wird die Menge als Aufgabe für das Meta-Lernen verwendet, es ist jedoch auch geeignet, Benutzer oder Elemente als Aufgaben für die Modellierung zu verwenden.
Es gibt drei Kategorien des Meta-Lernens:
Unter diesen kann Support Set als Trainingssatz und Query Set als Validierungssatz verstanden werden.
Der Finetune-Prozess ist dem Meta-Train-Prozess sehr ähnlich. θ wird in einer bestimmten Szene platziert, der Unterstützungssatz der Szene wird abgerufen und die Gradientenabstiegsmethode (SGD) wird verwendet, um die zu erhalten optimale Parameter der Szene
; Verwendung
Generieren Sie geschätzte Ergebnisse für die im Aufgabenszenario zu bewertenden Proben (Abfragesatz). 5. Herausforderungen der Meta-Learning-Industrialisierung
Zunächst wird die Auswahl von Szenen und Beispielen innerhalb des Stapels in jedem Stapel implementiert Daten gehören zu einer Aufgabe. Innerhalb eines Stapels werden diese Daten entsprechend den Aufgaben extrahiert und die extrahierten Proben werden in den Meta-Train-Trainingsprozess eingefügt. Dadurch wird das Problem gelöst, dass eine Reihe von Verarbeitungsverknüpfungen für die Szenenauswahl und die Probenauswahl unabhängig verwaltet werden müssen. Durch experimentelle Forschung und das Lesen von Artikeln haben wir festgestellt, dass bei der Feinabstimmung und im Meta-Lernprozess der Einfluss auf den Vorhersageeffekt des Modells umso größer ist Gleichzeitig hat die Emb-Schicht einen größeren Einfluss auf den Vorhersageeffekt des Modells, und die mittlere Ebene hat keinen großen Einfluss auf den Vorhersageeffekt. Unsere Idee ist also, dass Meta-Learning nur Parameter auswählt, die näher an der Vorhersageschicht liegen. Aus Kostengründen erhöht die Emb-Schicht die Lernkosten und die Emb-Schicht wird nicht für Meta-Lernen trainiert. Im gesamten Trainingsprozess, wie dem MMOE-Trainingsnetzwerk im Bild oben, lernen wir die Parameter der Turmschicht und die Parameter anderer Szenen werden weiterhin gemäß der ursprünglichen Trainingsmethode gelernt. Die Beispiele sind mit dem Benutzer als Dimension organisiert. Die Trainingsdaten sind in zwei Teile unterteilt, ein Teil ist der Unterstützungssatz und der andere Teil ist der Abfragesatz. Im Unterstützungssatz wird nur der Inhalt auf der lokalen Seite für die Turmaktualisierung und das Parametertraining gelernt. Anschließend werden die Daten des Abfragesatzes verwendet, um den Verlust des gesamten Netzwerks zu berechnen, und dann wird der Gradient zurückgegeben, um die Parameter des gesamten Netzwerks zu aktualisieren . Daher ist der gesamte Trainingsprozess: Die ursprüngliche Trainingsmethode des gesamten Netzwerks bleibt unverändert; unter Berücksichtigung der Kosten nimmt die Einbettung nicht am Meta-Lernen teil; Meta-Verlust; wenn Fintune durchgeführt wird, wird Emb gespeichert. Im Bereitstellungsprozess wird Emb zur Feinabstimmung des Kernnetzwerks verwendet, und der Switch kann zum Ein- und Ausschalten des Meta-Lernens verwendet werden. Wenn bei der herkömmlichen Probenspeichermethode die Feinabstimmung direkt während des Serviervorgangs durchgeführt wird, treten schwerwiegende Probleme auf: Ein Satz von Probenspeicherlinks muss online für mehrere Sätze von Online-Experimenten verwaltet werden müssen gepflegt werden. Mehrere Probensätze. Gleichzeitig werden im Feinabstimmungsprozess die Originalbeispiele für die Feinabstimmung verwendet. Die Muster durchlaufen jedoch die Emb-Schicht, die unterste Schicht und die Meta-Lernschicht Prozess und kümmert sich nicht um andere Teile. Wir erwägen, während des Bereitstellungsprozesses nur die Meta-Lerneingabe in das Modell zu speichern, wodurch die Wartung des Beispiellinks eingespart und ein bestimmter Effekt erzielt werden kann. Wenn nur der Emb-Teil gespeichert wird, können die Berechnungskosten und Wartungskosten dieses Teils gesenkt werden gerettet werden. Wir verwenden folgende Methoden: Fügen Sie den Speicher in die Nachschlagetabelle des Modells ein. Die Nachschlagetabelle wird als dichte Variable betrachtet und in ps gespeichert. Beim Aktualisieren werden auch alle Variablen übertragen Netzwerkzeit. Eine andere Möglichkeit besteht darin, eine unendliche HashTable zu verwenden. Der Schlüssel ist die Szene und der Wert ist die Eingabe der Metaebene Durch Drücken oder Ziehen wird insgesamt Netzwerkzeit gespart. Daher probieren wir diese Methode aus, um die Eingabe der Metaebene zu speichern. Wenn gleichzeitig Meta-Lernebenen im Modell gespeichert werden, wird das Modell größer und es treten Ablaufprobleme auf, was zu einer Nichtübereinstimmung mit dem aktuellen Modell führt. Wir verwenden die Zeiteliminierung, um dieses Problem zu lösen, das heißt, es zu beseitigen Abgelaufene Einbettungen verkleinern nicht nur das Modell, sondern lösen auch das Echtzeitproblem. In der Bereitstellungsphase verwendet dieses Modell die Einbettung in die untere Ebene. Bei der Bewertung handelt es sich nicht um die gleiche Methode wie bei der ursprünglichen Methode. Stattdessen werden die Daten im Unterstützungssatz abgerufen Durch Meta-Learning-Ebenen und die Die Parameter dieser Ebene werden aktualisiert und die aktualisierten Parameter werden für die Bewertung verwendet. Dieser Prozess kann nicht auf der GPU berechnet werden, daher führen wir den Prozess auf der CPU aus. Gleichzeitig führt die Wuliang-GPU-Inferenz eine automatische Batch-Zusammenführung durch, um mehrere Anforderungen auf der GPU zusammenzuführen. Auf diese Weise ändert sich der Gradient, wenn der Batch zunimmt Fügen Sie bei der Berechnung des Gradienten eine Num-Dimension hinzu, addieren Sie den Grad und verarbeiten Sie ihn entsprechend der Num-Dimension, um die Stabilität des Gradienten aufrechtzuerhalten. Letztendlich sind Kosten und Leistung kontrollierbar und es werden verschiedene Szenarien und Modelle erreicht. Durch die Verwendung von Frameworks und Komponenten zur Verallgemeinerung des Meta-Lernens müssen Benutzer beim Zugriff nur den Modellcode ändern, und Benutzer müssen sich nicht darum kümmern Sie müssen nur das aufrufen, was wir bereits haben. Implementieren Sie gute Schnittstellen, z. B. Support-Set-Lese- und Schreibschnittstellen, Meta-Train- und Finetune-Implementierungsschnittstellen und GPU-Serving-Anpassungsschnittstellen. Benutzer müssen lediglich geschäftsbezogene Parameter wie Verlust, Aufgabeneingaben, Bezeichnung usw. übergeben. Dieses Design erspart Algorithmusingenieuren die Kosten für Forschung, Entwicklung, Experimente und Versuch und Irrtum und verbessert die Iterationseffizienz des Algorithmus. Gleichzeitig kann der verallgemeinerte Code mehrere Geschäftsszenarien bedienen, wodurch Personal- und Ressourcenkosten gespart werden. Der Einsatz von Meta-Learning im Zwei-Türme-Rückrufszenario wird mit dem Benutzer als Dimension modelliert, einschließlich des Benutzerturms und des Artikelturms. Die Vorteile des Modells sind: steckbar, keine Änderung von Beispielen und Online-Architektur erforderlich, stabil und risikofrei; der Nachteil besteht darin, dass der Supportsatz die Daten der vorherigen Stunde ist, was zu Echtzeitproblemen führt. Ein weiteres Anwendungsszenario des Meta-Lernens ist das Sequenzrückrufszenario. Dieses Szenario wird mit dem Benutzer als Szenario und der Verhaltenssequenz des Benutzers als Unterstützungssatz modelliert , die wir verwalten werden Eine negative Probenwarteschlange, die Proben in der Probenwarteschlange werden als negative Proben verwendet und die positiven Proben werden in den Unterstützungssatz gespleißt. Die Vorteile hiervon sind: stärkere Echtzeitleistung und geringere Kosten. Abschließend wird Meta-Learning auch in Sortierszenarien angewendet, wie zum Beispiel dem mmoe-Feinsortiermodell im Bild oben. Es gibt zwei Implementierungsmethoden: nur die Verwendung von Finetune und die Verwendung von Meta-Train und Finetune. Die zweite Implementierungsmethode ist effektiver. Meta-Learning hat in verschiedenen Szenarien gute Ergebnisse erzielt. Jede Szene verfügt über mehrere empfohlene Eingänge. Es ist notwendig, für jede Szene eine Reihe von Verknüpfungen vom Rückruf über die grobe Rangfolge bis hin zur feinen Rangfolge festzulegen. Besonders kleine Szenen sowie mittlere und lange Verkehrsdaten sind spärlich und der Optimierungsraum ist begrenzt. Können wir Beispiele ähnlicher Empfehlungsportale, Offline-Schulungen und Online-Dienste in einem Produkt in ein Set integrieren, um Kosten zu sparen und die Ergebnisse zu verbessern? Allerdings gibt es dabei gewisse Herausforderungen. Suchen Sie im Browser nach Gu Ailing, und nach dem Klicken auf den spezifischen Inhalt werden relevante Suchbegriffe angezeigt. Nach dem Klicken auf die Ergebnisse werden Empfehlungen angezeigt. Die Verkehrsanteile, Klickraten und Funktionsverteilungen der beiden sind recht Gleichzeitig gibt es auch Unterschiede in den geschätzten Zielen. Wenn Sie ein Multitask-Modell für ein domänenübergreifendes Modell verwenden, treten schwerwiegende Probleme auf und Sie können keine besseren Vorteile erzielen. Die Implementierung einer szenarioübergreifenden Modellierung in Tencent ist eine große Herausforderung. Erstens können in anderen Unternehmen die Merkmale der beiden Szenarien eins zu eins übereinstimmen, aber im domänenübergreifenden Empfehlungsfeld von Tencent können die Merkmale der beiden Szenarien nicht abgeglichen werden. Eine Stichprobe kann nur zu einem Szenario gehören. Die Datenverteilung ist sehr unterschiedlich und es ist schwierig, die geschätzten Ziele aufeinander abzustimmen. Entsprechend den personalisierten Anforderungen der domänenübergreifenden Empfehlungsszenarien von Tencent wird die obige Methode zur Handhabung verwendet. Für die gemeinsame Einbettung allgemeiner Funktionen verfügen die personalisierten Szenenfunktionen über einen eigenen unabhängigen Einbettungsraum. Im Modellteil gibt es gemeinsame Experten und personalisierte Experten. Alle Daten fließen in die gemeinsamen Experten ein, und die Beispiele jeder Szene haben ihre eigenen Personalisieren Sie den Experten, integrieren Sie den gemeinsamen Experten und den personalisierten Experten über das personalisierte Tor, geben Sie sie in den Turm ein und verwenden Sie die Sternmethode, um das Problem der Zielspärlichkeit in verschiedenen Szenarien zu lösen. Für den Expertenteil kann eine beliebige Modellstruktur verwendet werden, z. B. Share Bottom, MMoE, PLE oder eine vollständige Modellstruktur für das Geschäftsszenario. Die Vorteile dieser Methode sind: Das Modell ist äußerst vielseitig und eignet sich für den Fusionszugriff verschiedener Modelle, da der Szenenexperte direkt migriert werden kann, der ursprüngliche Szeneneffekt nicht beschädigt wird und der Effekt des szenarioübergreifenden Wissenstransfers verbessert wird. Nach der Fusion wird das Modell reduziert und die Trainingsgeschwindigkeit verbessert. Verbessern und gleichzeitig Kosten sparen. Wir haben eine universelle Konstruktion durchgeführt. Der rote Teil ist der Inhalt, der personalisierten Zugriff erfordert, z. B. personalisierte Funktionen, personalisierte Modellstruktur usw. Benutzer müssen nur personalisierten Code schreiben. Für andere Teile haben wir den gesamten Codesatz mit ModelZoo verbunden, der direkt vererbt und verwendet werden kann, und in Workflow-Komponenten der Plattform für maschinelles Lernen gekapselt, die direkt ausgeführt werden können. Diese Methode reduziert die Kosten für die Erforschung mehrerer Szenarien Zugang. Diese Methode erhöht die Stichprobengröße und verkompliziert die Modellstruktur, aber die Effizienz wird verbessert. Die Gründe dafür sind wie folgt: Da einige Features gemeinsam genutzt werden, ist die Anzahl der zusammengeführten Features aufgrund der gemeinsamen Einbettungsfunktion geringer als die Summe der Feature-Nummern, und der mittlere Schlüsselwert innerhalb des Stapels ist kleiner als der Die Summe der beiden Szenen verringert die Zeit des Ziehens oder Drückens von der Serverseite, wodurch die Kommunikationszeit gespart und die gesamte Schulungszeit verkürzt wird. Die Fusion mehrerer Szenarien kann die Gesamtkosten senken: Durch die Offline-Probenverarbeitung können die Kosten um 21 % gesenkt werden; durch die Verwendung der CPU zur Datenverfolgung werden 24 % der Kosten eingespart, während die Iterationszeit des Modells ebenfalls um 40 % reduziert wird %, und Online-Schulung Die Kosten, die Online-Servicekosten und die Modellgröße werden alle reduziert, sodass die Kosten für die gesamte Verbindung reduziert werden. Gleichzeitig eignet sich die Zusammenführung der Daten mehrerer Szenen besser für die GPU-Berechnung. Durch die Zusammenführung der CPU zweier einzelner Szenen mit der GPU wird ein höherer Anteil eingespart. Domainübergreifende Empfehlungen können vielfältig eingesetzt werden. Die erste ist eine Mehrszenen-Einzelobjektiv-Modellstruktur, die das Mehrszenen-Modellierungsframework direkt verwenden kann. Es wird nicht empfohlen, den Stern auf der Turmseite zu verwenden -objektiv und kann das Multi-Szenario-Modellierungs-Framework direkt verwenden Der Star auf der Turmseite; das letzte ist die Fusion mehrerer Rückruf- und Grobplanungsmodelle für dasselbe Produkt. Cross-Domain-Empfehlung verbessert nicht nur die Wirkung, sondern spart auch jede Menge Kosten.
6. Meta-Lernlösung
7. Industrialisierungspraxis des Meta-Lernens
2. Domainübergreifende Empfehlung
1. Schwachstellen der domänenübergreifenden Empfehlung
Das obige ist der detaillierte Inhalt vonIndustrielle Praxis des Meta-Learnings und der domänenübergreifenden Empfehlung von Tencent TRS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!