ColPali: Visuelles Dokument-Retrieval ohne OCR
ColPali (Juni 2024) ersetzt die OCR-Parsing-Pipeline durch direktes Einbetten von Seitenbildern. Wir erklären den Late-Interaction-Mechanismus aus ColBERT, die ViDoRe-Ergebnisse — 81,3 gegenüber 66,1 nDCG@5 — sowie die Speicher- und Skalierungskompromisse und ordnen ein, wo visuelles Retrieval in produktiven RAG-Systemen im Juli 2024 steht.
Wo Text-RAG stillschweigend versagt
Ein RAG-System ist nur so gut wie sein Retriever, und die meisten produktiven Retriever arbeiten auf extrahiertem Text. Ein PDF wird geparst, OCR angewendet, der Text in Chunks zerlegt und eingebettet. Alles, was der Parser nicht als Text ausdrücken kann, ist verloren, bevor die erste Anfrage eintrifft. Tabellen verlieren ihre Ausrichtung, Stempel und Unterschriften verschwinden, technische Zeichnungen werden zu leeren Strings. Der Fehler ist stumm: Das System liefert weiterhin plausible Passagen, und der Nutzer erfährt nie, dass die entscheidende Seite nie indexiert wurde.
Das trifft genau die Korpora, auf die es 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.
Die Kosten sind 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 addiert rund 1 ms pro 1.000 Seiten im Korpus. Der Operator ist vollständig differenzierbar, der gesamte Retriever wird also Ende-zu-Ende trainiert — 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 größere Wette ist die der Autoren selbst: Ende-zu-Ende-RAG im visuellen Raum, in dem ein VLM direkt aus abgerufenen Seitenbildern antwortet und extrahierter Text gar nicht erst entsteht. Wir halten das für plausibel bei Beständen, an denen Parsing heute schon scheitert — Zeichnungen, Stempel, Scans. OCR-Pipelines verschwinden nicht; wo der extrahierte Text selbst das Arbeitsergebnis ist, bleiben sie Pflicht. Für das Retrieval aber ist die Seite als Bild gerade zu einer ernsthaften Option geworden — und wir evaluieren sie. Wenn Ihre Archive zu den schwierigen gehören, sprechen Sie uns an.
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)
