0 / 0
Zurück zur englischen Version der Dokumentation
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

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.

Diagramm, das den mit Slate kodierten Abfragetext mit dem kodierten Passagetext vergleicht

Abb. 1. Bi-Encoder-Einbettungsmodell für die Suche

Basis-Sprachmodell

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

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:

  1. Aufgabenspezifisches (abrufbasiertes) Vortraining
  2. Aufgabenspezifische Feinabstimmung der verarbeiteten Paare
  3. 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

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

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.

Diagramm, das die Destillation von slate.125m.english zu slate.125m.rtrvr zu slate.30m.rtrvr zeigt

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

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

# 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))

Die maximale Sequenzlänge dieses Modells beträgt 512 Token.

Evaluierung

Grundlinien

Um einen fairen Vergleich anzustellen, vergleichen wir mit den folgenden Grundlinien:

  1. BM25 (ein traditionelles Modell auf der Grundlage von tf-idf)

  2. ELSER (ein kommerzieller Suchalgorithmus, der von Elastic bereitgestellt wird)

  3. 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

  4. 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

  5. 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

  6. BGE-base: ein aktuelles Open-Source-Transformationsmodell mit einer der besten Leistungen beim BEIR-Benchmark für die Einbettungsgröße 768. Modellkarte Huggingface

  7. 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.

Unser Bewertungsmaßstab: BEIR(MTEBs Registerkarte für die Suche)

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

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

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

Grafik mit den Ergebnissen für Slate und andere Modelle

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

Grafik mit den Ergebnissen für Slate und andere Modelle

Abbildung 4. Leistungsvergleich mit dem Long NQ-Datensatz

Laufzeitleistung

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.

Tabelle 5. Laufzeitleistung bei der Neueinstufung
Modell Zeit/Abfrage
all-miniLM-L6-v2 0.18 sec
E5-small 0.33 sec
E5-base 0.75 sec
BGE-klein 0.34 sec
BGE-Basis 0.75 sec
slate.125m.english.rtrvr 0.71 sec
slate.30m.english.rtrvr 0.20 sec
Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen