Vai al contenuto
AI.info

The Pulse

Hugging Face illustra un addestramento che tiene conto del pooling per i modelli di embedding

Hugging Face ha pubblicato un approccio all’addestramento dei modelli di embedding multi-vettore che tiene conto della compressione durante il recupero. Un esperimento ha confrontato l’approccio con un addestramento ordinario, a parità di budget di vettori per documento.

Hugging Face illustra un addestramento che tiene conto del pooling per i modelli di embedding

Un metodo di addestramento che tiene conto del pooling dei token ha aumentato il punteggio medio nDCG@10 su NanoBEIR di un modello di embedding multi-vettore da 49,03 a 51,23 con un fattore di pooling pari a quattro, secondo un post di Tom Aarsen su Hugging Face. L’esperimento ha confrontato un modello addestrato con la funzione obiettivo che tiene conto della compressione con uno addestrato senza di essa.

Il pooling dei token combina vettori di documento simili in una rappresentazione più compatta. L’approccio all’addestramento applica una funzione obiettivo per il recupero sia prima sia dopo il pooling, fornendo all’encoder un feedback tanto sulle rappresentazioni compresse quanto su quelle complete.

Che cosa ha misurato il confronto

Il confronto ha utilizzato due modelli addestrati per un’epoca sulle stesse 120.000 triplette di MS MARCO. Condividevano inizializzazione e impostazioni di ottimizzazione, un limite di token e l’espansione delle query; la differenza tra gli esperimenti era la funzione di perdita. Aarsen non ha effettuato una ricerca degli iperparametri.

Per ciascun modello, la valutazione ha misurato il punteggio medio di recupero con documenti non sottoposti a pooling e con diverse impostazioni di pooling. Al fattore usato nell’addestramento, il modello che teneva conto del pooling ha conservato una quota maggiore del proprio punteggio senza pooling rispetto al modello ordinario, secondo il post. La valutazione ha riguardato anche limiti fissi al numero di vettori e soglie adattive.

Come il pooling cambia il recupero

Un modello di embedding multi-vettore rappresenta un documento con una raccolta di vettori contestuali dei token, anziché con un unico vettore per l’intero documento. Durante il recupero, ogni vettore della query trova la migliore corrispondenza tra i vettori del documento e i punteggi di corrispondenza vengono sommati.

L’esempio usa il clustering gerarchico di Ward per raggruppare embedding di token simili. Parte da gruppi separati, li unisce ripetutamente in base alla loro dispersione interna e rappresenta ogni gruppo risultante con la sua media. I vettori ottenuti dal pooling vengono nuovamente normalizzati per il calcolo dei punteggi.

Il pooling può seguire la lunghezza di un documento, imporre un massimo fisso o usare una soglia di distanza che consente al numero di vettori di variare. La soglia adattiva può essere calibrata sugli embedding dei documenti di un campione del corpus, puntando a una media anziché a un numero identico per ogni documento. Gli embedding delle query restano invariati nella configurazione predefinita del pooling.

Addestramento e impiego

Il wrapper MultiVectorTokenPoolingLoss applica una funzione di perdita per il recupero già esistente alle varianti di pooling selezionate. Nell’esempio, alle perdite con e senza pooling viene assegnato lo stesso peso. Le varianti riutilizzano gli embedding dei token dell’encoder, senza richiedere un passaggio separato nell’encoder per ciascuna di esse.

Le assegnazioni ai cluster sono discrete, quindi il metodo di addestramento usa uno stimatore per trasmettere i gradienti dai vettori ottenuti dal pooling ai token che li compongono. Ciò fornisce all’encoder un feedback sugli errori di recupero nella rappresentazione compressa senza differenziare le assegnazioni ai cluster stesse.

Il post descrive anche l’uso del modello addestrato con un diverso fattore di pooling in fase di inferenza e la combinazione del pooling dei token con altri metodi di compressione. Tra questi figurano la riduzione della precisione delle coordinate memorizzate e la riduzione della dimensionalità di ciascun vettore di token.

Fonte

Notizie correlate

Esplora

Altri articoli