- Ollama startet mit einer neuen Engine die Unterstützung für multimodale Modelle (Text+Bild)
- Unterstützt verschiedene visuelle multimodale Modelle wie Llama 4 Scout und Gemma 3, wodurch Fragen und Antworten mit kombinierten Bild- und Texteingaben möglich werden
- Die neue Engine bietet verbesserte Modellmodularität, höhere Genauigkeit und effizientes Speichermanagement
- Durch Bild-Caching und die Nutzung von Hardware-Metadaten werden schnelle Inferenzleistung und Hardware-Optimierung erreicht
- Künftig sind weitere Funktionsausbauten wie längere Kontexte, Tool Calling und Streaming angekündigt
Unterstützung multimodaler Modelle in Ollama
Mit der Einführung einer neuen multimodalen Engine unterstützt Ollama moderne Vision-Multimodal-Modelle, die Bilder und Text gemeinsam verarbeiten
Umfassendes multimodales Verstehen und Schlussfolgern
Llama 4 Scout
- Ollama unterstützt Llama 4 Scout (109 Milliarden Parameter, ein Mixture-of-Experts-Modell)
- Als Beispiel können standortbezogene Fragen zu Videoframes gestellt werden
- Beispiel: Dabei lassen sich verschiedene Bildeigenschaften wie bestimmte Gebäude, Umgebungsmerkmale und Hintergrundinformationen erkennen
- Anschließend können auch verschiedene Folgefragen ganz natürlich gestellt werden
- Beispiel: Auf Fragen wie „Wie weit ist es von diesem Gebäude bis Stanford?“ oder „Wie kommt man am besten dorthin?“ liefert das Modell präzise Informationen
- Es gibt Antworten, die zur realen Situation passen, etwa zu verschiedenen Verkehrsmitteln, Routen und geschätzter Fahrzeit
Gemma 3
- Gemma 3 kann mehrere Bilder gleichzeitig als Eingabe verarbeiten und die Beziehungen zwischen ihnen analysieren
- Beispiel: In vier Bildern erkennt das Modell schnell gemeinsame Pflanzen oder Tiere, das Vorhandensein bestimmter Szenen oder ungewöhnliche Situationen
- In einem spielerischen Beispiel analysiert es eine Szene, in der ein Lama und ein Delfin boxen, und schätzt anhand ihrer Eigenschaften und Dynamik ein, wer gewinnen würde
Dokumentenerkennung und -analyse
Qwen 2.5 VL
- Das Modell Qwen 2.5 VL wird für Zeichenerkennung (OCR) und das Extrahieren bestimmter Textinformationen aus Bildern eingesetzt
- Ein praktisches Beispiel ist das Extrahieren von Informationen aus einem Scheck oder das Übersetzen vertikal geschriebener chinesischer Frühlingsfest-Sprüche ins Englische
Merkmale der multimodalen Engine von Ollama
- Bislang stützte sich Ollama für die Modellunterstützung auf das Projekt ggml-org/llama.cpp und entwickelte vor allem mit Fokus auf Benutzerfreundlichkeit und Modellportabilität
- Da zuletzt verschiedene Forschungslabore multimodale Modelle veröffentlicht haben, hat Ollama die eigene Engine ausgebaut, um entsprechend dem eigenen Ziel eine breitere Modellunterstützung zu ermöglichen
- Die neue Engine behandelt multimodale Modelle als unabhängige und erstklassige Objekte und stärkt zugleich die Beteiligung von Partnern und der Community
Bedeutung der Weiterentwicklung der Engine
- Sie verbessert Zuverlässigkeit und Genauigkeit der lokalen Inferenz in Ollama und schafft die Grundlage für die künftige Unterstützung verschiedenster multimodaler Bereiche, etwa Sprache, Bildgenerierung, Videogenerierung, längere Kontexte und verbesserte Tool-Nutzung
Modellmodularität
- Der „Wirkungsbereich“ jedes Modells wird voneinander isoliert, um die Zuverlässigkeit zu erhöhen und Entwicklerinnen und Entwicklern die einfache Integration neuer Modelle zu ermöglichen
- Das bestehende ggml/llama.cpp unterstützt nur textbasierte Modelle; bei multimodalen Modellen laufen Text-Decoder und Vision-Encoder getrennt
- Bilder müssen im Vision-Algorithmus eingebettet und anschließend an das Textmodell übergeben werden, wodurch sich die Logik pro Modell schlank implementieren lässt
- Innerhalb von Ollama können Modelle ihre eigenen Embedding-Projektionsschichten sowie eine Aufteilung passend zum jeweiligen modellspezifischen Trainingsschema selbst umsetzen
- Modellanbieter können sich auf ihr eigenes Modell und Training konzentrieren, ohne zusätzliche Patches oder komplexe bedingte Verzweigungen
- Beispiele für einige Modellstrukturen sind im GitHub-Repository von Ollama zu finden
Höhere Genauigkeit
- Große Bilder erzeugen viele Tokens und können die Batch-Größe überschreiten
- Wenn ein Bild eine Batch überschreitet, können Positionsinformationen beschädigt werden
- Ollama erhöht die Genauigkeit bei der Bildverarbeitung, indem zusätzliche Metadaten vergeben werden
- Dabei werden Details wie die Anwendung von causal attention sowie die Aufteilung und Grenzverwaltung von Bild-Embedding-Batches präzise behandelt
- Werden Aufteilungspunkte ungeeignet gesetzt, kann die Ausgabequalität leiden; deshalb orientiert man sich an den Maßgaben der jeweiligen Modell-Papers
- Andere lokale Inferenz-Tools implementieren dies jeweils unterschiedlich, Ollama stellt jedoch Qualität durch eine präzise Verarbeitung sicher, die zur Modellarchitektur und Trainingsweise passt
Optimiertes Speichermanagement
- Bild-Caching: Einmal verarbeitete Bilder bleiben fortlaufend im Speicher, wodurch nachfolgende Prompts schneller verarbeitet werden. Solange keine Speichergrenze erreicht wird, bleiben die Bilder erhalten
- Speichervorhersage und Optimierung des KV-Caches: In Zusammenarbeit mit Hardwareherstellern und OS-Partnern werden Hardware-Metadaten präzise erkannt, um die Speichernutzung zu optimieren
- Dazu gehören Validierungen nach Firmware-Versionen und Benchmarking neuer Funktionen
- Ollama optimiert causal attention getrennt auf Modellebene und bietet keine Anpassung auf Gruppenebene, sondern spezifisch für einzelne Modelle
- Beispiele:
- Google DeepMinds Gemma 3: weist per Sliding-Window-Attention nur einen Teil der Kontextlänge zu und nutzt den restlichen Speicher etwa für gleichzeitige Inferenz
- Metas Llama 4 Scout, Maverick usw.: unterstützt Chunked Attention, 2D Rotary Embeddings und die Umsetzung langer Kontexte in Mixture-of-Experts-Modellen
- Beispiele:
- Bei Modellen, deren Attention-Schichten nicht vollständig implementiert sind, kann das Modell zwar „funktionieren“, langfristig sind jedoch Qualitätsverluste und anomale Ergebnisse möglich
Ausblick
- Unterstützung für noch längere Kontextlängen
- Stärkere Inferenz- und Denkfähigkeiten
- Tool Calling und Streaming-Antworten
- Erweiterte Funktionen zur direkten Nutzung des Computers
Danksagung
- Organisationen und Forschende, die zur Modellentwicklung beigetragen haben
- Dank an die vielen Labore und Community-Mitglieder, die an Vision-Modellen gearbeitet haben, darunter Google DeepMind, Meta Llama, Alibaba Qwen, Mistral und IBM Granite
- GGML
- Die Tensor-Bibliothek des GGML-Teams ist ein Kernelement der Inferenz-Engine von Ollama. Über den direkten Zugriff auf GGML aus Go lassen sich benutzerdefinierte Inferenzgraphen und komplexe Modellarchitekturen entwerfen
- Hardware-Partner
- Dank an Hardware-Partner wie NVIDIA, AMD, Qualcomm, Intel und Microsoft, die bei der Verbesserung der Inferenzleistung auf unterschiedlichen Geräten unterstützt haben
1 Kommentare
Hacker-News-Kommentare
llama.cppnach langer Arbeit endlich stabile Vision-Funktionen in den Main-Branch aufgenommen hat und die Mühen nun Früchte tragen; Vermutung, dass Ollama diese Funktion schon lange vorbereitet hat; Einschätzung, dass die Entscheidung sinnvoll ist, sich von der frühen Abhängigkeit vonllama.cppzu lösen und eigenständig weiterzugehenllama.cppumgesetzt wurde, da auchllama.cppein beeindruckendes Projekt ist; Vermutung, dass die GGML-Tensorbibliothek eine Schlüsselrolle spielt; Einschätzung, dass die Struktur wohl darin besteht, das Modellverhalten direkt in Go über FFI zu implementieren (etwa für Gemma3) und dabei GGML-Funktionen zu nutzen; Meinung, dass solche technischen Details im offiziellen Blog deutlicher hätten beschrieben werden sollenllama.cppzu nutzen, ohne dass mehr Erklärung folgtllama.cppseit Langem nicht angemessen würdigt; zusätzlich der Hinweis, dass bei manchen Projekten sogar Ollama die Anerkennung bekommt, obwohl tatsächlich direktllama.cppverwendet wird; Anmerkung, dass Ollama zwar selbst nichts beiträgt (und dazu auch nicht verpflichtet ist), intern aber einen gepflegten Fork unterhält, aus dem Interessierte bei Bedarf per Cherry-Pick Code übernehmen könnenllama.cppproblematisch ist; Ergänzung, dass die Namensnennung inzwischen etwas offener geworden seillama.cpp, lmstudio und ramalama sei jeweils klarer, woran man ist; ramalama trage vergleichsweise stark zu verschiedenen relevanten Open-Source-Projekten bei; dazu wurde ein nützlicher GitHub-Link geteiltllama.cppfungiert, dies aber weder offen darstellt noch entsprechend anerkenntnvidiastelle entsprechende Dokumentation bereit