ColPali und ColQwen2 für die visuelle Dokumentsuche: GPU, Indexgröße und Vektordatenbank
Eurokommerz, Wien, seit 2006: Private AI/ML · IT Managed Services · Enterprise Training · KI-Hardware & Software
- ColPali macht aus jedem Seitenbild 1.030 Vektoren mit 128 Dimensionen, 263,7 KB je Seite in 16 Bit (die 257,5 KB des Papers rechnen mit 1.024 Byte je Kilobyte); eine Million Seiten braucht also rund 264 GB Multi-Vektoren in 16 Bit, rund 30-mal so viel wie die 8,6 GB für einen Textvektor mit 1.024 Dimensionen je Chunk
- Die Indexierung ist ein Vorwärtsdurchlauf eines Modells mit 2B bis 3B Parametern je Seite, ohne Textgenerierung; nach unserer Schätzung aus den von StorageReview gemessenen Matrixraten indexiert ColQwen2 höchstens rund 15 Seiten pro Sekunde auf einer L4 und 65 auf einer L40S, bei Seiten mit dem Maximum von 768 Patches
- Bei der Suche hat das ColPali-Paper rund 30 ms zum Kodieren einer Anfrage auf einer L4 gemessen und rund 1 ms Bewertung je 1.000 Seiten; ab einigen Hunderttausend Seiten grenzt eine erste Stufe mit gepoolten Vektoren die Kandidaten ein, bevor voll bewertet wird
- Die Lizenzen hängen am Backbone: ColQwen2 v1.0 baut auf Qwen2-VL unter Apache 2.0, ColPali v1.3 auf PaliGemma unter der Gemma-Lizenz, ColQwen2.5 auf der nicht kommerziellen Qwen Research License, und NVIDIAs colembed-Modelle sind nur für nicht kommerzielle Nutzung
- Qdrant speichert Multi-Vektoren mit einem MaxSim-Komparator und Milvus ab 2.6.4 mit MAX_SIM auf einem Array of Structs; das README von pgvector beschreibt keine Multi-Vector-Bewertung
Geliefert von Eurokommerz: RTX PRO 6000 und H200 NVL Preis und Verfügbarkeit anfragen →
Seitenbilder statt OCR-Text
ColPali findet gescannte PDF-Seiten voller Tabellen oder Diagramme über ihr Bild, ohne OCR, Layouterkennung und Chunking: Ein Vision-Language-Modell macht aus jeder Seite eine Menge kleiner Vektoren, einen je Bildausschnitt (Patch), und eine Anfrage wird per Late Interaction mit allen verglichen. Für die Indexierung genügt ein Vorwärtsdurchlauf eines Modells mit 2B bis 3B Parametern je Seite, den eine L4 oder L40S bewältigt. Was wächst, ist der Index: rund 264 GB je Million Seiten für ColPali in 16 Bit, gegenüber rund 9 GB für einen Textvektor je Chunk.
Das ColPali-Paper (arXiv 2407.01449, Version 6 vom 28. Februar 2025) baut auf PaliGemma-3B auf. Seine Modellkarte zeigt die Form der Einbettung einer Seite als (1030, 128): 1.024 Bild-Patches, die ein Eingabebild von 448 × 448 Pixeln in Patches zu 14 × 14 Pixeln ergibt, plus 6 Text-Token, jeweils auf 128 Dimensionen projiziert. Das Paper nennt dafür „a memory footprint of 257.5 KB per page“ und rechnet dabei mit 1.024 Byte je Kilobyte; in Dezimaleinheiten sind es 263,7 KB, der Wert unserer Tabellen.
Die Bewertung folgt ColBERT: Für jeden Anfragevektor wird der ähnlichste Seitenvektor gesucht, und diese Maxima ergeben in Summe die Punktzahl der Seite, was Qdrant und Milvus MaxSim nennen. Unser Leitfaden zu Embedding- und Reranker-Servern für RAG dimensioniert den Textweg, und Vision-Language-Modelle für Dokumenten-KI dimensioniert OCR und Extraktion mit VLMs. Dieser Artikel dimensioniert die Suche über Seitenbilder, die beide nicht abdecken.
Visuelle Retriever und ihre Lizenzen
| MODELL | BACKBONE | VEKTOREN JE SEITE | LIZENZ |
|---|---|---|---|
| ColPali v1.3 | PaliGemma-3B, 448 px | 1.030 × 128 | Adapter MIT; Backbone unter der Gemma-Lizenz |
| ColQwen2 v1.0 | Qwen2-VL-2B | bis 768 × 128 | Adapter MIT; Backbone Apache 2.0 |
| ColQwen2.5 v0.2 | Qwen2.5-VL-3B | bis 768 × 128 | Adapter MIT; Backbone Qwen Research License |
| NVIDIA colembed-vl-3b-v2 | SigLIP2 + Llama 3.2 3B | bis 9 Kacheln × 256, 3.072 Dim. | NVIDIA Non-Commercial License |
Hugging-Face-Modellkarten von vidore/colpali-v1.3, vidore/colqwen2-v1.0, vidore/colqwen2.5-v0.2 und nvidia/llama-nemotron-colembed-vl-3b-v2 sowie die LICENSE-Datei von Qwen2.5-VL-3B-Instruct, gelesen am 24. Oktober 2026; NVIDIAs Kachelzahl ist ein Maximum (8 Kacheln plus ein Vorschaubild), das Produkt 2.304 ist unsere Rechnung.
Für die Nutzung im Unternehmen entscheidet die Lizenz des Backbones. ColQwen2 v1.0 gibt an, sein Backbone „is under apache2.0 license“ und seine Adapter unter MIT; eine kommerzielle Einschränkung besteht also nicht. ColPali v1.3 schreibt, sein Backbone „is under gemma license as specified in its model card“. Das Backbone von ColQwen2.5 steht unter dem Qwen Research License Agreement vom 19. September 2024, das Rechte „FOR NON-COMMERCIAL PURPOSES ONLY“ gewährt und festhält: „If you are commercially using the Materials, you shall request a license from us.“ NVIDIAs llama-nemotron-colembed-vl-3b-v2, veröffentlicht am 26. Januar 2026, „is for non-commercial/research use only“. Ob eine bestimmte Nutzung unter eine dieser Lizenzen fällt, klärt Ihre Rechtsabteilung.
ColQwen2 und ColQwen2.5 verarbeiten dynamische Auflösungen, und ihre Karten setzen das Maximum so, dass „768 image patches are created at most“; das Qdrant-Tutorial setzt für eine typische Seite rund 700 an. Beide Karten weisen darauf hin, dass die Modelle sich auf „PDF-type documents and high-ressources languages“ konzentrieren; testen Sie sie also an eigenen deutschen, polnischen oder tschechischen Seiten, bevor Sie einen Index dimensionieren.
Indexgröße je Million Seiten
| DARSTELLUNG | JE SEITE | JE MILLION SEITEN |
|---|---|---|
| Text, 2,1 Chunks × 1.024 Dim., float32 | 8,6 KB | 8,6 GB |
| ColQwen2, 768 × 128, 16 Bit | 196,6 KB | 197 GB |
| ColPali, 1.030 × 128, 16 Bit | 263,7 KB | 264 GB |
| ColPali, float32 | 527,4 KB | 527 GB |
| ColPali, Pool-Faktor 3, 16 Bit | 87,9 KB | 88 GB |
| ColPali, 1 Bit je Dimension | 16,5 KB | 16,5 GB |
| NVIDIA colembed, 2.304 × 3.072, 16 Bit | 14,2 MB | 14,2 TB |
Unsere Rechnung: Vektoren × Dimensionen × Byte, GB = 10^9 Byte; 2,1 Chunks je Seite aus dem ColPali-Paper; Pool-Faktor 3 verringert die Vektoren laut Paper um 66,7 Prozent; Indexstrukturen, Metadaten und Replikate nicht enthalten.
Das Paper berichtet, dass Token-Pooling mit dem Faktor 3 „maintains 97.8% of the original performance“, wobei ein textlastiger Datensatz stärker nachlässt. Mit 1 Bit je Dimension speichert die binäre Quantisierung einen Vektor, wie unser Vergleich der Vektordatenbanken für Qdrant beschreibt; prüfen Sie, ob Ihre Datenbank das auf Multi-Vector-Felder anwendet, bevor Sie mit der Zeile von 16,5 GB planen. Die NVIDIA-Zeile zeigt, wie schnell der Index mit den Dimensionen wächst: Mit 3.072 Dimensionen je Token überschreitet eine volle Seite nach unserer Rechnung Qdrants Grenze „number_of_sub_vectors * vector_size < 1,048,576“ je Punkt, während ColPali mit 131.840 Werten deutlich darunter bleibt.
Ein Index von einigen Hundert GB liegt auf NVMe, nur der Teil, den die erste Stufe durchsucht, im Arbeitsspeicher. Unser Leitfaden zu NVMe-Speicher für einen LLM-Server behandelt die Laufwerke. Wir liefern die GPUs und Server für einen solchen Index; schicken Sie uns Seitenzahl, Zuwachs pro Jahr und Suchlast, und unser Team antwortet mit einer Dimensionierung von Speicherplatz, Arbeitsspeicher und GPUs.
GPU für die Indexierung: ein Durchlauf je Seite
Beim Indexieren wird jede Seite auf dem Prozessor zu einem Bild gerendert und einmal durch den Encoder geschickt. Eine Textgenerierung gibt es nicht, und genau sie macht OCR mit einem VLM langsam: Ein OCR-Modell schreibt Hunderte bis Tausende Token je Seite nacheinander, wie unser VLM-Leitfaden zeigt. ColQwen2 v1.0 hat 4,42 GB BF16-Gewichte, rund 2,2B Parameter, und passt damit auf jede Karte, die wir liefern, mit Platz für große Batches.
Nach der üblichen Zählung kostet ein Vorwärtsdurchlauf mindestens 2 Operationen je Parameter und Token; eine ColQwen2-Seite mit 768 Token kostet also mindestens rund 3,4 × 10^12 Operationen, und die Arbeit des Vision-Encoders an den Bild-Patches kommt hinzu. Teilt man die von StorageReview gemessenen BF16-Matrixraten durch diesen Wert, ergibt sich nach unserer Schätzung eine Obergrenze.
| KARTE | BF16-MATRIXRATE | SEITEN/S, MAX. | 1 MIO. SEITEN, MIN. |
|---|---|---|---|
| L4, 24 GB, 72 W | 50 TFLOPS | rund 15 | rund 19 Stunden |
| L40S, 48 GB, 350 W | 220 TFLOPS | rund 65 | rund 4,3 Stunden |
| Zwei L40S | 440 TFLOPS | rund 130 | rund 2,2 Stunden |
Unsere Schätzung für Seiten mit dem Maximum von 768 Patches bei ColQwen2: 2 × 2,2B Parameter × 768 Token je Seite, geteilt durch die BF16-MAMF-Werte von StorageReview vom 14. Oktober 2026; Seiten mit weniger Patches kosten weniger; Rendern der Seiten, die zusätzliche Arbeit des Vision-Encoders und Schreibvorgänge in der Datenbank sind nicht enthalten, gemessene Raten liegen also niedriger.
Das ColPali-Paper hat die Indexierung auf einer NVIDIA L4 gemessen, gemittelt über 100 Seiten, und zeigt in seiner Abbildung 2, dass der Verzicht auf OCR und Layouterkennung sie deutlich beschleunigt; die Zeiten je Seite stehen nur in der Abbildung, nicht im Text, deshalb zitieren wir sie nicht. OpenSearchs eigener Benchmark vom 21. April 2026 auf OpenSearch 3.5.0 mit ColPali an einem entfernten GPU-Endpunkt nennt rund 9 Sekunden je Dokument für die Aufnahme, ein Wert, der die ganze Pipeline und die Dokumentgröße enthält. Messen Sie an einer Stichprobe Ihrer eigenen Dokumente: Eine Seite mit 768 Patches und eine mit 300 unterscheiden sich im Aufwand um mehr als die Hälfte.
ColPali v1.3 mit 1.030 Token und einem Modell von rund 3B Parametern kostet nach derselben Zählung mindestens rund 6 × 10^12 Operationen je Seite; planen Sie also etwa die halbe ColQwen2-Rate. Eine Neuindexierung nach einem Modellwechsel wiederholt den ganzen Lauf; dimensionieren Sie die Karte also für dieses Zeitfenster ebenso wie für den täglichen Zuwachs.
GPU und Speicher bei der Suche
Eine Anfrage läuft durch dasselbe Modell: Das Paper nennt rund 30 ms auf einer L4 zum Kodieren einer Anfrage, gegenüber rund 22 ms für ein Text-Embedding-Modell, bei Batchgröße 1. Die Anfrage wird dann zu rund 25 bis 30 Vektoren, wie die Beispiele der Modellkarten mit den Formen (25, 128) und (28, 128) zeigen. Der Encoder muss für den Suchdienst geladen bleiben, auf einer eigenen kleinen Karte oder einer MIG-Instanz auf einer größeren.
Die Bewertung ist rechnerisch billig, liest aber jede Kandidatenseite vollständig. Das Paper nennt für die Bewertung „≈1 ms per 1000 pages in the corpus“. Bei ColPalis 263,7 KB je Seite liest ein vollständiger Durchlauf über eine Million Seiten 264 GB, was nach unserer Rechnung mit den 300 GB/s der L4 mindestens 0,9 Sekunden dauert und mit den 864 GB/s der L40S 0,3 Sekunden; das passt zur Rate des Papers. Für eine Anfrage pro Sekunde über eine Million Seiten belegt ein vollständiger Durchlauf also den größten Teil einer L4 und ein Drittel einer L40S.
Eine zweistufige Suche vermeidet das. Qdrants Tutorial zur PDF-Suche im großen Maßstab wendet Mean Pooling auf die Ausgabe von ColPali oder ColQwen2 für eine erste Suchstufe an, schaltet HNSW für die ursprünglichen Multi-Vektoren ab (m=0) und nutzt sie nur „to rerank the results retrieved in the first stage“, mit einer Indexierung „faster by an order of magnitude“ und „Retrieval quality comparable to the original model“. Ein Text-Reranker auf dem OCR-Text der besten Seiten, wie in unserem Reranker-Leitfaden, kann als weitere Stufe folgen.
Vektordatenbanken mit Multi-Vector-Unterstützung
Von den vier Datenbanken unseres Vergleichs dokumentieren zwei Late Interaction direkt. Qdrant speichert „a variable amount of same-shaped dense vectors in a single point“, wenn ein Dense-Vektor mit einem Multivector-Komparator angelegt wird; sein Komparator max_sim ist „defined as a sum of maximum similarities between each pair of vectors in the matrices“, und „MaxSim returns a single combined score per point“. Milvus 2.6.4, vorgestellt am 5. Dezember 2025, hat Array-of-Structs-Felder mit dem Metriktyp MAX_SIM eingeführt, mit MAX_SIM_IP im ColPali-Beispiel und einem HNSW-Index auf dem Vektorfeld der Struktur.
Das README von pgvector, Version 0.8.7, beschreibt weder einen Multi-Vector-Typ noch Late Interaction oder MaxSim; die Seitenvektoren müssten als Zeilen gespeichert und von der Anwendung bewertet werden, womit der Index der Datenbank für die zweite Stufe entfällt. OpenSearch hat am 21. April 2026 einen Benchmark dreier multimodaler Ansätze veröffentlicht, mit ColPali bei rund 1.683 ms je Anfrage auf seinem Testcluster, sechs- bis siebenmal langsamer als die beiden anderen Ansätze dort. Unser Engineering-Partner Vixen.UNO baut RAG-Plattformen in unserem Service Private AI/ML; beschreiben Sie Ihre Dokumente und wo sie liegen, und wir schlagen den Aufbau der Suche vor.
ColPali, OCR oder beides
ColPali findet die Seite; es macht aus der Seite keinen Text. Eine RAG-Antwort braucht dann ein Modell, das die gefundenen Seitenbilder liest, also ein VLM im Antwortschritt mit seinen Bild-Token je Seite, oder OCR-Text der besten Seiten für ein Text-LLM. Die Werte des VLM-Leitfadens gelten für diesen Schritt, aber nur für die wenigen Seiten je Antwort, nicht für den ganzen Bestand.
| SITUATION | SUCHE | ANTWORTSCHRITT |
|---|---|---|
| Digitale PDFs, vor allem Text | Text-Embeddings auf Chunks | Text-LLM |
| Scans, Tabellen, Diagramme, Formulare | ColQwen2 oder ColPali | VLM auf den besten Seiten |
| Gemischtes Archiv, genaue Zahlen | ColQwen2-Vorstufe plus OCR-Text | Text-Reranker, dann LLM |
| Sehr großes Archiv, knappes Budget | gepoolte oder binäre Multi-Vektoren | VLM oder OCR auf den besten Seiten |
Unsere Empfehlungen aus den Werten oben und aus unseren Leitfäden zu Embeddings, VLMs und Vektordatenbanken.
Behalten Sie den OCR-Weg, wo Antworten genaue Zahlen zitieren müssen oder Nutzer nach Teilenummern und Codes suchen, denn Stichwortsuche braucht Text. Die Stärke von ColPali ist die Seite, deren Bedeutung im Layout steckt: ein Diagramm, ein ausgefülltes Formular, eine Tabelle ohne sauberen Text. Unser Artikel zum Fine-Tuning von Embedding-Modellen für RAG behandelt die Anpassung eines Retrievers an eigene Dokumente, und RAG auf Unternehmensdaten die Berechtigungen, die für Seitenvektoren ebenso gelten wie für Text-Chunks. Seitenbilder von Rechnungen oder Personalakten enthalten personenbezogene Daten; der Index braucht also dieselbe datenschutzrechtliche Bewertung wie die Dokumente, die Einzelheiten bestätigt Ihr Datenschutzbeauftragter.
Konfigurationen nach Archivgröße
| ARCHIV | INDEX, COLQWEN2 16 BIT | GPU FÜR INDEXIERUNG | GPU FÜR SUCHE |
|---|---|---|---|
| 100.000 Seiten | rund 20 GB | eine L4, rund 2 Stunden oder mehr | dieselbe L4 |
| 1 Million Seiten | rund 197 GB, gepoolte Vorstufe | eine L40S, rund 4,3 Stunden oder mehr | eine L4 oder eine MIG-Instanz |
| 10 Millionen Seiten | rund 2 TB, gepoolt oder binär | zwei L40S, rund 21 Stunden oder mehr | eine L40S zum Kodieren |
Unsere Schätzungen aus den Tabellen oben; GPU-Zeiten sind Untergrenzen bei den Obergrenzen der Seitenrate; Datenbankserver, Replikate und NVMe werden getrennt dimensioniert.
Eine Retrieval-Karte sitzt oft neben den LLM-Karten. In einem Server mit RTX PRO 6000 Server Edition nimmt eine Karte, in MIG-Instanzen zu 24 GB geteilt, den Retriever, einen Reranker und das Embedding-Modell auf, wie unser Reranker-Leitfaden beschreibt; L4 und L40S haben kein MIG. Wir bauen diese Server mit L4, L40S oder RTX-PRO-Karten für die Suche neben dem LLM, dimensioniert nach Seitenzahl und Suchlast.
Was wir liefern
Wir liefern die L4, die L40S und die RTX-PRO-Karten für Retrieval-Modelle, als Karten für Ihre Server oder in KI-Servern auf Bestellung, vor der Lieferung montiert und getestet, mit einem EU-Vertrag und einer Rechnung und mit Herstellergarantie auf jede Komponente. Die Suchplattform selbst, mit Seitenbildsuche, Berechtigungen und einem Antwortmodell, das seine Quelle nennt, ist unser Service Private AI/ML, mit Engineering durch unseren Partner Vixen.UNO.
FAQ
Welche GPU braucht ColPali?
Wie viel Speicher braucht ein ColPali-Index?
ColPali oder OCR plus Text-Embeddings für gescannte PDFs?
Welche Vektordatenbanken unterstützen ColPali-Multi-Vektoren?
Darf ColPali kommerziell genutzt werden?
Wie lange dauert die Indexierung einer Million Seiten?
Wir liefern L4, L40S und RTX-PRO-Karten für die visuelle Dokumentsuche und bauen RAG-Server mit unserem Partner Vixen.UNO. Beschreiben Sie Ihre Aufgabe in wenigen Sätzen, unser Team hilft Ihnen weiter. Wir antworten innerhalb eines Werktages. Das erste Gespräch ist kostenlos.
Mit einem Experten sprechenWir antworten innerhalb eines Werktages