ColPali: Visuelles Dokument-Retrieval ohne OCR
ColPali (Juni 2024) ersetzt die OCR- und Parsing-Pipeline durch das direkte Einbetten von Seitenbildern. Wir erklären den aus ColBERT übernommenen Late-Interaction-Mechanismus, ordnen die ViDoRe-Ergebnisse — 81,3 gegenüber 66,1 nDCG@5 — ein und bewerten Speicher- und Skalierungskompromisse sowie die Rolle visuellen Retrievals in produktiven RAG-Systemen im Juli 2024.
Wo Text-RAG stillschweigend versagt
Die Qualität eines RAG-Systems steht und fällt mit seinem Retriever; die meisten produktiven Systeme suchen jedoch ausschließlich in extrahiertem Text. Dazu wird ein PDF geparst, per OCR erfasst, in Chunks zerlegt und eingebettet. Was der Parser nicht in Text übersetzen kann, geht noch vor der ersten Anfrage verloren. Tabellen verlieren ihre Ausrichtung, Stempel und Unterschriften verschwinden, technische Zeichnungen enden als leere Strings. Dieser Fehler bleibt unsichtbar: Das System liefert weiterhin plausible Passagen, während die entscheidende Seite nie im Index angekommen ist.
Das betrifft gerade die Korpora, auf die es besonders ankommt. Rechnungen, gescannte Verträge, Konstruktionszeichnungen, behördliche Einreichungen und Foliensätze transportieren einen großen Teil ihrer Information über Layout, Abbildungen und visuelle Markierungen. In unserer Projektarbeit bei Blue IT Systems sehen wir regelmäßig Dokumentbestände, in denen genau die Seiten, die ein Fachexperte auswählen würde, von einer Text-Pipeline nicht repräsentiert werden können. In Evaluationssets aus sauberem Text fallen solche Recall-Lücken selten auf.
Was eine Parsing-Pipeline wirklich kostet
Eine moderne Ingestion-Pipeline ist eine Kette von Modellen: Layout-Erkennung, OCR, Tabellenrekonstruktion, Chunking und optional das Beschreiben von Abbildungen durch ein Vision-Language-Modell. Jede Stufe hat eigene Fehlermodi, und Fehler akkumulieren. Die ColPali-Autoren messen eine repräsentative Pipeline auf Basis des Unstructured-Werkzeugs — Layout-Erkennung, OCR, Captioning, Embedding — mit rund 7,22 Sekunden pro Seite auf einer NVIDIA-L4-GPU.
Das tiefere Problem ist nicht die Geschwindigkeit, sondern der Informationsverlust. In der üblichen Text-only-Konfiguration gelten Abbildungen, Bilder und Tabellen als Rauschen und werden herausgefiltert. Die Pipeline scheitert an einer Konstruktionszeichnung oder einem Genehmigungsstempel nicht laut. Sie indexiert einfach nichts.
ColPali bettet die Seite als Bild ein
ColPali (Faysse et al., arXiv:2407.01449, Erstversion vom 27. Juni 2024) entfernt die Pipeline. Jede Dokumentseite wird als Bild gerendert und einem Vision-Language-Modell übergeben — PaliGemma-3B, von Google im Mai 2024 veröffentlicht. Der SigLIP-Vision-Encoder zerlegt die Seite in 1.024 Patches, die Patch-Embeddings durchlaufen das Gemma-2B-Sprachmodell, und eine Projektionsschicht bildet jeden Ausgabetoken auf 128 Dimensionen ab.
Das Ergebnis ist eine Multi-Vektor-Repräsentation: rund tausend kontextualisierte 128-dimensionale Vektoren pro Seite. Kein OCR, keine Layout-Erkennung, kein Chunking, kein Captioning. Die Indexierung dauert 0,39 Sekunden pro Seite auf derselben L4-GPU — etwa achtzehnmal schneller als die Parsing-Pipeline, in einem einzigen Forward-Pass mit fester Sequenzlänge.
Die entscheidende Beobachtung ist subtil: Nach multimodalem Fine-Tuning liegen die Bild-Token-Embeddings eines VLM im selben latenten Raum wie seine Text-Token-Embeddings. Eine textuelle Anfrage lässt sich daher direkt gegen visuelle Patches matchen. Das kontrastive Fine-Tuning der Autoren macht diese Ausrichtung scharf genug für das Retrieval.
Late Interaction übernimmt das Matching
Das Scoring folgt ColBERT (Khattab und Zaharia, 2020). Eine Anfrage wird in einen Vektor pro Token eingebettet. Für jeden Anfrage-Token nimmt der Late-Interaction-Operator das maximale Skalarprodukt über alle Patch-Vektoren einer Seite und summiert diese Maxima zum Seiten-Score. Die reichhaltige Token-zu-Patch-Interaktion findet zur Anfragezeit statt; die teure Seitenkodierung läuft offline.
Trotz der feineren Repräsentation bleiben die Laufzeitkosten moderat. Die Query-Kodierung mit ColPalis Sprachmodell dauert etwa 30 ms, gegenüber 22 ms für einen BGE-M3-Text-Encoder; das Late-Interaction-Scoring ergänzt rund 1 ms pro 1.000 Seiten im Korpus. Weil der Operator vollständig differenzierbar ist, lässt sich der gesamte Retriever Ende-zu-Ende trainieren. Das veröffentlichte Modell wurde mit LoRA-Adaptern auf etwa 100.000 Query-Seiten-Paaren feinjustiert.
ViDoRe beziffert die Lücke
Weil bestehende Benchmarks Text-Embeddings auf sauberem Text bewerten, haben die Autoren ViDoRe gebaut, den Visual Document Retrieval Benchmark: zehn Retrieval-Aufgaben auf Seitenebene in Englisch und Französisch, von akademischen Datensätzen (DocVQA, InfoVQA, TAT-DQA, arXivQA, TabFQuAD) bis zu Praxisdomänen wie Energie, Verwaltung, Gesundheit und KI. Hauptmetrik ist nDCG@5. Der Benchmark bewertet drei praktische Anforderungen gemeinsam — Retrieval-Qualität, Query-Latenz und Indexierungsdurchsatz — einen Zuschnitt, den wir ehrlicher finden als reine Embedding-Leaderboards.
Die Lücke ist dort am größten, wo Text-Pipelines am meisten verwerfen: bei Infografiken (InfographicVQA), Abbildungen (arXivQA) und Tabellen (TabFQuAD). Bemerkenswert: Auch textzentrierte Dokumente findet ColPali über alle evaluierten Domänen und Sprachen hinweg besser als die Text-Baselines — der Vorsprung beruht also nicht nur auf visuellen Sonderfällen.
| System | ViDoRe Ø nDCG@5 | Indexierung pro Seite (NVIDIA L4) |
|---|---|---|
| Unstructured + OCR + BM25 | 65,5 | ≈7,22 s (gesamte Pipeline) |
| Unstructured + OCR + BGE-M3 | 66,1 | ≈7,22 s (gesamte Pipeline) |
| ColPali (Late Interaction) | 81,3 | 0,39 s |
Was ColPali nicht löst
Die Multi-Vektor-Repräsentation hat ihren Preis. 1.024 Vektoren mit 128 Dimensionen kosten bei 16-Bit-Präzision rund 260 KB pro Seite; ein Korpus mit einer Million Seiten liegt in der Größenordnung von 260 GB — gegenüber wenigen Kilobyte pro Chunk bei Single-Vektor-Embeddings. Naives Late-Interaction-Scoring scannt jede Seite; die Skalierung auf Millionen Dokumente erfordert optimierte Engines wie PLAID, und die meisten Vektordatenbanken bieten heute keine native Multi-Vektor-Unterstützung.
ColPali ist ein Retriever, kein Reader. Es liefert Seitenbilder zurück; die Antwort erfordert weiterhin ein Vision-Language-Modell im Anschluss, und die Seitengranularität bedeutet: keine Zitate unterhalb der Seitenebene ab Werk. Der 3B-Encoder braucht eine GPU bei Indexierung und Anfrage. Die Trainingsdaten sind englischdominiert, Französisch ist abgedeckt; andere Sprachen sind unverifiziert. Und das Paper ist vier Wochen alt — unabhängige Replikation steht noch aus.
Ausblick im Juli 2024
Wir erwarten, dass das Muster den Checkpoint überlebt. Das Backbone ist austauschbar, und bessere kleine VLMs werden die Retrieval-Qualität heben, ohne die Architektur zu ändern. Die offensichtlichen Engineering-Ziele sind der Speicher — Pooling und Kompression der Patch-Vektoren — sowie native Multi-Vektor-Unterstützung in Vektordatenbanken. Das öffentliche ViDoRe-Leaderboard macht den Fortschritt messbar.
Die weitergehende Wette der Autoren lautet: Ende-zu-Ende-RAG im visuellen Raum, bei dem ein VLM direkt aus abgerufenen Seitenbildern antwortet und extrahierter Text gar nicht mehr entsteht. Für Bestände, an denen Parsing bereits heute scheitert — Zeichnungen, Stempel, Scans — halten wir das für plausibel. OCR-Pipelines werden dennoch nicht verschwinden; sobald der extrahierte Text selbst das Arbeitsergebnis ist, bleiben sie notwendig. Für Retrieval ist die Seite als Bild jedoch zu einer ernsthaften Alternative geworden. Wir evaluieren sie dort, wo herkömmliche Pipelines nachweislich Recall verlieren.
Quellen
- Faysse et al.: ColPali — Efficient Document Retrieval with Vision Language Models, arXiv:2407.01449 (27 Jun 2024)
- Khattab & Zaharia: ColBERT — Efficient and Effective Passage Search via Contextualized Late Interaction over BERT, arXiv:2004.12832 (27 Apr 2020)
- Santhanam et al.: PLAID — An Efficient Engine for Late Interaction Retrieval, arXiv:2205.09707 (19 May 2022)
- Google Developers Blog: Introducing PaliGemma, Gemma 2, and an Upgraded Responsible AI Toolkit (14 May 2024)
- ViDoRe Leaderboard, Hugging Face Spaces (Jul 2024)
