Dokumentenverarbeitung mit SmolDocling: Effiziente multimodale OCR und Dokumentenanalyse
Unsere Welt wird von Tag zu Tag digitaler. Von den Anfängen des Personal Computing über die breite Nutzung von E-Mail, sozialen Netzwerken, E-Commerce und Remote-Arbeit bis hin zu Large Language Models und Agentic AI hat die digitale Transformation einen enormen Bedarf geschaffen, Inhalte zu digitalisieren und wertvolle Informationen daraus zu gewinnen. In diesem Zusammenhang bildet die Dokumentenverarbeitung die Verbindung zwischen physischen Unterlagen und digitalen Systemen, indem gedruckter Text in nutzbare digitale Daten überführt wird. Genau diese Technologie macht es möglich, dass ein Smartphone fremdsprachige Speisekarten übersetzt, Historiker alte Manuskripte bewahren und zeitaufwendige manuelle Dateneingaben deutlich reduziert werden.
Im Kern beschreibt Dokumentenverarbeitung den Vorgang, Text aus Bildern in maschinenlesbare Formate umzuwandeln. Dadurch werden Anwendungsfälle wie Dokumentenkonvertierung und Dokumentenverständnis möglich. Bei der Dokumentenkonvertierung wird gescannter Text in Formate wie Markdown, Word oder PDF überführt. Das Dokumentenverständnis geht darüber hinaus, indem es nicht nur Text erkennt, sondern auch Struktur, Bedeutung und verwertbare Inhalte aus dem Dokument ableitet.
SmolDocling
SmolDocling ist ein kompaktes multimodales Vision-Language-Modell, das für eine effiziente Dokumentenverarbeitung entwickelt wurde. Mit nur 256 Millionen Parametern ermöglicht es eine vollständige Seitenkonvertierung und bewahrt dabei Layout, Struktur und räumliche Zusammenhänge innerhalb des Dokuments. Dank seiner geringen Größe stellt es eine kosteneffiziente Lösung für die Dokumentenverarbeitung dar, da weniger Rechenleistung und Speicher benötigt werden. Dadurch eignet es sich besonders gut für schnelles Prototyping und den Einsatz auf Edge-Hardware.
Voraussetzungen
Für optimale Leistung benötigt SmolDocling NVIDIA-GPUs mit CUDA-Unterstützung. Cloud-GPU-Instanzen mit z.B. H100-GPUs liefern die nötige Rechenleistung, um Dokumente auch im produktiven Maßstab effizient zu verarbeiten.
Funktionen und Fähigkeiten
SmolDocling verarbeitet Dokumente mithilfe von DocTags, einem Markup-Format, das sowohl Kontext als auch Layout-Informationen erhält. Die Formatierung bleibt durch Bounding-Box-Erkennung bestehen, und zugleich werden spezialisierte Inhalte wie Code, Formeln, Diagramme, Tabellen und Abbildungen erkannt. Darüber hinaus bleibt die Dokumentstruktur erhalten, indem Listen korrekt gruppiert und Beschriftungen mit den zugehörigen Elementen verknüpft werden.
Das DocTags-Format beschreibt Typ, Position und Inhalt von Elementen wie Text, Tabellen, Bildern und Code. Dabei kommen verschachtelte Tags zum Einsatz, um Beziehungen zwischen Elementen zu erhalten, etwa Beschriftungen innerhalb von Bildern, Einträge innerhalb von Listen oder die spezialisierte Optimized Table-Structure Language (OTSL) zur Darstellung von Tabellenstrukturen. Auf diese Weise bleiben sowohl die visuelle Anordnung als auch die semantische Struktur komplexer Dokumente erhalten, wodurch sich SmolDocling sehr gut für eine durchgängige Dokumentenkonvertierung eignet.
DocTags
| Tag-Typ | Beschreibung |
|---|---|
| XML-ähnliche Syntax | Verwendet eine XML-ähnliche Schreibweise mit öffnenden und schließenden Tags für Textblöcke sowie eigenständigen Tags für Anweisungen, zum Beispiel <text>hello world</text> und <page_break>. |
| Dokumentenstruktur | Vollständige DocTags-Fragmente, die in <doctag>...</doctag> eingeschlossen sind, können einzelne oder mehrere Seiten abbilden, die durch <page_break>-Tags getrennt sind. |
| Blocktyp-Tags | <text>, <caption>, <footnote>, <formula>, <title>, <page_footer>, <page_header>, <picture>, <section_header>, <document_index>, <code>, <otsl>, <list_item>, <ordered_list>, <unordered_list> |
| Positionskodierung | Elemente können verschachtelte Positions-Tags enthalten, die Bounding-Box-Koordinaten definieren: <loc_x1><loc_y1><loc_x2><loc_y2> auf Basis eines 0–500-Rasters. |
| Tabellenstruktur | Nutzt den OTSL-Wortschatz für Tabellen mit Erweiterungen wie <fcel> (vollständige Zelle), <ecel> (leere Zelle), <ched> (Spaltenüberschriften), <rhed> (Zeilenüberschriften) und <srow> (Tabellenabschnitte). |
| Listenverarbeitung | <list_item>-Elemente innerhalb von <ordered_list> oder <unordered_list> legen den Listentyp fest. |
| Beschriftungen | <picture>– und <otsl>-Elemente können ein <caption>-Tag enthalten, um beschreibende Informationen bereitzustellen. |
| Code-Verarbeitung | <code>-Elemente bewahren die Formatierung und enthalten ein <_programming-language_>-Klassifizierungs-Tag mit Unterstützung für 57 Sprachen. |
| Bildklassifizierung | <picture>-Elemente enthalten <image_class>-Tags für mehr als 20 Bildtypen, darunter Diagramme, Schaubilder, Code und weitere Kategorien. |
| Einheitliche Darstellung | Zugeschnittene Seitenelemente verwenden dieselbe DocTags-Repräsentation wie ihre vollständigen Seiten-Pendants. |
Weitere Funktionen von SmolDocling sind nachfolgend zusammengefasst:
| Funktion | Beschreibung |
|---|---|
| OCR + Layouterhalt | Extrahiert Text und bewahrt dabei die räumliche Struktur. |
| Spezialisierte Erkennung | Unterstützt Codeblöcke, Formeln, Tabellen und Diagramme. |
| Vollständige Seitenkonvertierung | Verarbeitet alle Elemente einer Seite gleichzeitig. |
| Schnelle Inferenz | Benötigt 0,35 Sekunden pro Seite auf A100-GPUs. |
| DocTags-Markup | Stellt Dokumentinhalt und Layout in einem strukturierten Format dar. |
SmolDocling arbeitet mit Docling zusammen, um flexible Import- und Export-Workflows zu ermöglichen. Geplante Erweiterungen umfassen One-Shot-Inferenz für mehrere Seiten, eine verbesserte Diagrammerkennung und die Erkennung chemischer Strukturen.
Modellarchitektur
SmolDocling basiert auf SmolVLM, einem Modell von HuggingFace. Die Umwandlung von Bildern von Dokumentenseiten in DocTags-Sequenzen läuft folgendermaßen ab: Zunächst werden die Eingabebilder durch einen Vision-Encoder verarbeitet und anschließend mithilfe von Projektions- und Pooling-Methoden umgeformt. Danach werden diese verarbeiteten Bild-Embeddings mit den aus dem Benutzerprompt abgeleiteten Text-Embeddings in einer ineinander verschachtelten Sequenz kombiniert. Abschließend wird diese kombinierte Darstellung an ein Large Language Model übergeben, das die DocTags-Sequenz autoregressiv erzeugt.
Daten
Zur Verbesserung der unterschiedlichen Fähigkeiten des Modells wurden verschiedene Datensatzsammlungen verwendet. Zu den Datensätzen, die für das Training mit Fokus auf Dokumentenverständnis und Bildbeschreibung eingesetzt wurden, gehören The Cauldron, Docmatix und MathWriting.
Wettbewerbsfähige Leistung
SmolDocling liefert konkurrenzfähige Ergebnisse gegenüber Modellen, die bis zu 27-mal größer sind, und senkt dabei gleichzeitig den Rechenbedarf. Das Modell eignet sich für Geschäftsdokumente, wissenschaftliche Arbeiten, technische Berichte, Patente und Formulare. Im Gegensatz zu vielen OCR-Modellen, die sich vor allem auf wissenschaftliche Publikationen konzentrieren, ist SmolDocling für eine breite Vielfalt an Dokumenttypen ausgelegt.
Fazit
In diesem Tutorial haben wir SmolDocling betrachtet, ein kompaktes und zugleich leistungsfähiges Vision-Language-Modell, das gezielt für Aufgaben der Dokumentenkonvertierung entwickelt wurde. Durch das einheitliche DocTags-Ausgabeformat kann SmolDocling unterschiedlichste Dokumenttypen effizient verarbeiten – von einfachem Text über komplexe Formulare bis hin zu Code-Listen – und benötigt dabei deutlich weniger Rechenressourcen als größere Alternativen. Die ausgewogene Kombination aus Effizienz und Genauigkeit macht das Modell zu einer wertvollen Wahl für Entwickler und Organisationen, die Funktionen zum Dokumentenverständnis implementieren möchten.


