L’evoluzione del feed di LinkedIn apprendimento automatico più dettagliato e potente, con gli esseri umani ancora nel processo.

L'evoluzione del feed di LinkedIn apprendimento automatico più dettagliato e potente, con il ruolo centrale ancora affidato agli esseri umani.

Il feed di LinkedIn ha fatto molti progressi dagli inizi dell’assemblaggio dell’infrastruttura di machine learning che lo alimenta. Recentemente, è stata rilasciata un’importante aggiornamento a questa infrastruttura. Ci siamo messi in contatto con le persone che ne sono responsabili per discutere di come il principio di essere centrati sulle persone si traduce in termini tecnici e implementazione.

Introduzione

Come funzionano i dati e gli algoritmi basati su machine learning per controllare i feed di notizie e diffondere storie? Quanto di tutto ciò è automatizzato, quanto dovresti essere in grado di capire e controllare, e dove sta andando tutto questo?

Questa è stata l’introduzione al mio articolo del 2017 per ZDNet, che esplora ciò che allora era un feed di notizie di LinkedIn appena rinnovato in termini di come funziona il machine learning sottostante e quali sono i principi che lo governano. Sei anni sono molto tempo nel campo della tecnologia. Allora erano i primi giorni del machine learning (alias “AI”) che entrava nel mainstream. Oggi viviamo nell’era di ChatGPT.

Nell’ultimo anno l’interesse per l’AI è aumentato rapidamente e sembra che ci siano nuovi sviluppi quasi settimanalmente. LinkedIn non poteva rimanere indietro e i suoi modelli e l’infrastruttura di machine learning sono evoluti in modo significativo. Recentemente, LinkedIn Engineering ha pubblicato un post sul blog intitolato “Miglioramento della rilevanza del feed della home page sfruttando il potere di embedding di ID sparso di grandi dimensioni“.

Questo post del blog è un’esplorazione approfondita dei modelli e dell’infrastruttura di machine learning di LinkedIn, che alimentano il suo feed di notizie. A differenza del 2017, questi cambiamenti non sono direttamente percepibili. Non ci sono nuove funzionalità di per sé, ma piuttosto miglioramenti nella tecnologia sottostante con l’obiettivo di migliorare la rilevanza del feed.

Ci siamo messi in contatto con Jason Zhu, Ingegnere Software di Staff, e Tim Jurka, Direttore Senior dell’Ingegneria di LinkedIn, per discutere in che modo il principio di essere centrati sulle persone si traduce in termini tecnici.

Persona coinvolta nel processo

L’essenza dell’aggiornamento è che il modello di LinkedIn che alimenta il feed può ora gestire un numero maggiore di parametri, garantendo la consegna di contenuti di maggiore qualità. Nel processo, il team di Zhu ha anche aggiornato l’infrastruttura hardware che alimenta il modello.

Zhu fa parte del team delle Tecnologie Foundational AI di LinkedIn. Egli definisce la missione del team come “prototipare e costruire le fondamenta dietro quegli algoritmi avanzati che possono beneficiare più casi d’uso verticali su LinkedIn”. Zhu ha fornito una buona panoramica del precedente importante aggiornamento del feed nel 2021, di come ciò abbia portato all’ultimo aggiornamento, nonché di approfondimenti sul funzionamento interno dell’approccio di LinkedIn.

Tuttavia, eravamo anche interessati a scoprire cosa è cambiato rispetto all’incarnazione del feed di LinkedIn del 2017. In particolare, le persone portavoce di LinkedIn nel 2017 hanno enfatizzato l’approccio di coinvolgimento delle persone nel processo, e ci chiedevamo se questo fosse ancora presente. Come ha detto Jurka, è sicuramente ancora presente, forse ancora più di allora:

“Si riduce a due applicazioni per il feed. La prima è che stiamo cercando davvero di dare priorità a contenuti autentici e orientati alla conoscenza nel feed di LinkedIn, ed è un problema molto difficile da risolvere solo con l’AI. Ma abbiamo un intero team di giornalisti premiati guidati dal nostro direttore editoriale, Dan Roth.

In realtà abbiamo creato algoritmi di intelligenza artificiale che si addestrano sui contenuti che loro curano e che ritengono essere davvero il meglio del meglio in termini di approfondimenti di LinkedIn. Quell’algoritmo di intelligenza artificiale cerca poi di capire – L’editore promuoverebbe questo contenuto sulla piattaforma di LinkedIn? E in tal caso, cerchiamo di distribuirlo sulla piattaforma e vedere quali pubblici si identificano con quel particolare pezzo di contenuto.

L’approccio di coinvolgimento delle persone è applicato anche alla rilevazione dello spam. Mentre LinkedIn utilizza un sistema di rilevamento dello spam basato sull’IA, c’è anche l’opzione per gli utenti di segnalare lo spam, così come i moderatori di contenuti possono cercare eventuali cose che l’IA potrebbe aver trascurato.

Jurka ha aggiunto che per quanto riguarda la rilevazione dello spam nel feed, alcune cose sono rimaste le stesse, mentre altre sono cambiate. Il sistema di classificazione a tre categorie descritto nel 2017 non è cambiato molto. Ciò che è cambiato è che LinkedIn ha investito molto di più in una comprensione più approfondita dei contenuti, cercando di capire l’intento dietro ogni post.

Per esempio, è qualcuno che cerca di condividere un’opportunità di lavoro? È qualcuno che cerca di condividere la propria opinione sulle notizie? Rendere più dettagliato il contenuto aiuta LinkedIn a capire come distribuirlo sulla piattaforma.

Dal Lineare al Neurale, da un Singolo a Diversi Punti di Vista

Come ha condiviso Jurka, l’evoluzione dell’algoritmo di classifica del feed segue l’evoluzione del feed di LinkedIn. Rispetto al 2017, ci sono più membri che utilizzano il feed e più creatori di contenuti che pubblicano su LinkedIn. Molta complessità riguarda la capacità dei modelli di intelligenza artificiale di catturare tutti quei diversi casi d’uso. Ed è qui che comprendere l’intento è altrettanto rilevante.

“Ad esempio, potresti avere un post da un membro che menziona di aver raccolto fondi per la sua startup e ora stanno assumendo. E quel post può essere interpretato attraverso tre prospettive molto diverse.

Se sei alla ricerca di lavoro, quel post potrebbe essere un punto di ingresso per contattare e ottenere un lavoro, e il modello di intelligenza artificiale deve comprendere quel valore per te. Se sei un contatto di primo grado di quella persona, potrebbe essere solo per congratularsi e dire: ‘Ehi, volevo vedere se hai raccolto fondi per la Serie A. Congratulazioni.’ Se è qualcuno che si occupa di venture capital, questa è in realtà una scoperta in cui dicono: ‘Non sapevo che questa particolare azienda avesse raccolto fondi per la Serie A'”, ha detto Jurka.

Riprendendo da ciò, Zhu ha spiegato che il feed di LinkedIn contiene un elenco eterogeneo di aggiornamenti da membri, contatti e una varietà di raccomandazioni come lavori, persone e articoli. L’obiettivo è fornire un elenco personalizzato e classificato per ciascun membro, per aiutare i professionisti sulla piattaforma a essere più produttivi e di successo. Per raggiungere questo obiettivo, LinkedIn ha adottato un processo di classificazione a due fasi.

Con l’aumentare della dimensione di LinkedIn, vi è un impegno costante per mantenere il feed rilevante e tempestivo. C’è qualcosa chiamato “first pass ranker”, che viene applicato per ogni tipo di aggiornamento. Quindi i principali candidati di ogni tipo di aggiornamento vengono selezionati tramite algoritmi individuali prima di essere inviati al “second pass ranker” per una classifica finale “verde”.

I modelli di LinkedIn sono forniti con un insieme di caratteristiche sia dai membri che dai contenuti. Il modello cerca di prevedere un insieme di probabilità di risposte, come la probabilità di avviare una conversazione o la probabilità di eseguire determinate azioni su un determinato post.

In precedenza, LinkedIn ha transizionato la sua classifica da un modello lineare a un modello basato su deep learning/neural network. Zhu ha sottolineato che il modello di deep learning è più efficace perché introduce non linearità attraverso le funzioni di attivazione. Ciò consente ai modelli di catturare relazioni complesse e non lineari nei dati e di apprendere rappresentazioni più potenti.

Invece di un modello lineare individuale per prevedere ogni diversa risposta separatamente, un modello di deep learning multitasking condivide i parametri tra diversi compiti. Quindi l’apprendimento di ogni compito può beneficiare degli altri compiti attraverso il transfer learning, ha detto Zhu.

Tuttavia, ha aggiunto, i dati di LinkedIn sono fortemente sbilanciati tra diversi tipi di risposte. Ad esempio, ci sono più risposte di clic rispetto all’interazione. Pertanto, è necessario un campionamento e un ricalcolo cauti per evitare interferenze negative durante il processo di formazione del modello, poiché tutti questi compiti condividono i parametri.

Sfruttare il Potere dell’ampio corpus di Sparse ID Embeddings

Zhu ha presentato l’ultimo importante aggiornamento del feed di LinkedIn, ossia l’utilizzo del multi-task learning con TensorFlow. Come ha condiviso, la dimensione del modello di LinkedIn è cresciuta di un fattore di 500, mentre i set di dati sono cresciuti anche di un fattore di 10. Inoltre, il periodo di formazione è stato ampliato e ora vengono campionati più dati di addestramento. Ciò presenta anche alcune sfide in termini di superare i pregiudizi.

Tuttavia, questo era solo l’inizio per l’ultimo aggiornamento implementato dal team di Zhu. Il loro obiettivo era ottimizzare l’interazione, ciò significa migliorare la previsione della probabilità di come gli utenti interagiranno con diversi post. Quindi, attraverso un’ottimizzazione di questa previsione, LinkedIn può classificare meglio gli elementi del feed per fornire un’esperienza più coinvolgente agli utenti. La chiave di tutto questo erano i vettori di embedding sparsi. Vediamo cosa sono e perché sono rilevanti.

Conversione da ID stringa a embedding

(Fonte: “Migliorare la rilevanza del feed della homepage sfruttando il potere degli embedding sparsi dell’ID corpus grande”)

Come utente di LinkedIn interessato all’IA, potresti aver interagito con gli hashtag #AI e #ML. Un altro utente ha interagito con l’hashtag #generativeAI. Questi sono hashtag diversi. Tuttavia, tramite gli embedding, i loro significati semantici nello spazio di embedding sono vicini. Di conseguenza, il modello può capire che potresti avere gusti simili ai miei e il modello può consigliare contenuti simili nel campo dell’IA a entrambi gli utenti.

Per ogni elemento di contenuto su LinkedIn e per ogni utente, il sistema di raccomandazione utilizza un vettore di embedding. Ciò significa che quei vettori saranno molto grandi, ma anche molto sparsi. Saranno grandi, ovvero avranno molte dimensioni, perché ci sono molti argomenti diversi e gli hashtag corrispondenti. Ma saranno anche sparsi perché non tutti gli utenti hanno interagito con tutti gli hashtag.

Lo scopo di Zhu è quello di trasformare le caratteristiche di grandi corpi sparsi (come l’ID degli hashtag o l’ID degli elementi/post) nello spazio di embedding utilizzando tabelle di ricerca di embedding con centinaia di milioni di parametri addestrati su miliardi di record. Ad esempio, Zhu ha osservato che ci sono milioni di dimensioni per gli ID dei membri perché ci sono milioni di membri su LinkedIn.

“L’obiettivo per ogni membro è imparare una rappresentazione del tensore personalizzata. Questa rappresentazione del tensore codificherà le preferenze dell’utente, come l’interazione con altri utenti o le preferenze degli hashtag in un periodo fisso. Tutte queste informazioni verranno codificate in un vettore denso durante l’addestramento. Presentando al modello un tale vettore personalizzato, il modello sarà in grado di catturare il mondo dinamico e in costante mutamento oltre che le preferenze dei membri in modo migliore”, ha detto Zhu.

Le caratteristiche sparse possono essere interpretate come rappresentazioni one-hot categoriche in cui la cardinalità è di diversi milioni, ha osservato Zhi. In queste rappresentazioni, tutte le voci sono zero tranne una, che corrisponde a un indice di ID. Potrebbe essere un ID degli hashtag o un ID dei membri, ad esempio. Questi vengono trasformati in uno spazio denso continuo a bassa dimensione chiamato spazio di embedding, utilizzando tabelle di ricerca di embedding con centinaia di milioni di parametri addestrati su miliardi di record.

Come ha sottolineato Zhu, la tabella di embedding stessa è strettamente legata all’insieme di dati e al problema in questione. Tuttavia, la tecnica è sicuramente generalizzabile. Lo stesso approccio viene già utilizzato in diversi casi d’uso all’interno di LinkedIn, come la raccomandazione del lavoro e la raccomandazione degli annunci. “Stiamo adottando una strategia molto simile di conversione di quegli ID sparsi nella rappresentazione densa. Crediamo che sia un modo scalabile per sviluppare l’IA su LinkedIn”, ha detto Zhu.

Scaling Up, Going Forward

Il lavoro di Zhu ha toccato anche gli aggiornamenti dell’hardware. Come ha spiegato, il team ha affrontato sfide nel servire decine di modelli grandi in parallelo sul loro host di servizio dopo aver ingrandito le dimensioni del modello di 100 volte. L’host non era progettato per gestire una tale scala, quindi il team ha scelto di servire il modello con una strategia a due fasi.

Nella prima fase, viene addestrato un modello globale nel solito modo. Le caratteristiche dell’ID vengono convertite in vettori densi dalle grandi tabelle di embedding e quindi questi vettori densi vengono inviati a una rete neurale profonda insieme alle caratteristiche esistenti per interazioni implicite delle caratteristiche.

Nella seconda fase, il modello globale viene suddiviso al confine tra la tabella di embedding e la rete neurale profonda. Dal punto di vista della rete neurale profonda, ha solo bisogno di un insieme di vettori densi, che è la rappresentazione di embedding di quelle caratteristiche sparse per prevedere il risultato. La fase di conversione dell’ID non è necessaria per presentarlo sul percorso critico del servizio del modello.

Gli embedding vengono convertiti offline e inseriti in store chiave-valore ad alta performance. Pertanto, queste tabelle di embedding non devono essere ospitate nell’host di servizio che ha memoria limitata. Questa strategia viene utilizzata mentre LinkedIn lavora in parallelo sull’aggiornamento dell’host. Una volta completato l’aggiornamento, ha detto Zhu, tutto verrà spostato in memoria e saranno applicate ottimizzazioni della memoria. Il team ha adottato ed esteso il framework open-source Horovod.

Zhu ha identificato alcune direzioni che il suo team vorrebbe esplorare in futuro. Oltre a servire modelli che richiedono molta memoria e modelli che richiedono molta potenza di calcolo, un altro obiettivo è aumentare le dimensioni del modello aggiungendo più caratteristiche sparse. Il team sta esplorando anche qualcosa chiamato allenamento continuo o allenamento incrementale per catturare la dinamicità di un mondo in costante mutamento.

Come ha spiegato Zhu, attualmente gli embedding vengono addestrati su una base di periodo fisso. Ciò potrebbe potenzialmente introdurre il problema di risultati offline inconsistenti rispetto online o guadagni ridotti nel corso di un lungo periodo di tempo. Zhu ritiene che avendo un recupero più frequente, gli embedding possono catturare la dinamicità del sistema e prevedere meglio un feed personalizzato per i membri di LinkedIn.

Per maggiori dettagli, puoi ascoltare la conversazione completa con Zhu e Jurka qui sotto.