Maschinell übersetztes Thema Sie können zur englischen Version wechseln.Siehe Haftungsausschluss
Die genaueste und aktuellste Version dieser Dokumentation finden Sie in der englischen (ursprünglichen) Version. IBM haftet nicht für Schäden oder Verluste, die durch die Verwendung automatisch (maschinell) übersetzter Inhalte entstehen.
IBM slate-30m-english-rtrvr-v2 Modellkarte
Letzte Aktualisierung: 28. Nov. 2024
IBM slate-30m-english-rtrvr-v2 Modellkarte
Version 2.0.1 Datum: 30.06.2024
Modellbeschreibung
Copy link to section
Das Modell slate.30m.english.rtrvr ist ein Standard-Satzumwandlungsmodell, das auf Bi-Codierern basiert. Das Modell erzeugt eine Einbettung für eine gegebene Eingabe, z. B. eine Anfrage, eine Passage, ein Dokument usw. Auf einer hohen Ebene wird unser Modell so trainiert, dass es die Kosinusähnlichkeit zwischen zwei Eingabetexten maximiert, z. B. zwischen Text A (Abfragetext) und Text B (Passagetext), was zu den Satzeinbettungen q und p führt. Diese Satzeinbettungen können dann anhand der Kosinusähnlichkeit verglichen werden.
Abb. 1. Bi-Encoder-Einbettungsmodell für die Suche
Basis-Sprachmodell
Copy link to section
Das zugrunde liegende Sprachmodell (LM) für unsere Einbettungen ist “slate.30m.english”. Es hat die gleiche Architektur wie ein small-RoBERTa Transformatormodell (6 Schichten) und hat ~30 Millionen Parameter und eine Einbettungsdimension von 384. Konkret wurde “slate.30m.english” aus “slate.125m.english” (früher WatBERT) destilliert. Unser endgültiges Modell heißt slate.30m.english.rtrvr. Beachten Sie das Suffix am Ende, das besagt, dass wir die zugrunde liegende Modellarchitektur für abrufbasierte Aufgaben feinabstimmen.
Trainingsalgorithmus
Copy link to section
Die meisten Einbettungsmodelle, die entweder dem neuesten Stand der Technik entsprechen oder an der Spitze der MTEB-Rangliste stehen, werden in der Regel in drei Stufen trainiert:
Aufgabenspezifisches (abrufbasiertes) Vortraining
Aufgabenspezifische Feinabstimmung der verarbeiteten Paare
Feinabstimmung bei überwachten Paaren. Wir verfolgen einen ähnlichen Ansatz, indem wir die letzten beiden Stufen zu einem einzigen Feinabstimmungsschritt zusammenfassen.
slate.30m.english.rtrvr wird durch Destillation aus dem Modell “slate.125m.english.rtrvr-06-30-2024” im Feinabstimmungsschritt erzeugt (Einzelheiten zum größeren Lehrermodell finden Sie an dieser Stelle). Knowledge Distillation überträgt das Wissen eines leistungsstarken Lehrermodells in ein kleineres Schülermodell, indem es die Wahrscheinlichkeitsverteilung des Schülers so weit wie möglich an die des Lehrers anpasst, wodurch sich die Leistung des Schülers im Vergleich zur alleinigen Feinabstimmung verbessert.
Aufgabenspezifische Vorschulung
Copy link to section
In dieser Phase wird das RetroMAE verwendet, um unser zugrunde liegendes LM stärker auf das Abrufen von Informationen auszurichten. Wir initialisieren unser Basis-LM mit “slate.30m.english” und fahren mit RetroMAE Pre-Training fort, unter Verwendung der Daten in Tabelle 1. Anstatt nur die harten Etiketten aus den Daten zu verwenden, destillieren wir hier auch die Vorhersagen des RetroMAE-Encoders, der von slate.125m.english.rtrvr verwendet wird. Unsere Hyper-Parameter sind: Lernrate: 2e-5, Anzahl der Schritte: 435000, GPUs: 8 A100 (80GB) GPUs.
Hinweis: Dies ist unser Basis-LM für die folgenden 2 Stufen.
Destillation mit unbeaufsichtigten und beaufsichtigten Paaren
Copy link to section
Wir verwenden einen Bi-Encoder-Rahmen für das Training eines Einbettungsmodells, wie in Abbildung 1 dargestellt. Wir initialisieren mit dem RetroMAE vortrainierten Modell und verwenden anschließend Knowledge Distillation mit <Frage, Passage> Textpaaren unter Verwendung eines kontrastiven Verlusts mit In-Batch-Negativen. Die Wissensdestillation trainiert die Wahrscheinlichkeitsverteilung des Schülers so, dass sie derjenigen des Lehrers möglichst nahe kommt. Im Zusammenhang mit Retriever-Modellen ist die Ausgabeverteilung die Ähnlichkeitsbewertung zwischen Textpaaren. Konkret wird für jedes Satzpaar < Frage, Passage> die Verteilung der Bewertungen des Lehrers zwischen den Einbettungen von Frage und Passage, d.h. die Kosinusähnlichkeit zwischen den Einbettungen, auf den Schüler übertragen.
Der Lehrer, der für die Destillation verwendet wird, ist das Modell "slate.125m.english.rtrvr”, das auf denselben Daten trainiert wurde, wie unten erwähnt. Das Lehrermodell wurde mit Hilfe eines mehrstufigen Paradigmas trainiert, bei dem ein RetroMAE-Modell in der Pre-Trainingsphase unüberwachte Daten sah und dann in einigen hundert Schritten an saubereren, mit Mining- oder Gold-Labels versehenen Daten feinabgestimmt wurde. Um die Robustheit über verschiedene Datensätze hinweg zu gewährleisten, wurde dieses fein abgestimmte Modell dann mit einem anderen Modell fusioniert, das mit anderen Hyperparametern auf denselben Daten trainiert wurde. Weitere Einzelheiten entnehmen Sie bitte der slate.125m.english.rtrvr Modellkarte.
Der Ablauf des Wissenstransfers ist in Abbildung 2 dargestellt.
Abbildung 2: Wissensdestillation
Wie im Abschnitt Trainingsdaten angegeben, werden große Paare aus verschiedenen Bereichen ermittelt. Darüber hinaus haben wir auch hochwertige Paare für die Retrieval-Aufgabe auf den folgenden Datensätzen: SQuAD, Natural Questions, Specter, Stack Exchange (Title, Body) Paare, S2ORC, SearchQA, HotpotQA, Fever, und Miracl. Zu diesen überwachten Datensätzen gehören auch Hard Negatives, die mit einer früheren Version des Modells slate.125m.english.rtrvr gewonnen wurden. Darüber hinaus generieren wir Triples synthetisch, um qualitativ hochwertige Frage-Antwort-Paare, Faktenüberprüfungen usw. mit `Mixtral-8x7B-Instruct-v0.1` zu erstellen. Um eine bessere Leistung für IBM-spezifische Anwendungsfälle zu bieten, werden auch Paare einbezogen, die aus IBM-Software-Support-Daten und IBM Docs erstellt wurden.
Die Hyperparameter der Destillation sind: Lernrate rate:7e-4, Anzahl der Schritte: 500000, effektive Batchgröße: 2048, GPUs: 4 A100_80GB GPUs.
Trainingsdaten
Copy link to section
Tabelle 1. Pre-Training Daten
Dataset
Passagen
Wikipedia,
36396918
Bücher Corpus
3401308
Stack Exchange
15999837
Tabelle 2. Feinabstimmung der Daten
Dataset
Paare
SPECTER-Zitat-Drillinge
684100
Stack Exchange Doppelte Fragen (Titel)
304525
Stack Exchange Doppelte Fragen (Körper)
250519
Stack Exchange Doppelte Fragen (Titel+Körper)
250460
Natürliche Fragen (NQ)
100231
SQuAD2.0
87599
PAQ-Paare (Frage-Antwort-Paare)
64371441
Stack Exchange (Titel, Antwort) Paare
4067139
Stack Exchange (Titel, Körper) Paare
23978013
Stack Exchange (Titel+Körper, Antwort) Paare
187195
S2ORC Zitatpaare (Titel)
52603982
S2ORC (Titel, Zusammenfassung)
41769185
S2ORC_citations_abstracts
52603982
WikiAnswers Doppelte Fragenpaare
77427422
SearchQA
582261
HotpotQA
85000
Fieber
109810
Arxiv
2358545
Wikipedia,
20745403
PubMed
20000000
Miracl En Pairs
9016
DBPedia Titel-Körper-Paare
4635922
Synthetisch: Abfrage-Wikipedia-Passage
1879093
Synthetisch: Überprüfung der Fakten
9888
IBM: Software-Unterstützung verdreifacht sich
40290
IBM: IBM Docs (Title-Body)
474637
IBM: IBM Unterstützung (Title-Body)
1049949
Verwendung
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
Die maximale Sequenzlänge dieses Modells beträgt 512 Token.
Evaluierung
Copy link to section
Grundlinien
Copy link to section
Um einen fairen Vergleich anzustellen, vergleichen wir mit den folgenden Grundlinien:
BM25 (ein traditionelles Modell auf der Grundlage von tf-idf)
ELSER (ein kommerzieller Suchalgorithmus, der von Elastic bereitgestellt wird)
all-MiniLM-l6-v2: ein beliebtes Open-Source-Satzumwandlungsmodell. Dieses Modell hat die gleiche Architektur wie slate.30m.english.rtrvr, wurde aber auf mehr Daten ohne kommerzielle Lizenzen trainiert. Weitere Einzelheiten entnehmen Sie bitte der Modellkarte von Huggingface
E5-base: ein neueres Open-Source-Transformationsmodell mit sehr guter Leistung beim BEIR-Benchmark. Dies ist ein Basismodell, das dieselbe Architektur hat wie slate.125m.english.rtrvr. [Referenz: Wang et.al., 2022: Texteinbettungen durch schwach überwachtes kontrastives Vortraining]. Modellkarte Huggingface
E5-small: ein kleineres Modell innerhalb der quelloffenen E5 Familie. Die Einbettungsgröße dieses Modells entspricht der von slate.30m.rtrvr (384), allerdings hat es 12 Schichten und ist daher größer und etwas langsamer. [Referenz: Wang et.al., 2022: Texteinbettungen durch schwach überwachtes kontrastives Vortraining]. Modellkarte Huggingface
BGE-base: ein aktuelles Open-Source-Transformationsmodell mit einer der besten Leistungen beim BEIR-Benchmark für die Einbettungsgröße 768. Modellkarte Huggingface
BGE-small: ein neueres Open-Source-Transformationsmodell mit einer der besten Leistungen beim BEIR-Benchmark für die Einbettungsgröße 384. Modellkarte Huggingface
Wir vergleichen auch die Leistung dieser Modelle mit den älteren Versionen der Schiefermodelle, slate.125m.english.rtrvr-012024 und slate.30m.english.rtrvr-012024.
Der BEIR-Benchmark besteht aus 15 Open-Source-Retrievalaufgaben, die in einer Zero-Shot-Situation bewertet werden. BEIR konzentrierte sich auf Diversität und umfasste neun verschiedene Abrufaufgaben: Faktenüberprüfung, Vorhersage von Zitaten, Suche nach doppelten Fragen, Suche nach Argumenten, Suche nach Nachrichten, Beantwortung von Fragen, Suche nach Tweets, biologisch-medizinische IR und Suche nach Entitäten. Darüber hinaus enthält es Datensätze aus verschiedenen Textdomänen, Datensätze, die breite Themen (wie Wikipedia) und spezialisierte Themen (wie COVID-19 Publikationen) abdecken, verschiedene Texttypen (Nachrichtenartikel vs. Tweets), Datensätze unterschiedlicher Größe (3.6k - 15M Dokumente) und Datensätze mit unterschiedlichen Abfragelängen (durchschnittliche Abfragelänge zwischen 3 und 192 Wörtern) und Dokumentlängen (durchschnittliche Dokumentlänge zwischen 11 und 635 Wörtern). BEIR verwendet die Metrik Normalized Cumulative Discount Gain (insbesondere nDCG@10) zur Bewertung.
Lang NQ
Copy link to section
Long NQ ist ein IBM-Datensatz, der für die Evaluierung der gesamten RAG-Pipeline entwickelt wurde und auf einer Teilmenge des NaturalQuestions-Datensatzes basiert. Das Dev-Set umfasst 300 beantwortbare Fragen mit einem Korpus von 178.891 Passagen aus 2.345 Wikipedia-Dokumenten. Long NQ bietet auch goldene Wikipedia-Passagen, die für jede Frage relevant sind. Beim Abruf besteht die Aufgabe darin, für jede Frage die relevante Gold-Passage aus dem Korpus zu erhalten.
Ergebnisse
Copy link to section
Tabelle 3. Leistungsvergleich beim BEIR-Benchmark (Registerkarte MTEB-Abfrage)
Modell
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-klein
51.68
BGE-Basis
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
Abb. 3 Leistungsvergleich beim BEIR-Benchmark (Registerkarte MTEB-Abfrage)
Tabelle 4. Leistungsvergleich mit dem Long NQ-Datensatz
Modell
LONGNQ (NDCG@10)
all-miniLM-L6-v2
58.10
BGE-klein
59.33
BGE-Basis
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
Abbildung 4. Leistungsvergleich mit dem Long NQ-Datensatz
Laufzeitleistung
Copy link to section
Die Leistungslaufzeit wird anhand einer Aufgabe mit 466 Abfragen zur Neueinstufung gemessen. Für jede Abfrage werden die top-100-Passagen, die mit BM25 ermittelt wurden, neu gereiht und die durchschnittliche Zeit für alle Abfragen angegeben. Die Neueinstufung wurde auf einer A100_40GB GPU durchgeführt.