Argomento tradotto automaticamente È possibile passare alla versione ingleseConsultare la dichiarazione di non responsabilità
Fare riferimento alla versione inglese (originale) per visualizzare una versione più accurata e aggiornata di questa documentazione. IBM non è responsabile di eventuali danni o perdite derivanti dall'uso di contenuti tradotti automaticamente (machine translation).
IBM slate-30m-english-rtrvr-v2 modello di scheda
Ultimo aggiornamento: 28 nov 2024
IBM slate-30m-english-rtrvr-v2 modello di scheda
Versione 2.0.1 Data: 30/06/2024
Descrizione modello
Copy link to section
Il modello slate.30m.english.rtrvr è un modello di trasformazione di frasi standard basato su bi-encoder. Il modello produce un embedding per un dato input, ad esempio una query, un passaggio, un documento ecc. Ad alto livello, il nostro modello viene addestrato per massimizzare la somiglianza del coseno tra due testi in ingresso, ad esempio il testo A (testo di interrogazione) e il testo B (testo di passaggio), che risultano nelle incorporazioni di frasi q e p. Queste incorporazioni di frasi possono poi essere confrontate utilizzando la similarità del coseno.
Figura 1. Modello di incorporazioni bi-encoder per il recupero
Modello linguistico di base
Copy link to section
Il modello linguistico (LM) sottostante per le nostre incorporazioni è “slate.30m.english”. Ha la stessa architettura di un modello di trasformatore small-RoBERTa (6 strati) e ha ~30 milioni di parametri e una dimensione di incorporazione di 384. In particolare, “slate.30m.english” è stato distillato da “slate.125m.english” (precedentemente, WatBERT). Il nostro modello finale si chiama slate.30m.english.rtrvr. Si noti il suffisso alla fine che indica la messa a punto dell'architettura del modello sottostante per i compiti basati sul reperimento.
Algoritmo di formazione
Copy link to section
La maggior parte dei modelli di incorporamento all'avanguardia o in cima alla classifica MTEB vengono in genere addestrati in 3 fasi:
Pre-training specifico per il compito (basato sul recupero)
Messa a punto specifica del compito sulle coppie estratte
Messa a punto delle coppie supervisionate. Seguiamo un approccio simile, combinando le due fasi finali in un'unica fase di messa a punto.
slate.30m.english.rtrvr è prodotto distillando dal modello “slate.125m.english.rtrvr-06-30-2024” nella fase di messa a punto (i dettagli del modello di insegnante più grande sono disponibili a questo indirizzo). La distillazione della conoscenza trasferisce la conoscenza da un modello insegnante ad alte prestazioni in un modello studente più piccolo, addestrando la distribuzione di probabilità di uscita dello studente a corrispondere il più possibile a quella dell'insegnante, migliorando le prestazioni dello studente rispetto alla messa a punto autonoma.
Preformazione specifica per il compito
Copy link to section
Questa fase utilizza il framework RetroMAE per rendere il nostro LM sottostante maggiormente orientato al recupero. Inizializziamo la nostra LM di base con “slate.30m.english” e continuiamo con il pre-training RetroMAE, utilizzando i dati della Tabella 1. Qui, invece di usare solo le etichette dei dati, distilliamo anche le previsioni del codificatore RetroMAE usato da slate.125m.english.rtrvr. I nostri iper-parametri sono: tasso di apprendimento: 2e-5, numero di passi: 435000, GPU: 8 A100 (80GB) GPU.
Nota: questa è la nostra LM di base per le 2 fasi successive.
Distillazione con coppie non supervisionate e supervisionate
Copy link to section
Per l'addestramento di un modello di embedding utilizziamo un framework bi-encoder, come nella Figura 1. Inizializziamo con il modello pre-addestrato RetroMAE e impieghiamo ulteriormente la Distillazione della conoscenza con <coppie di testo query, passage> utilizzando un obiettivo contrastive loss con negatività in-batch. La Distillazione della Conoscenza addestra la distribuzione di probabilità di uscita dello studente in modo che corrisponda il più possibile a quella dell'insegnante. Nel contesto dei modelli retriever, la distribuzione di output è costituita dai punteggi di somiglianza tra coppie di testi. In particolare, per ogni coppia di frasi < query, passage>, la distribuzione dei punteggi dell'insegnante tra le incorporazioni di query e passage, cioè la somiglianza del coseno tra le incorporazioni, viene distillata nello studente.
L'insegnante utilizzato per la distillazione è il modello "slate.125m.english.rtrvr” addestrato sugli stessi dati menzionati di seguito. Il modello insegnante è stato addestrato utilizzando un paradigma a più stadi in cui un modello RetroMAE preaddestrato ha visto dati non supervisionati nella fase di preaddestramento ed è stato poi perfezionato su dati più puliti, estratti o etichettati in oro per alcune centinaia di passi. Per garantire la robustezza tra i vari set di dati, questo modello perfezionato è stato poi fuso con un altro modello addestrato con iperparametri diversi sugli stessi dati. Per ulteriori dettagli, consultare la scheda modello slate.125m.english.rtrvr.
Il flusso di trasferimento delle conoscenze è illustrato nella Figura 2.
Figura 2. Distillazione della conoscenza
Abbiamo estratto coppie su larga scala da vari domini, come indicato nella sezione Dati di formazione. Inoltre, includiamo anche coppie di alta qualità per il compito di recupero sui seguenti set di dati: SQuAD, Natural Questions, Specter, Stack Exchange (Title, Body), S2ORC, SearchQA, HotpotQA, Fever e Miracl. Per questi set di dati supervisionati, includiamo anche gli Hard Negative estratti con una versione precedente del modello slate.125m.english.rtrvr. Inoltre, generiamo sinteticamente le triple per creare coppie di buona qualità di domande-risposte, verifica dei fatti, ecc. utilizzando `Mixtral-8x7B-Instruct-v0.1`. Per fornire prestazioni migliori per i casi d'uso specifici di IBM, includiamo anche coppie create da dati di IBM Software Support e IBM Docs.
Gli iperparametri di distillazione sono: apprendimento rate:7e-4, numero di passi: 500000, dimensione effettiva del batch: 2048, GPU: 4 GPU A100_80GB.
Dati di formazione
Copy link to section
Tabella 1. Dati di pre-addestramento
Dataset
Passages
Wikipedia
36396918
Corpus di libri
3401308
Stack Exchange
15999837
Tabella 2. Messa a punto dei dati
Dataset
Coppie
Tripletta di citazioni SPECTER
684100
Stack Exchange Domande duplicate (titoli)
304525
Stack Exchange Domande duplicate (corpi)
250519
Stack Exchange Domande duplicate (titoli+corpi)
250460
Domande naturali (NQ)
100231
SQuAD2.0
87599
Coppie PAQ (domanda, risposta)
64371441
Scambio di coppie (Titolo, Risposta)
4067139
Coppie di scambio (titolo, corpo)
23978013
Scambio di coppie (Titolo+Corpo, Risposta)
187195
S2ORC Coppie di citazioni (titoli)
52603982
S2ORC (Titolo, Abstract)
41769185
S2ORC_citations_abstracts
52603982
WikiAnswers Coppie di domande duplicate
77427422
SearchQA
582261
HotpotQA
85000
Febbre
109810
Arxiv
2358545
Wikipedia
20745403
PubMed
20000000
Coppie Miracl En
9016
Coppie titolo-corpo DBPedia
4635922
Sintetico: Query-Passaggio di Wikipedia
1879093
Sintetico: Verifica dei fatti
9888
IBM: il supporto software triplica
40290
IBM: IBM Docs (Titolo-Corpo)
474637
IBM: IBM Supporto (Titolo-Corpo)
1049949
Utilizzo
Copy link to section
# make sure you’ve sentence transformers installed
pip install -U sentence-transformers
from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('path_to_slate_model')
input_queries = [
' Who made the song My achy breaky heart? ',
'summit define']
input_passages = [
" Achy Breaky Heart is a country song written by Don Von Tress. Originally titled Don't Tell My Heart and performed by The Marcy Brothers in 1991. ",
"Definition of summit for English Language Learners. : 1 the highest point of a mountain : the top of a mountain. : 2 the highest level. : 3 a meeting or series of meetings between the leaders of two or more governments."]
query_embeddings = model.encode(input_queries)
passage_embeddings = model.encode(input_passages)
print(util.cos_sim(query_embeddings, passage_embeddings))
Show more
La lunghezza massima della sequenza di questo modello è di 512 token.
Valutazione
Copy link to section
Baseline
Copy link to section
Per un confronto equo, ci confrontiamo con le seguenti linee di base:
BM25 (un modello tradizionale basato su tf-idf)
ELSER (un algoritmo di ricerca commerciale fornito da Elastic)
all-MiniLM-l6-v2: un popolare modello di trasformatori di frasi open-source. Questo modello condivide la stessa architettura di slate.30m.english.rtrvr, è stato addestrato su un maggior numero di dati senza licenze commerciali. Per maggiori dettagli, consultare la scheda modello Huggingface
E5-base: un recente modello di trasformatore open-source con ottime prestazioni nel benchmark BEIR. Si tratta di un modello di dimensioni base, che ha la stessa architettura di slate.125m.english.rtrvr. [Riferimento: Wang et.al.., 2022: Text Embeddings by Weakly-Supervised Contrastive Pre-training]. Modello di carta Huggingface
E5-small: un modello più piccolo della famiglia open source E5. La dimensione di incorporazione di questo modello corrisponde a quella di slate.30m.rtrvr (384), ma ha 12 strati e quindi è più grande e leggermente più lento. [Riferimento: Wang et.al.., 2022: Text Embeddings by Weakly-Supervised Contrastive Pre-training]. Modello di carta Huggingface
BGE-base: un recente modello di trasformatore open-source con una delle migliori prestazioni sul benchmark BEIR per la dimensione di incorporazione 768. Modello di carta Huggingface
BGE-small: un recente modello di trasformatore open-source con una delle migliori prestazioni sul benchmark BEIR per la dimensione di incorporazione 384. Modello di carta Huggingface
Confrontiamo inoltre le prestazioni di questi modelli con le versioni precedenti dei modelli slate, slate.125m.english.rtrvr-012024 e slate.30m.english.rtrvr-012024.
Il benchmark BEIR contiene 15 compiti di recupero open-source valutati in un'impostazione a zero colpi. Il BEIR si è concentrato sulla Diversità, includendo nove diversi compiti di recupero: Fact checking, citation prediction, duplicate question retrieval, argument retrieval, news retrieval, question answering, tweet retrieval, bio-medical IR e entity retrieval. Inoltre, include dataset provenienti da domini testuali diversi, dataset che coprono argomenti ampi (come Wikipedia) e argomenti specialistici (come le pubblicazioni COVID-19), diversi tipi di testo (articoli di notizie vs. Tweets), dataset di varie dimensioni (3.6k - 15M documenti) e dataset con diverse lunghezze di query (lunghezza media della query tra 3 e 192 parole) e di documenti (lunghezza media del documento tra 11 e 635 parole). Per la valutazione, BEIR utilizza la metrica Normalized Cumulative Discount Gain (in particolare, nDCG@10).
Lungo NQ
Copy link to section
Long NQ è un set di dati IBM progettato per valutare l'intera pipeline RAG, basato su un sottoinsieme del set di dati NaturalQuestions. Il dev set è composto da 300 domande a risposta libera con un corpus di 178.891 passaggi da 2.345 documenti di Wikipedia. Long NQ fornisce anche i passaggi di Wikipedia oro che sono rilevanti per ogni domanda. Durante il recupero, il compito è quello di ottenere il passaggio aureo rilevante dal corpus per ogni domanda.
Risultati
Copy link to section
Tabella 3. Confronto delle prestazioni sul benchmark BEIR (scheda di recupero MTEB)
Modello
BEIR-15 (NDCG@10)
BM25
42.02
ELSER
49.01
all-miniLM-L6-v2
41.95
ES-small-v2
49.04
ES-base-v2
50.29
BGE-piccolo
51.68
BGE-base
53.25
slate.30m.english.rtrvr 01.20.2024
46.91
slate.125m.english.rtrvr-01.20.2024
49.37
slate.30m.english.rtrvr 06.30.2024
49.06
slate.125m.english.rtrvr-06.30.2024
51.26
Figura 3 Confronto delle prestazioni sul benchmark BEIR (scheda di recupero MTEB)
Tabella 4. Confronto delle prestazioni sul set di dati Long NQ
Modello
LONGNQ (NDCG@10)
all-miniLM-L6-v2
58.10
BGE-piccolo
59.33
BGE-base
61.29
ES-small-v2
61.88
ES-base-v2
63.80
slate.30m.english.rtrvr 01.20.2024
59.94
slate.125m.english.rtrvr-01.20.2024
65.01
slate.30m.english.rtrvr 06.30.2024
62.07
slate.125m.english.rtrvr-06.30.2024
66.80
Figura 4. Confronto delle prestazioni sul set di dati Long NQ
Prestazioni in tempo reale
Copy link to section
Il tempo di esecuzione delle prestazioni è stato misurato su un compito di re-ranking con 466 query. Per ogni query ri-arranchiamo i top-100 passaggi ottenuti da BM25 e riportiamo il tempo medio su tutte le query. La riorganizzazione è stata eseguita su una GPU A100_40GB.
Tabella 5. Prestazioni in tempo reale del re-ranking