Traditionelle Modelle für maschinelles Sehen konzentrieren sich in der Regel darauf, die menschliche visuelle Wahrnehmung nachzubilden. jina-embeddings-v4 verfolgt einen anderen Ansatz: Es kombiniert Bild- und Textverarbeitung, um zu verstehen, wie Menschen visuell präsentierte Informationen lesen und interpretieren. Im Gegensatz zu OCR-Programmen, die Text lediglich digitalisieren, analysiert es komplexe visuelle Materialien wie Infografiken, Diagramme und Tabellen – Dokumente, bei denen sowohl die Text- als auch die visuellen Elemente eine semantische Bedeutung tragen. Wir bezeichnen diese als "visuell reichhaltige Dokumente".

Wenn wir nur OCR- und Text- Vektormodelle verwenden würden, würden wir wichtige Informationen verpassen. Wenn wir herkömmliche Vektormodelle verwenden würden, die auf Bild-Text-Paaren trainiert wurden, wären wir nicht in der Lage, die Semantik des Textes zu extrahieren. Und bei Dingen wie Tabellen müssen wir wissen, was der Text bedeutet, und die räumlichen Beziehungen zwischen den Textelementen verarbeiten, um sie richtig zu verarbeiten. Wir müssen sie auf visuell bewusste Weise verarbeiten, weshalb dies als Visual Document Retrieval bezeichnet wird.

Aber man muss Dinge sehen können, um sie zu verstehen, und das gilt auch für Vektormodelle. Die Bildqualität zählt.

Bildqualitätsunterschiede können viele Ursachen haben: Fotos sind unscharf, die Lichtverhältnisse sind schlecht, Bewegungen verursachen Unschärfe und verlustbehaftete Komprimierungsalgorithmen zerstören Details. Visuell reichhaltige Dokumente sind jedoch typischerweise "digital geboren". Sie bestehen aus Dingen wie Screenshots, Präsentationsfolien und glänzenden PDFs – Daten, die durch einen Präsentations- oder Veröffentlichungsprozess in Bilder umgewandelt wurden. Manchmal handelt es sich um Scans von tatsächlichen Papierseiten, aber wenn sie kompetent erstellt wurden, leiden diese Bilder nicht unter den Problemen, die bei Bildern von realen Szenen weit verbreitet sind.

Bei visuell reichhaltigen Dokumenten ist das Hauptproblem der Eingangsqualität die Bildauflösung. Zu klein, und die Informationen, die wir für den Abruf benötigen, gehen verloren. Aber zu groß, und wir überfluten das Modell mit unechten Details, die eine genaue Verarbeitung untergraben. Die richtige Größe Ihrer Eingaben für jina-embeddings-v4 spart Ihnen Geld und verbessert Ihre Abrufergebnisse.
Dieser Artikel untersucht, wie jina-embeddings-v4 Bilder verarbeitet und wie sich die Bildauflösung auf seine Fähigkeit auswirkt, visuell reichhaltige Dokumente abzurufen. Wir haben Code im JinaVDR-Repo auf Hugging Face bereitgestellt, um unsere Ergebnisse zu reproduzieren oder Ihre eigenen Daten zu testen, wenn Sie Ideen aus diesem Artikel selbst anwenden möchten.
tagVisuelle Sprachmodelle
jina-embeddings-v4 ist ein visuelles Sprachmodell (VLM), das das Qwen2.5-VL-3B-Instruct VLM erweitert. Dieser Ansatz zur Einbettung von Bildern unterscheidet sich von Einzelmodalitäts-Bild- oder Textmodellen und CLIP-artigen Modellen wie jina-clip-v2.
Abbildung 5 ist eine schematische Darstellung der jina-embeddings-v4 Modellarchitektur. Das Backbone-Modell ähnelt einem herkömmlichen transformatorbasierten Vektormodell, unterstützt jedoch duale Ausgabemodi: eine Einzelvektor- Vektormodell (dichter Vektor), die durch Mittelwert-Pooling der letzten Schicht des Decoders erzeugt wird, und eine Multivektor-Ausgabe (späte Interaktion), die durch eine Projektionsschicht erzeugt wird, die die gleiche Größe wie die Eingabe hat.
Für Texte ist die Eingabe die gleiche wie bei herkömmlichen Text- Vektormodellen: Texte werden tokenisiert, und die Tokens werden ersetzt, indem Vektoren aus einer Nachschlagetabelle substituiert werden. Diese Tokenvektoren dienen zusammen als Eingabe für das Modell.
Die Innovation von VLMs liegt in ihrer Handhabung von Bildern: Ein herkömmliches Bild- Vektormodell ist mit dem Text- Vektormodell verbunden, aber anstatt eine Bildeinbettung durch Mittelwert-Pooling zu erzeugen, wird seine letzte Schicht zur Eingabe des Text- Vektormodells, als wäre es nur eine Folge von Tokenvektoren.

Dies bedeutet, dass große Bilder für Vektormodelle die gleichen Probleme haben wie lange Texte. Längere Eingaben erhöhen die Rechenkosten und die Codierungszeiten und erzeugen oft nicht informative Vektormodelle. Kleine Bilder haben das gegenteilige Problem: Wenn zu viele Informationen in einen Patch gepackt werden, wird er im Einbettungsprozess abgeschwächt und geht in Einzelvektor- Vektormodellen verloren, während er bei Multivektor- Vektormodellen die Stärke der Übereinstimmungen reduziert. Es gibt einen Kompromiss zwischen der Menge an Informationen, die dem Modell zur Verfügung gestellt werden, und seiner Fähigkeit, relevante Informationen genau zu extrahieren.
Aber Texte können nicht skaliert werden; Bilder schon.
tagBildvorverarbeitung in jina-embeddings-v4
Wenn Sie ein Bild an jina-embeddings-v4 senden, wird es in Patches von 28x28 Pixeln aufgeteilt. Dies bedeutet, dass die Anzahl der Patches ungefähr proportional zur Größe des Bildes ist. Wenn Sie die Jina API verwenden, beträgt die maximal unterstützte Größe 602.112 Pixel, aber es ist ein vom Benutzer einstellbarer Parameter im Modellcode, wenn Sie ihn herunterladen.
Die VLM-Architektur bedeutet, dass die Anzahl der 28x28-Bildpatches, die das Modell unterstützen kann, gleich der Anzahl der Text- Tokens ist, die es unterstützen kann. Dies setzt eine absolute Obergrenze für die Bildgröße bei etwa 20 Megapixeln.

tagExperimente mit Bildauflösung
Wir haben verschiedene Bildauflösungen mit jina-embeddings-v4 mit den ViDoRe v1- und v2-Suites und einem Teil der JinaVDR-Benchmark-Suite evaluiert und sowohl Single-Vektor- als auch Multi-Vektor-Ausgaben betrachtet. Das Anpassen des Parameters max_pixels des Modells an einen Bereich von Werten bis zu 19.267.584 Pixeln (d. h. 5.376x3.584) erzeugt Vektor模型 aus verschiedenen Bildauflösungen. Wenn ein Bild bereits kleiner als der Wert von max_pixels ist, wird es nicht geändert.
tagViDoRe v1
Tabelle 1 zeigt die Abrufergebnisse für Single-Vektor- (dichter Vektor) 向量模型 für fünf Auflösungen auf einzelnen ViDoRe v1-Benchmarks (durchschnittliche nDCG@5-Punktzahl). Wir geben nur Werte bis zu 9.633.792 Pixeln an, da keine Bilder in ViDoRe v1 größer waren.

| Benchmark-Datensatz | 301.056 px | 602.112 px | 1.204.224 px | 2.408.448 px | 4.816.896 px | 9.633.792 px |
|---|---|---|---|---|---|---|
| Maximale Vektor模型-Größe in 词元 | 384 | 768 | 1.536 | 3.072 | 6.144 | 12.288 |
arxivqa_test_subsampled |
0.83487 | 0.84529 | 0.84537 | 0.83785 | 0.83439 | 0.83469 |
docvqa_test_subsampled |
0.47366 | 0.50715 | 0.52421 | 0.51075 | 0.50287 | 0.50258 |
infovqa_test_subsampled |
0.84404 | 0.87510 | 0.87890 | 0.87978 | 0.87672 | 0.87710 |
shiftproject_test |
0.77524 | 0.81494 | 0.83988 | 0.84427 | 0.84127 | 0.84196 |
syntheticDocQA_artificial_intelligence_test |
0.93809 | 0.96786 | 0.96655 | 0.97155 | 0.97024 | 0.97024 |
syntheticDocQA_energy_test |
0.86865 | 0.89540 | 0.89847 | 0.91172 | 0.91286 | 0.91286 |
syntheticDocQA_government_reports_test |
0.91708 | 0.93417 | 0.93865 | 0.92309 | 0.91609 | 0.91609 |
syntheticDocQA_healthcare_industry_test |
0.93865 | 0.96428 | 0.96024 | 0.96542 | 0.95417 | 0.95286 |
tabfquad_test_subsampled |
0.94298 | 0.94853 | 0.94502 | 0.94505 | 0.94505 | 0.94612 |
tatdqa_test |
0.58622 | 0.64832 | 0.65867 | 0.65985 | 0.65395 | 0.65498 |
| DURCHSCHNITT | 0.81195 | 0.84010 | 0.84560 | 0.84493 | 0.84076 | 0.84095 |
Wie in Tabelle 1 zu sehen ist, ist die höchste Auflösung bei weitem nicht die beste. 9,6 Megapixel schnitten bei Tests schlechter ab als die beste Auflösung, außer bei dem Test, bei dem keine Bilder größer als 4,8 Megapixel waren, wo die gleiche Punktzahl erzielt wurde, da keine Größenänderung erfolgte. Der beste Performer im Durchschnitt war 1,2 Megapixel, und die Auflösung mit den meisten besten Punktzahlen bei verschiedenen Benchmarks war 2,4 Megapixel.
Wenn wir die beste Punktzahl bei jedem Benchmark nehmen und sie mitteln würden, würden wir 0,84905 erhalten. Dies ist nur 0,345 % besser als die Punktzahl für 1,2 Megapixel.
Die Verwendung von Multi-Vektor- 向量模型, wie in Tabelle 2 gezeigt, führt zu deutlich höheren Abrufpunktzahlen. Multi-Vektor-Matching schneidet in der Regel besser ab als Single-Vektor-Matching. Die Leistung verschiedener Auflösungen ist jedoch ungefähr gleich.
| Benchmark-Datensatz | 301.056 px | 602.112 px | 1.204.224 px | 2.408.448 px | 4.816.896 px | 9.633.792 px |
|---|---|---|---|---|---|---|
| Maximale Vektor模型-Größe in 词元 | 384 | 768 | 1.536 | 3.072 | 6.144 | 12.288 |
arxivqa_test_subsampled |
0.87456 | 0.88881 | 0.88736 | 0.88531 | 0.88899 | 0.89052 |
docvqa_test_subsampled |
0.55344 | 0.61284 | 0.61123 | 0.59941 | 0.59087 | 0.59229 |
infovqa_test_subsampled |
0.88777 | 0.92646 | 0.93376 | 0.94007 | 0.93459 | 0.93533 |
shiftproject_test |
0.86224 | 0.90563 | 0.93547 | 0.92847 | 0.92240 | 0.92240 |
syntheticDocQA_artificial_intelligence_test |
0.99631 | 0.99131 | 0.99500 | 0.99262 | 0.99262 | 0.99262 |
syntheticDocQA_energy_test |
0.95216 | 0.96524 | 0.96524 | 0.96893 | 0.96762 | 0.96762 |
syntheticDocQA_government_reports_test |
0.95934 | 0.97085 | 0.97524 | 0.98024 | 0.96655 | 0.96655 |
syntheticDocQA_healthcare_industry_test |
0.97893 | 0.97893 | 0.99631 | 0.98524 | 0.98393 | 0.98393 |
tabfquad_test_subsampled |
0.95386 | 0.95732 | 0.95611 | 0.95379 | 0.95379 | 0.95379 |
tatdqa_test |
0.70547 | 0.78534 | 0.79516 | 0.80422 | 0.80552 | 0.80727 |
| DURCHSCHNITT | 0.87241 | 0.89827 | 0.90509 | 0.90383 | 0.90069 | 0.90123 |
Wie bei Single-Vektor- 向量模型 hat die Auflösung von 1,2 Megapixeln die höchste durchschnittliche Punktzahl, und 2,4 Megapixel ist die beste Punktzahl für die größte Anzahl einzelner Datensätze. Der Durchschnitt der besten Punktzahlen über alle Benchmarks beträgt 0,90853, und die durchschnittliche Punktzahl der Auflösung von 1,2 Megapixeln ist um 0,344 % niedriger, fast genau wie im Single-Vektor-Fall.
tagViDoRe v2
ViDoRe v2 verwendet viel detailliertere und farbenfrohere Bilder als ViDoRe v1, was darauf hindeutet, dass die optimale Auflösung wahrscheinlich höher sein wird.

Wir haben Multi-Vektor- 向量模型 von jina-embeddings-v4 auf der ViDoRe v2-Benchmark-Suite getestet, mit Ergebnissen in Tabelle 3. Single-Vektor-Ergebnisse sind ähnlich, aber mit niedrigeren Punktzahlen, daher lassen wir sie hier weg.
| Benchmark-Datensatz | 150.528 px | 301.056 px | 602.112 px | 1.204.224 px | 2.408.448 px | 4.816.896 px | 9.633.792 px |
|---|---|---|---|---|---|---|---|
| Maximale Vektor模型-Größe in 词元 | 192 | 384 | 768 | 1.536 | 3.072 | 6.144 | 12.288 |
esg_reports_v2 |
0.40444 | 0.54013 | 0.52005 | 0.51916 | 0.49953 | 0.52664 | 0.51442 |
biomedical_lectures_v2 |
0.58760 | 0.60479 | 0.6184 | 0.60748 | 0.60748 | 0.60748 | 0.60748 |
economics_reports_v2 |
0.47666 | 0.50399 | 0.54216 | 0.54998 | 0.54998 | 0.54998 | 0.54998 |
esg_reports_human_labeled_v2 |
0.42171 | 0.56940 | 0.61227 | 0.57307 | 0.61108 | 0.63858 | 0.64921 |
| DURCHSCHNITT | 0.47260 | 0.55458 | 0.57322 | 0.56242 | 0.56702 | 0.58067 | 0.58027 |
In diesem Fall ist der beste Performer im Durchschnitt die Auflösung von 4,8 Megapixeln, wobei die durchschnittliche Leistung bei 9,6 Megapixeln im Wesentlichen identisch ist. Dennoch schnitt bei drei der vier Benchmarks die höchste Auflösung schlechter ab als niedrigere Auflösungen, außer bei einem Test, bei dem keine Bilder größer als 4,8 Megapixel waren.
tagHochauflösende Benchmarks
ViDoRe v1 und ViDoRe v2 bestehen aus Bildern mit ähnlichen nativen Auflösungen, daher haben wir zwei Benchmarks aus der JinaVDR-Suite genommen, die sehr hochauflösende, schwer zu verarbeitende Bilder enthalten, und denselben Multi-Vektor- 向量模型-Test mit ihnen durchgeführt.
Einer ist der europeana-de-news-Benchmark, der hochauflösende Scans deutscher Zeitungen aus dem 17. bis 20. Jahrhundert enthält; der andere ist der wikimedia-commons-maps-Benchmark, der sehr hochauflösende Scans gedruckter Karten enthält, hauptsächlich aus der vordigitalen Zeit.

wikimedia-commons-maps. (Rechts) Titelseite der Zeitung Hamburger Nachrichten vom 26. April 1819, enthalten in europeana-de-news, gescannt mit 4324x4738 Pixeln.Wie Sie in Tabelle 4 sehen können, sind die Ergebnisse sehr unterschiedlich.
| Benchmark-Datensatz | 301.056 px | 602.112 px | 1.204.224 px | 2.408.448 px | 4.816.896 px | 9.633.792 px | 19.267.584 px |
|---|---|---|---|---|---|---|---|
| Maximale Größe des Vektormodells in Wörtern | 384 | 768 | 1.536 | 3.072 | 6.144 | 12.288 | 24.576 |
europeana-de-news |
0.46319 | 0.59457 | 0.66802 | 0.66550 | 0.66407 | 0.63948 | 0.65208 |
wikimedia-commons-maps |
0.23671 | 0.34421 | 0.42835 | 0.52268 | 0.53464 | 0.53464 | 0.53588 |
| DURCHSCHNITT | 0.34995 | 0.46939 | 0.54819 | 0.59409 | 0.59936 | 0.58706 | 0.59398 |
Die Zeitungsdaten erfordern eindeutig nicht die gleiche Auflösung wie die Kartendaten. Dies liegt wahrscheinlich daran, dass der Text in den Karten im Vergleich zur Gesamtbildgröße sehr klein ist und wirklich lesbar sein muss, damit die Suche funktioniert. Wenn die Zeitungsscans größer als optimal sind, schwankt die Leistung und nimmt ab.
Der Durchschnitt ist für beide suboptimal, was darauf hindeutet, dass es keine richtige Auflösung gibt, um das Problem zu lösen. Diese Erkenntnis motiviert das, was wir als Nächstes getan haben.
tagMulti-Resolution-Vektormodelle
Die VLM-Architektur von jina-embeddings-v4 behandelt einzelne Bildausschnitte genauso wie Text-Wörter, sodass wir hochauflösende Ausschnitte problemlos mit niedrigauflösenden Ausschnitten erweitern können. Es bedeutet nur mehr Eingabedaten, solange wir uns innerhalb des maximalen Bereichs bewegen, den das Modell unterstützt. Wenn eine niedrigere Auflösung eine bessere Semantik ergibt als eine hohe Auflösung, können wir sie einfach einbeziehen und uns keine Gedanken darüber machen, welches die optimale Auflösung ist.
Um diese Hypothese zu testen, haben wir uns drei Kombinationen von Auflösungen angesehen:
| Mix 1 | Mix 2 | Mix 3 | |
|---|---|---|---|
| Maximale Anzahl der gesamten Wörter | 2.880 | 5.234 | 12.096 |
| Auflösungen | 150.528 px<br>301.056 px<br>602.112 px<br>1.204.224 px | 50.000 px<br>90.000 px<br>160.000 px<br>250.000 px<br>360.000 px<br>490.000 px<br>602.112 px<br>900.000 px<br>1.204.224 px | 150.528 px<br>301.056 px<br>602.112 px<br>1.204.224 px<br>2.408.448 px<br>4.816.896 px |
Das bedeutet, dass wir beim Testen von Mix 1 jedes Bild auf vier verschiedene Auflösungen skaliert haben – 150.528 px, 301.056 px, 602.112 px, 1.204.224 px – und jede davon einzeln in Multi-Vektor-Vektormodelle verarbeitet und dann die Ergebnisse vor dem Query-Matching verkettet haben. Das Gleiche gilt für Mix 2 und Mix 3, jedoch mit anderen Auflösungen. Wir haben alle drei Kombinationen anhand der ViDoRe v2-Benchmarks getestet, die in Tabelle 6 zusammengefasst sind.
| Benchmark-Datensatz | Beste einzelne Auflösung | Mix 1 | Mix 2 | Mix 3 |
|---|---|---|---|---|
| Maximale Größe des Vektormodells in Wörtern | — | 2.880 | 5.234 | 12.096 |
esg_reports_v2 |
0.54013 | 0.58354 | 0.59252 | 0.56567 |
biomedical_lectures_v2 |
0.61840 | 0.61678 | 0.61714 | 0.61638 |
economics_reports_v2 |
0.54998 | 0.54997 | 0.55534 | 0.55049 |
esg_reports_human_labeled_v2 |
0.64921 | 0.67726 | 0.68057 | 0.66734 |
| DURCHSCHNITT | 0.58943 | 0.60689 | 0.61139 | 0.59997 |
Für alle ViDoRe v2-Benchmarks übertrifft Mix 2 die Mixe 1 und 3, was darauf hindeutet, dass mehr unterschiedliche Auflösungen bessere Ergebnisse liefern als das Hinzufügen höherer Auflösungen. Bei zwei von vier Benchmarks übertreffen alle Auflösungsmischungen die beste einzelne Auflösung, und bei den verbleibenden zwei schneidet nur Mix 1 schlechter ab, und das auch nicht in großem Umfang.
Diese Ergebnisse zeigen, dass es zwar keine beste Mischung von Auflösungen für alle Daten gibt, die Identifizierung einer guten Mischung von Auflösungen jedoch die richtige Richtung ist, um eine optimale Lösung zu finden.
tagFazit
Die Bildauflösung spielt bei der Verarbeitung visuell reichhaltiger Materialien eine große Rolle für jina-embeddings-v4. Ein Hauptproblem ist, dass Text so dimensioniert sein sollte, dass er lesbar ist. Was man nicht lesen kann, kann auch die KI nicht lesen, und wenn der Text wichtig ist, muss er gelesen werden.
Aber bei einer zu hohen Auflösung wird es für das Vektorraummodell schwierig, Bildausschnitte zu einem kohärenten Ganzen zusammenzufügen. Es ist auch teuer: Höhere Auflösungen bedeuten mehr Verarbeitung und bei Multi-Vektor-Vektorräumen mehr Speicherplatz und langsamere Zuordnung.
Die Verwendung mehrerer Auflösungen und die Anwendung einer späten Interaktionsbewertung auf alle Ausgaben zusammen ist eine gute Möglichkeit, visuell reichhaltige Bilder mit unterschiedlichen Größen zu verarbeiten. Dies erhöht jedoch die Verarbeitungs- und Speicherkosten und verlangsamt die Suche auf die gleiche Weise wie sehr große Auflösungen.
Wir suchen nach Möglichkeiten, diese Erkenntnisse zu operationalisieren, um die neuronale Suche zu verbessern. Wir sind ständig bemüht, unsere Trainings- und Testdaten zu diversifizieren, um unsere Modelle auf Schwachstellen zu untersuchen und Wege zu finden, sie zu verbessern. Wir untersuchen die Auswirkungen von Auflösung und Multi-Resolution-Techniken, wie sie hier beschrieben werden, auf verschiedene Arten von Materialien.
Wir führen auch Experimente durch, um festzustellen, ob Multi-Resolution-Techniken, wie sie hier beschrieben werden, die Auswirkungen von Rauschen in Bildern mildern und eine robustere Suche ermöglichen.
Darüber hinaus ist es möglicherweise möglich, die optimale Auflösung für jedes Bild im Voraus automatisch zu bestimmen. Wenn wir die beste Auflösung zuverlässig erkennen können, würde dies einen weiteren Parameter für die Benutzer entfernen und gleichzeitig die Gesamtergebnisse verbessern, wodurch Vektorräume zugänglicher und nutzbarer würden.






