Skip to main content Skip to page footer

KI-Update: Warum braucht es ein eigenes Embedding-Modell?

Erstellt von Danny Sternol | | News

Digitale Souveränität ist für uns beim Flying Circus mehr als nur eine Floskel. Sie bedeutet konkret: Ich muss den Anbieter wechseln können, ohne meine Daten zu verlieren oder meine Systeme neu bauen zu müssen.

Die Challenge: Konsistente Embeddings Im Zuge unserer Migration von Ollama zu purem llama-cpp (für mehr Granularität im Betrieb) mussten wir sicherstellen, dass die generierten Embeddings bit-genau kompatibel bleiben. Das Risiko: Verändert sich der Vektor-Output durch den Wechsel der Engine auch nur minimal, passen die neuen Suchanfragen nicht mehr zu den gespeicherten Daten. Die Folge wäre eine komplette Neu-Indizierung der Vektordatenbank beim Kunden. Ein No-Go für nahtlose Operations.

Unsere Findings: Der Teufel steckt in den "Dense Modules" 

Wir haben untersucht, welche Faktoren die Vektoren verändern. Unsere Analyse zeigte überraschendes:

  • Inference-Engine & Hardware: Vernachlässigbar.
  • Quantisierung: Spielt eine kleine Rolle, ist aber managebar.
  • Modellarchitektur: Der entscheidende Faktor.

Standard-Konvertierungen von Embedding-Modellen ins GGUF-Format ignorieren oft spezifische Layer (wie die Dense Modules nach dem Transformer-Stack), die für die exakte Berechnung des Vektors essenziell sind. Fehlen diese, ist der Output mathematisch "kaputt" im Vergleich zum Original.

Die Lösung: Unser eigenes Derivat 

Um absolute Kompatibilität zu gewährleisten, nutzen wir nicht den Standard-Convert, sondern haben ein eigens angepasstes Derivat von Google/Gemma3 erstellt, das diese Module explizit beibehält. Damit beweisen wir: Echte digitale Souveränität funktioniert auch im KI-Zeitalter – wenn man genau hinschaut und die Werkzeuge versteht.

Das Modell (EmbeddingGemma-300m mit Dense Modules) stellen wir der Community ab sofort auf Hugging Face zur Verfügung: https://huggingface.co/flyingcircusio/embeddinggemma-300m-GGUF-with-dense-modules

Wer tief in die Details einsteigen will: Den vollständigen Analyse-Report inklusive aller Schritte zur Reproduktion haben wir auf GitHub dokumentiert. https://github.com/flyingcircusio/skvaider/blob/move-to-llama-cpp-inference/doc/stability-comparison/README.md

Zurück
Visualisierung des Wechsel von ollama zu llama.cpp und das der Teufel im Detail steckt
Das Bild ist mit Banana Pro Ki-Generiert