Wir haben
vdr-2b-multi-v1
Dies ist das beste mehrsprachige Einbettungsmodell für die visuelle Suche nach Dokumenten. Wir haben es auch in einfachem Englisch veröffentlichtvdr-2b-v1
und stellte die neuevdr-mehrsprachig-train
Der Datensatz enthält 500.000 qualitativ hochwertige Beispiele. Dieser Datensatz enthält 500.000 qualitativ hochwertige Beispiele und ist der größte mehrsprachige synthetische Open-Source-Datensatz für die visuelle Dokumentensuche.
mit Stolz präsentieren vdr-2b-multi-v1
(🤗) Es handelt sich dabei um ein mehrsprachiges Einbettungsmodell, das für die visuelle Dokumentensuche in mehreren Sprachen und Domänen entwickelt wurde. Dieses Modell wurde entwickelt, um Screenshots von Dokumentenseiten in dichte unidirektionale Darstellungen zu kodieren, die eine effektive Suche und Abfrage visuell reichhaltiger mehrsprachiger Dokumente ermöglichen, ohne dass OCR, Datenextraktionspipelines, Chunking usw. erforderlich sind.
vdr-2b-multi-v1
Das Modell basiert auf HerrLicht/dse-qwen2-2b-mrl-v1
und auf einem großen, selbst erstellten mehrsprachigen Datensatz von Abfrage-Bild-Paaren trainiert. Dieses Modell wurde in Zusammenarbeit mit LlamaIndex erstellt und ist mcdse-2b-v1
Die nächste Iteration von Die nächste Iteration unserer vdr-2b-multi-v1
Die Lern- und Trainingsmethoden wurden erweitert und verbessert, so dass ein leistungsfähigeres und besseres Modell entstanden ist.
- Auf 🇮🇹 Italienisch, 🇪🇸 Spanisch, 🇬🇧 Englisch, 🇫🇷 Französisch und 🇩🇪 Deutsch für die Ausbildung: Zusammen bilden sie einen neuen großen mehrsprachigen Open-Source-Trainingsdatensatz mit 500.000 qualitativ hochwertigen Beispielen.
- Niedriger Videospeicher und schnelleres DenkenIn dem Benchmark Synthetic Visual Document Retrieval (ViDoRe) schnitt unser rein englisches Modell mit 768 Bildblöcken besser ab als das Basismodell mit 2560 Bildblöcken. Dies führt zu einer dreimal schnelleren Inferenz und einer deutlich geringeren Nutzung des Grafikspeichers.
- sprachenübergreifende SucheSie ist in realen Szenarien deutlich besser. Sie können zum Beispiel mit einer italienischen Abfrage nach deutschen Dokumenten suchen.
- Matrjoschka drückte Lernen ausSie können die Größe der Vektoren um den Faktor 3 reduzieren und trotzdem die Einbettungsqualität von 98% beibehalten. Dies kann die Abrufgeschwindigkeit drastisch erhöhen und gleichzeitig die Speicherkosten senken.
Verwendung
🎲 Versuchen Sie es jetzt!
vdr-2b-multi-v1
Im Folgenden finden Sie ein Beispiel für die Art von Daten, die in der Datei Umarmung Gesicht Raum Finden Sie weiter!
Durch die direkte Integration von SentenceTransformers und LlamaIndex, unter Verwendung des vdr-2b-multi-v1
Die Erstellung von Einbettungen ist einfacher denn je. Mit nur ein paar Zeilen Code können Sie loslegen:
Über LlamaIndex
pip install -U llama-index-embeddings-huggingface
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
model = HuggingFaceEmbedding(
model_name="llamaindex/vdr-2b-multi-v1", device="cpu", # "mps" für
device="cpu", # "mps" für mac, "cuda" für nvidia GPUs
trust_remote_code=True,
)
image_embedding = model.get_image_embedding("image.png")
query_embedding = model.get_query_embedding("Chi ha inventato Bitcoin?")
über SentenceTransformers
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(
model_name_or_path="llamaindex/vdr-2b-multi-v1",
device="cuda",
trust_remote_code=True, # Dies sind die empfohlenen Werte für den SentenceTransformer.
# Dies sind die empfohlenen kwargs für das Modell, aber ändern Sie sie nach Bedarf, wenn Sie nicht über CUDA verfügen
model_kwargs={
"torch_dtype": torch.bfloat16, "device_map": torch.
"device_map": "cuda:0", "attn_implementation".
"attn_implementation": "flash_attention_2"
},
)
Einbettungen = model.encode("image.png")
Trainingsdatensatz
Um gute unidirektionale Modelle für die visuelle Dokumentensuche zu trainieren, sind qualitativ hochwertige Daten erforderlich, aber die aktuellen multimodalen Standarddatensätze sind rar und nicht mehrsprachig.
Daher haben wir viel Zeit damit verbracht, ihn von Grund auf neu aufzubauen. Der ursprüngliche Datensatz enthält 500.000 mehrsprachige Abfrage-Bild-Beispiele, die mit Hilfe von öffentlichen Internet-PDFs gesammelt und von Grund auf neu erstellt wurden. Die mit jedem Bild verknüpfte Abfrage wurde mithilfe von Visual Language Modelling (VLM) synthetisch erstellt. Zum Vergleich: Unser Datensatz ist viel größer als der größte bisherige synthetische Open-Source-Datensatz für multimodales visuelles Document Retrieval (d.h. der ColPali-Trainingsdatensatz (generierte verworfene Dokumente) 10 Mal mehr Stichproben.
Datenerhebung
Für jede Sprache erstellen wir eine lange Liste von Abfragen, die viele verschiedene Themen abdecken, die wir dann für die Suche nach PDFs verwenden. Wir nutzen die Sprachfilterfunktionen der Suchmaschine, um nur Dokumente in der angegebenen Sprache zu durchsuchen. Diese Technik der "Suche nach Themen" stellt sicher, dass das Modell viele verschiedene Themen und Bereiche gesehen hat und in realen Szenarien gut abschneidet.
Das Ergebnis des Crawling-Prozesses waren etwa 50.000 mehrsprachige Dokumente. Verglichen mit der vorherigen mcdse-2b-v1
Im Gegensatz zu dem im Modell verwendeten Ansatz werden die Seiten nicht zufällig extrahiert. Stattdessen durchläuft jede Seite jeder PDF-Datei das Dokumentenlayout-Analysemodell, um festzustellen, ob die Seite mehr textliche oder visuelle Elemente enthält. Das Ergebnis ist eine Zahl, die die Seite als rein textlastig, rein visuell oder als eine Mischung klassifiziert. Ungefähr 100.000 Seiten wurden dann mit Hilfe dieses Auszeichnungsschritts untersucht, um sicherzustellen, dass sie gleichmäßig nach Seitentyp verteilt sind.
synthetische Herstellung
Die Abfragen wurden dann mit gemini-1.5-pro und Qwen2-VL-72B erstellt. Ihre Aufgabe ist es, eine spezifische Frage und eine allgemeine Frage zu stellen. Nur die spezifische Frage wird zum Trainieren des Modells verwendet, aber wenn man Large Language Models (LLMs) zwingt, zwischen den beiden zu unterscheiden, führt dies in der Regel zu leistungsfähigeren spezifischen Fragen für das Information Retrieval Training.
Nach der Erstellung werden weitere Bereinigungsschritte durchgeführt, um sicherzustellen, dass das Problem für die Ausbildung ausreichend ist. Dies beinhaltet:
- Stellen Sie sicher, dass die Sprache korrekt ist
- Behebung von Formatierungsproblemen
- Abschriften löschen
- Sicherstellen, dass nur eine Frage gestellt wird
- Streichen Sie Basisformulierungen (z. B. "gemäß Abbildung 1", "dieses Dokument", ...)
Filterung und Suche nach harten negativen Fällen
Dieser Bereinigungsschritt gewährleistet, dass die Abfrage syntaktisch korrekt ist und einigen strengen Richtlinien folgt. Allerdings ist damit noch nicht sichergestellt, dass die Abfrage für den Informationsabruf ausreichend ist.
Um schlechte Fragen herauszufiltern, haben wir jede breite Abfrage mit dem voyage-3-Einbettungsmodell eingebettet und indiziert. Für jede spezifische Frage haben wir den Index durchsucht. Wenn die zugehörige allgemeine Frage unter den ersten 100 Ergebnissen erscheint, wird die Frage als "gut" eingestuft. Mit dieser Methode werden Fragen mit geringer Entropie, Duplikate oder zu große Ähnlichkeit entfernt. Im Durchschnitt wurden 40% Abfragen aus jedem Sprachdatensatz entfernt.
Die harten Negativbeispiele wurden dann mit voyage-3 nur bei bestimmten Problemen mit einem festen Schwellenwert von 0,75 ermittelt. Es wurde auch verwendet als nvidia/NV-Retriever-v1 Es wurden Experimente mit positivem Case-Aware Negative Case Mining durchgeführt, wie in beschrieben, aber auf diesem Datensatz scheint es negative Fälle zu produzieren, die zu einfach/weit entfernt sind.
Herunterladen von
(vdr-mehrsprachig-train 🤗) Der Trainingsdatensatz ist jetzt quelloffen und direkt auf Hugging Face verfügbar. Der Trainingsdatensatz enthält 496.167 PDF-Seiten, von denen nur 280.679 mit einer gefilterten Abfrage (nach der oben beschriebenen Methode) verknüpft sind. Die restlichen Bilder ohne Abfrage werden weiterhin als harte Negativbeispiele verwendet.
Mehrsprachigkeit | # Gefilterte Abfragen | # Ungefilterte Abfragen |
---|---|---|
Englisch (Sprache) | 53,512 | 94,225 |
Spanische Sprache | 58,738 | 102,685 |
Italienisch (Sprache) | 54,942 | 98,747 |
Deutsch (Sprache) | 58,217 | 100,713 |
Französisch (Sprache) | 55,270 | 99,797 |
(Gesamt-)Summe | 280,679 | 496,167 |
Der Datensatz besteht aus 5 verschiedenen Teilmengen, die jeweils einer Sprache entsprechen. Sie können ihn hier direkt durchsuchen:
Der Datensatz besteht aus 5 verschiedenen Teilmengen, die jeweils einer Sprache entsprechen. Sie können ihn hier direkt erkunden:
Alternativ können Sie auch die datensatz_laden
Geben Sie die Teilmenge der Sprachen an, in der die Sprachen einzeln heruntergeladen werden sollen:
from datasets import load_dataset
italian_dataset = load_dataset("llamaindex/vdr-multilingual-train", "it", split="train")
english_dataset = load_dataset("llamaindex/vdr-multilingual-train", "en", split="train")
französisch_datensatz = load_datensatz("llamaindex/vdr-multilingual-train", "fr", split="train")
german_dataset = load_dataset("llamaindex/vdr-multilingual-train", "de", split="train")
spanisch_datensatz = load_datensatz("llamaindex/vdr-multilingual-train", "es", split="train")
Bewertung
Das Modell wurde anhand von ViDoRe-Benchmarks und eigens erstellten Evaluierungssätzen evaluiert, die es ermöglichen, die mehrsprachige Funktionalität anhand von Screenshots von reinen Text-, visuellen und hybriden Seiten zu testen. Der Evaluierungsdatensatz ist auch öffentlich zugänglich auf Hugging Face (vdr-multilingual-test 🤗).
Wir haben sichergestellt, dass keine Seiten aus diesen Datensätzen in den Trainingsdatensätzen auftauchen, um eine Kontamination der Auswertung zu vermeiden. Diese Datensätze wurden auf die gleiche Weise wie die Trainingsdatensätze gesammelt und generiert, allerdings mit kleineren Stichprobengrößen. Die Filterungsschritte erfolgten alle manuell: Jede Abfrage wurde bewertet, zusammengestellt und (falls erforderlich) verfeinert, um eine hohe Datenqualität zu gewährleisten.
Alle Bewertungen wurden mit Hilfe der folgenden Instrumente durchgeführt 1536 ViVektoren und kann verwendet werden mit Bis zu 768 Token Die Auflösung des Bildes, die zur Berechnung der NDCG@5 Partitur aufführen.
im Durchschnitt | Französisch (Text) | Französisch (visuell) | Französisch (gemischt) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 93.5 | 94.7 | 90.8 | 95.1 |
vdr-2b-multi-v1 | 95.6 | 95.6 | 93.3 | 97.9 |
+2.2% |
im Durchschnitt | Deutsch (Text) | Deutsch (visuell) | Deutsch (gemischt) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 93.0 | 93.4 | 90.0 | 95.5 |
vdr-2b-multi-v1 | 96.2 | 94.8 | 95.7 | 98.1 |
+3.4% |
im Durchschnitt | Italienisch (Text) | Italienisch (visuell) | Italienisch (gemischt) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 95.1 | 95.1 | 94.0 | 96.2 |
vdr-2b-multi-v1 | 97.0 | 96.4 | 96.3 | 98.4 |
+2% |
im Durchschnitt | Spanisch (Text) | Spanisch (visuell) | Spanisch (gemischt) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 96.7 | 97.2 | 94.7 | 98.2 |
vdr-2b-multi-v1 | 98.1 | 98.3 | 96.9 | 99.1 |
+1.4% |
im Durchschnitt | Englisch (Text) | Englisch (visuell) | Englisch (gemischt) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 98.0 | 98.3 | 98.5 | 97.1 |
vdr-2b-multi-v1 | 98.1 | 97.9 | 99.1 | 97.3 |
+0.1% |
Das mehrsprachige Modell übertrifft das Basismodell in jeder Sprache und jedem Seitentyp um durchschnittlich +2,31 TP3T. Auch im ViDoRe-Benchmark schneidet es etwas besser ab (+0,51 TP3T). Wir haben die Feinabstimmung vdr-2b-multi-v1
Vor allem bei nicht-englischen, rein visuellen oder hybriden Seiten wurden enorme Leistungssprünge erzielt. So verbessert z. B. das rein visuelle Retrieval in deutscher Sprache die NDCG@5 um +6,33% im Vergleich zum Basismodell.
Wir haben auch eine Version auf einer Teilmenge des Englischen trainiert (vdr-2b-v1 🤗.). Im vollständigen ViDoRe-Benchmark (mit 768 Bildern) Token (zur Bewertung) übertreffen sowohl die mehrsprachige als auch die rein englische Version das Basismodell.
im Durchschnitt | Schichtprojekt | Regierung | Gesundheitswesen | Energie | ai | docvqa | arxivqa | tatdqa | infovqa | tabfquad | |
---|---|---|---|---|---|---|---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 83.6 | 79.8 | 95.7 | 96.9 | 92.0 | 98.2 | 56.3 | 85.2 | 53.9 | 87.5 | 90.3 |
vdr-2b-multi-v1 | 84.0 | 82.4 | 95.5 | 96.5 | 91.2 | 98.5 | 58.5 | 84.7 | 53.6 | 87.1 | 92.2 |
vdr-2b-v1 | 84.3 | 83.4 | 96.9 | 97.2 | 92.6 | 96.8 | 57.4 | 85.1 | 54.1 | 87.9 | 91.3 |
Schnellere Argumentation
einfaches Englisch vdr-2b-v1
Das Modell erreicht auch die Leistung des Basismodells im synthetischen ViDoRe-Benchmark-Datensatz, wobei nur 30% Bild-Token (768 gegenüber 2560) verwendet werden. Dies erhöht die Inferenzgeschwindigkeit effektiv um den Faktor 3 und reduziert den Grafikspeicherverbrauch erheblich.
im Durchschnitt | Schichtprojekt | Regierung | Gesundheitswesen | Energie | ai | |
---|---|---|---|---|---|---|
dse-qwen2-2b-mrl-v1 (2560 Bild-Token) | 93.0 | 82 | 96 | 96.4 | 92.9 | 97.5 |
vdr-2b-v1 (768 Bild-Token) | 93.4 | 83.4 | 96.9 | 97.2 | 92.6 | 96.8 |
sprachenübergreifende Suche
Obwohl das Modell für jede Sprache separat trainiert wurde, hat es sich auch beim sprachübergreifenden Abruf verbessert. Um diese Fähigkeit zu testen, wurden die deutschen Suchanfragen mit DeepL ins Italienische übersetzt. Die Screenshots der Dokumentationsseiten sind im deutschen Original erhalten.
im Durchschnitt | Italienisch -> Deutsch (Text) | Italienisch -> Deutsch (visuell) | Italienisch -> Deutsch (gemischt) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 93.1 | 92.6 | 93.5 | 93.3 |
vdr-2b-multi-v1 | 95.3 | 95.0 | 95.8 | 95.1 |
+2.3% |
Das Modell schneidet bei allen Dokumenttypen deutlich besser ab, mit einer durchschnittlichen Verbesserung von +2,31 TP3T. Diese Suchfunktionen sind für reale Anwendungsfälle von entscheidender Bedeutung, insbesondere in sprachlich verstreuten Regionen wie Europa. So ermöglicht es beispielsweise die sprachunabhängige Suche in komplexen mehrsprachigen Quellen wie komplexen europäischen Bindungsbeschlüssen, Bedienungsanleitungen, KIDs für Finanzanlagen, pharmazeutischen Beipackzetteln und so weiter.
MRL und binäre Einbettung
Dieses Modell wird mit Matryoshka Representation Learning (MRL) trainiert. Die beim Training verwendete Verlustfunktion ist so kalibriert, dass sie die Leistung auf all diesen Dimensionen verfolgt, so dass das Modell mit den wichtigsten Erkennungsinformationen vorbelastet ist. Auf diese Weise können Sie die Einbettungsdimensionen je nach Größe und Budget effizient eingrenzen. Um mehr über MRL zu erfahren, besuchen Sie Hugging Face'sDieser BlogbeitragDies wurde gut erklärt.
Um die Retrievalfähigkeit des Modells in verschiedenen Vektordimensionen zu testen, wurde es im sprachübergreifenden Benchmark Italienisch -> Deutsch evaluiert.
NDCG@5 (Gleitkomma)
im Durchschnitt | Italienisch -> Deutsch (Text) | Italienisch -> Deutsch (visuell) | Italienisch -> Deutsch (gemischt) | |
---|---|---|---|---|
1536 Vi | ||||
dse-qwen2-2b-mrl-v1 | 93.1 | 92.6 | 93.5 | 93.3 |
vdr-2b-multi-v1 | 95.3 | 95.0 | 95.9 | 95.1 |
+2.3% | ||||
1024 V | ||||
dse-qwen2-2b-mrl-v1 | 92.2 | 90.9 | 92.3 | 93.5 |
vdr-2b-multi-v1 | 94.6 | 93.1 | 95.7 | 95.1 |
+2.5% | ||||
512 Vi | ||||
dse-qwen2-2b-mrl-v1 | 89.8 | 87.9 | 89.4 | 92.2 |
vdr-2b-multi-v1 | 93.0 | 91.1 | 93.4 | 94.5 |
+3.4% |
NDCG@5 (binär)
im Durchschnitt | Italienisch -> Deutsch (Text) | Italienisch -> Deutsch (visuell) | Italienisch -> Deutsch (gemischt) | |
---|---|---|---|---|
1536 Vi | ||||
dse-qwen2-2b-mrl-v1 | 89.8 | 88.2 | 90.3 | 90.8 |
vdr-2b-multi-v1 | 92.3 | 89.6 | 94.1 | 93.3 |
+2.8% | ||||
1024 V | ||||
dse-qwen2-2b-mrl-v1 | 86.7 | 84.9 | 88.2 | 86.9 |
vdr-2b-multi-v1 | 90.8 | 87.0 | 92.6 | 92.8 |
+4.6% | ||||
512 Vi | ||||
dse-qwen2-2b-mrl-v1 | 79.2 | 80.6 | 81.7 | 75.4 |
vdr-2b-multi-v1 | 82.6 | 77.7 | 86.7 | 83.3 |
+4.0% |
Die 1024-dimensionalen Fließkomma-Vektoren bieten ein sehr gutes Gleichgewicht zwischen Qualität und Größe. Sie sind etwa 301 TP3T kleiner, erreichen aber immer noch die Abrufleistung von 991 TP3T. Das Gleiche gilt für die 1536-dimensionalen binären Vektoren, die zehnmal weniger Bytes pro Vektor haben, aber immer noch die Abrufqualität von 971 TP3T erreichen. Interessanterweise erreichen die 1536 binären Vektoren fast die Leistung der 1536 Gleitkomma-Vektoren des Basismodells.
Schlussfolgerungen und nächste Schritte
Wir glauben vdr-2b-multi-v1
im Gesang antworten vdr-2b-v1
wird sich für viele Nutzer als nützlich erweisen.
Unser mehrsprachiges Modell ist das erste seiner Art, das die Leistung in mehrsprachigen und sprachübergreifenden Szenarien erheblich verbessert, und dank MRL und binärer Quantisierung ist der Abruf effizienter und schneller als je zuvor. Wir glauben, dass dies neue Anwendungsfälle und Möglichkeiten eröffnen wird, insbesondere in sprachlich verstreuten Regionen wie Europa.
Die nur in englischer Sprache verfügbare Version stellt eine wesentliche Verbesserung des zugrunde liegenden Modells dar und ermöglicht nun eine dreimal schnellere Einbettung von Dokumenten bei geringerem Speicherbedarf und gleichbleibender (oder besserer) Suchqualität.
Das alles ist dem neuen vdr-mehrsprachig-train
Der Datensatz enthält 500.000 qualitativ hochwertige Beispiele. Dieser Datensatz enthält 500.000 qualitativ hochwertige Beispiele und ist der größte mehrsprachige synthetische Open-Source-Datensatz für die visuelle Dokumentensuche.
Künftige Arbeiten werden untersuchen, wie unser Modell bei der Anpassung an neue und spezifische Bereiche abschneidet. Wir befinden uns noch in einem frühen Entwicklungsstadium, und vor der Veröffentlichung von Ergebnissen sind weitere Arbeiten erforderlich.sehr vielMit weniger Daten- und Rechenressourcen werden beeindruckende Suchergebnisse erzielt.
Bleiben Sie dran für zukünftige Updates!