Een onderzoeksteam heeft PinGER geïntroduceerd, een systeem dat Pinterest gebruikt om aanbevelingen te vinden voor de functie Related Pins. Het systeem vervangt zoeken naar de dichtstbijzijnde buur door generatieve retrieval: in plaats van binnen itemrepresentaties naar een goede overeenkomst te zoeken, genereert een model de semantische ID van een item, een reeks tokens waarmee het wordt geïdentificeerd.
De paper richt zich op een afweging in eerdere systemen. Die gebruiken meerdere tokens om elk item in iemands activiteitengeschiedenis weer te geven. Bij een contextvenster van vaste grootte — de hoeveelheid invoer die het model tegelijk kan verwerken — passen daardoor minder items dan wanneer elk item met één embedding wordt weergegeven. Volgens de auteurs behoudt PinGER semantische ID’s voor gegenereerde resultaten, maar maakt het de invoergeschiedenissen compacter.
Hoe houdt PinGER gebruikersgeschiedenissen compact?
PinGER wisselt tokens voor semantische ID’s af met dense tokens, die een compacte weergave van een item vormen. Dankzij het attention mask kunnen latere items alleen aandacht besteden aan de dense tokens. Volgens de auteurs kan het model zo tijdens de training leren van elke positie met een semantische ID, maar bij inferentie één token per item gebruiken en toch dezelfde functie berekenen. Dat is de belangrijkste verandering die ervoor moet zorgen dat er in een contextvenster van vaste grootte meer van de gebruikersgeschiedenis past.
Het systeem maakt het ook mogelijk om retrieval op verschillende doelen af te stemmen. De auteurs beschrijven uitvoer die afhankelijk is van het doel, reinforcement learning en een strafmaatregel die herhaalde voorvoegsels in gegenereerde ID’s ontmoedigt. Samen moeten die functies doelen voor verschillende oppervlakken ondersteunen en zorgen voor een gevarieerdere verzameling kandidaten. In de samenvatting van de paper staat niet hoe die doelen voor individuele gebruikers worden ingesteld.
Wat is er veranderd in Related Pins?
Volgens de auteurs is PinGER geïmplementeerd in Pinterest’s Related Pins en is het aantal opgeslagen nieuwe Pins met 3.60% gestegen en het totale aantal opgeslagen Pins met 0.62%. Ook melden ze dat de end-to-endlatentie van de functie met 0.7% is gedaald en dat PinGER de kosten heeft weggenomen van de nearest-neighbor-zoekopdracht die het verving. Dit zijn resultaten die de auteurs van het systeem rapporteren; de samenvatting vermeldt geen meetperiode of verkeerscijfers.
De serverconfiguratie van PinGER is ontworpen voor generatie met een brede beam — waarbij veel mogelijke uitvoeropties worden verkend — en beperkt het decoderen tot geldige item-ID’s. Vervolgens haalt het de kandidaten op met behulp van een index die op de hostmachine is opgeslagen. De paper presenteert deze combinatie van compacte invoer, gecontroleerde generatie en serverinfrastructuur als onderdeel van een systeem dat al in een aanbevelingsproduct draait, en niet slechts als een laboratoriumtest.
Waarom het ertoe doet
Voor mensen die Related Pins bekijken, wijst de gemelde stijging erop dat de aanbevelingen ertoe kunnen leiden dat meer Pins worden opgeslagen, terwijl de gemeten verandering in latentie klein is. De samenvatting vermeldt niet hoelang de resultaten zijn gemeten of hoe ze per gebruiker verschillen. Daardoor valt niet te zeggen of een individuele gebruiker verschil zal merken.