BLOG · GUIDE ·

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

IN KÜRZE
  • 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

MODELLBACKBONEVEKTOREN JE SEITELIZENZ
ColPali v1.3PaliGemma-3B, 448 px1.030 × 128Adapter MIT; Backbone unter der Gemma-Lizenz
ColQwen2 v1.0Qwen2-VL-2Bbis 768 × 128Adapter MIT; Backbone Apache 2.0
ColQwen2.5 v0.2Qwen2.5-VL-3Bbis 768 × 128Adapter MIT; Backbone Qwen Research License
NVIDIA colembed-vl-3b-v2SigLIP2 + Llama 3.2 3Bbis 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

DARSTELLUNGJE SEITEJE MILLION SEITEN
Text, 2,1 Chunks × 1.024 Dim., float328,6 KB8,6 GB
ColQwen2, 768 × 128, 16 Bit196,6 KB197 GB
ColPali, 1.030 × 128, 16 Bit263,7 KB264 GB
ColPali, float32527,4 KB527 GB
ColPali, Pool-Faktor 3, 16 Bit87,9 KB88 GB
ColPali, 1 Bit je Dimension16,5 KB16,5 GB
NVIDIA colembed, 2.304 × 3.072, 16 Bit14,2 MB14,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.

KARTEBF16-MATRIXRATESEITEN/S, MAX.1 MIO. SEITEN, MIN.
L4, 24 GB, 72 W50 TFLOPSrund 15rund 19 Stunden
L40S, 48 GB, 350 W220 TFLOPSrund 65rund 4,3 Stunden
Zwei L40S440 TFLOPSrund 130rund 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.

SITUATIONSUCHEANTWORTSCHRITT
Digitale PDFs, vor allem TextText-Embeddings auf ChunksText-LLM
Scans, Tabellen, Diagramme, FormulareColQwen2 oder ColPaliVLM auf den besten Seiten
Gemischtes Archiv, genaue ZahlenColQwen2-Vorstufe plus OCR-TextText-Reranker, dann LLM
Sehr großes Archiv, knappes Budgetgepoolte oder binäre Multi-VektorenVLM 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 Datenschutz­beauftragter.

Konfigurationen nach Archivgröße

ARCHIVINDEX, COLQWEN2 16 BITGPU FÜR INDEXIERUNGGPU FÜR SUCHE
100.000 Seitenrund 20 GBeine L4, rund 2 Stunden oder mehrdieselbe L4
1 Million Seitenrund 197 GB, gepoolte Vorstufeeine L40S, rund 4,3 Stunden oder mehreine L4 oder eine MIG-Instanz
10 Millionen Seitenrund 2 TB, gepoolt oder binärzwei L40S, rund 21 Stunden oder mehreine 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?
Für das Modell eine kleine: ColQwen2 v1.0 hat 4,42 GB BF16-Gewichte, eine L4 mit 24 GB nimmt es also mit Platz für Batches auf. Der Durchsatz bestimmt die Zahl der Karten: Nach unserer Schätzung indexiert eine L4 höchstens rund 15 Seiten pro Sekunde und eine L40S rund 65, bei Seiten mit dem Maximum von 768 Patches. Das Paper hat auf einer L4 rund 30 ms je Kodierung einer Anfrage gemessen.
Wie viel Speicher braucht ein ColPali-Index?
ColPali speichert je Seite 1.030 Vektoren mit 128 Dimensionen, 263,7 KB in 16 Bit (257,5 KB in den 1.024-Byte-Einheiten des Papers), also rund 264 GB je Million Seiten. ColQwen2 mit bis zu 768 Vektoren braucht rund 197 GB, Token-Pooling mit dem Faktor 3 senkt den ColPali-Wert auf rund 88 GB, und ein Textvektor je Chunk belegt rund 8,6 GB.
ColPali oder OCR plus Text-Embeddings für gescannte PDFs?
ColPali für Seiten, deren Bedeutung in Diagrammen, Tabellen und Formularen steckt, weil es beim Indexieren OCR und Layouterkennung überspringt. OCR-Text, wo Antworten genaue Zahlen zitieren müssen oder Nutzer nach Codes suchen. Viele Archive nutzen beides: ColQwen2, um die Seite zu finden, OCR-Text oder ein VLM, um daraus zu antworten.
Welche Vektordatenbanken unterstützen ColPali-Multi-Vektoren?
Qdrant mit Multivector-Feldern und seinem Komparator max_sim sowie Milvus ab 2.6.4 mit Array of Structs und den Metriktypen MAX_SIM. Das README von pgvector beschreibt keine Multi-Vector-Bewertung. Bei großen Archiven hält eine erste Stufe auf gepoolten Vektoren mit vollem MaxSim nur für die Kandidaten die Anfragen schnell.
Darf ColPali kommerziell genutzt werden?
Das hängt vom Backbone ab. ColQwen2 v1.0 baut auf Qwen2-VL unter Apache 2.0, mit Adaptern unter MIT. ColPali v1.3 nutzt PaliGemma unter der Gemma-Lizenz, ColQwen2.5 die Qwen Research License für nicht kommerzielle Zwecke, und NVIDIAs colembed-Modelle sind nur für nicht kommerzielle oder Forschungszwecke. Ihre Rechtsabteilung bestätigt die Eignung.
Wie lange dauert die Indexierung einer Million Seiten?
Nach unserer Schätzung mindestens rund 19 Stunden auf einer L4 und rund 4,3 Stunden auf einer L40S mit ColQwen2, ohne Rendern der Seiten und Schreiben in die Datenbank. ColPali v1.3 kostet je Seite etwa doppelt so viel. Messen Sie eine Stichprobe Ihrer Dokumente, denn Seiten mit weniger Patches kosten weniger.

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 sprechen
Mit einem Experten sprechen

Wir antworten innerhalb eines Werktages

Mit dem Absenden stimmen Sie zu, dass wir Ihre Angaben zur Beantwortung Ihrer Anfrage verarbeiten; siehe unsere Datenschutzerklärung.

request@eurokommerz.at
Jordangasse 7, 1010 Wien