Sommario
Ogni giorno, centinaia di milioni di persone visitano la sezione Explore di Instagram per scoprire contenuti nuovi, rendendola una delle principali superfici di raccomandazione su Instagram. Per costruire un sistema in grado di raccomandare contenuti pertinenti in tempo reale, Meta ha implementato tecniche avanzate di apprendimento automatico.
Il ruolo dell’IA in Explore
L’intelligenza artificiale gioca un ruolo cruciale nel determinare ciò che le persone vedono sulle piattaforme di Meta. Per costruire un sistema di raccomandazione su larga scala, Meta ha introdotto un linguaggio specifico per dominio (DSL) e un approccio multi-fase al ranking. Questo sistema ha subito diverse evoluzioni, con diverse fasi ben definite, ognuna focalizzata su obiettivi e algoritmi specifici.
Recupero dei contenuti
Il recupero ha lo scopo di ottenere un’approssimazione di quali contenuti saranno classificati in alto nelle fasi successive. In un mondo ideale, sarebbe possibile classificare tutti i contenuti disponibili. Tuttavia, a causa delle limitazioni reali, la maggior parte dei sistemi di raccomandazione utilizza un approccio a imbuto multi-fase.
Two Tower NN
Il modello Two Tower NN merita una menzione speciale nel contesto del recupero. Questo modello estende l’algoritmo Word2Vec, consentendo di utilizzare qualsiasi caratteristica dell’utente o del media/autore e di apprendere da molteplici compiti contemporaneamente. Questo modello mantiene la manutenibilità e la natura in tempo reale di Word2Vec, rendendolo una scelta eccellente per un algoritmo di sourcing dei candidati.
Storia delle interazioni dell’utente
Si possono utilizzare anche le incorporazioni di elementi per recuperare elementi simili a quelli della cronologia delle interazioni di un utente. Ad esempio, se un utente ha messo “mi piace” o ha condiviso alcuni elementi, è possibile trovare una lista di elementi simili a ciascuno di essi e combinarli in un’unica lista.
Classificazione
Dopo il recupero dei candidati, il sistema deve classificarli in base al valore per l’utente. La classificazione in un sistema ad alto carico viene solitamente suddivisa in più fasi che riducono gradualmente il numero di candidati da alcune migliaia a poche centinaia.
Prima e seconda fase di classificazione
Nella prima fase di classificazione, il modello Two Tower NN viene utilizzato nuovamente. Nella seconda fase, viene applicato un modello di rete neurale multi-task multi-label (MTML) molto più pesante del modello Two Towers.
Riclassificazione finale
La semplice restituzione dei risultati ordinati in base al punteggio VM finale potrebbe non essere sempre la scelta migliore. Ad esempio, potrebbe essere necessario filtrare o abbassare alcuni elementi in base a punteggi legati all’integrità.
Sintonizzazione dei parametri
Ci sono letteralmente centinaia di parametri regolabili che controllano il comportamento del sistema. Per ottenere buoni risultati online, è essenziale identificare i parametri più importanti e capire come regolarli.
Ottimizzazione bayesiana e sintonizzazione offline
L’ottimizzazione bayesiana (BO) consente di eseguire la sintonizzazione dei parametri online. La sintonizzazione offline, d’altra parte, richiede una forte correlazione tra metriche offline e online.
La crescente complessità del ranking per Explore
Il lavoro descritto qui è lontano dall’essere completato. La crescente complessità dei sistemi porrà nuove sfide in termini di manutenibilità e cicli di feedback. Per affrontare queste sfide, Meta prevede di continuare a migliorare i modelli attuali e adottare nuovi modelli di ranking e fonti di recupero.