Immich ist eine selbst gehostete, Docker-basierte Foto- und Videoverwaltungssoftware, mit der ihr eure Medien zentral speichern, organisieren und durchsuchen könnt – ähnlich wie Google Fotos, nur auf eurem eigenen Server. Eine besonders praktische Funktion ist die intelligente Suche, die semantische Bildsuche oder auch Kontextsuche. Mit Suchbegriffen wie z.B. “Schwarze Katze im Schnee” könnt ihr eure zuvor analysierte Medienbibliothek durchsuchen und passende Bilder finden, ohne dass diese vorher manuell verschlagwortet werden müssen.
Für die semantische Suche ist in Immich allerdings standardmäßig das CLIP-Modell ViT-B32__openai voreingestellt, welches nicht multilingual trainiert wurde. Bei deutschen Suchbegriffen fallen die Ergebnisse daher deutlich schlechter aus als bei einem mehrsprachigen Modell. Im Folgenden zeige ich euch, wie ihr die Suchqualität durch die Auswahl eines geeigneten CLIP-Modells verbessern könnt.
Das passende CLIP-Modell finden
Ich habe mir dafür die zur Verfügung stehenden CLIP-Modelle genauer angesehen. Bei der Auswahl sind neben der Suchqualität vor allem der Speicherbedarf und die Ausführungsgeschwindigkeit interessant.
Bei der ersten Suchanfrage muss Immich das benötigte CLIP-Modell in den Arbeitsspeicher laden. Dadurch dauert die erste Suche länger. Solange das Modell im Speicher bleibt, stehen die folgenden Suchanfragen wesentlich schneller zur Verfügung.
Der Speicherbedarf ist für mich ein wichtiger Faktor, da Immich auf meiner Synology DS723+ mit 16 GB RAM läuft. Auch die Prozessorleistung des NAS ist begrenzt.
Nach mehreren Versuchen mit unterschiedlichen Modellen bin ich bei ViT-B-32-SigLIP2-256__webli gelandet. Dieses Modell ist Multilingual und liefert auch bei deutschen Begriffen sehr gute Ergebnisse. Laut den Immich-Benchmarks benötigt es zwar mehr Arbeitsspeicher und hat eine etwas längere Ausführungszeit als das Standardmodell. In meiner praktischen Nutzung fällt der Geschwindigkeitsunterschied jedoch nicht auf.
Vergleich der beiden CLIP-Modelle
| Merkmal | Mein Modell | Immich-Standardmodell |
|---|---|---|
| Modellname | ViT-B-32-SigLIP2-256__webli | ViT-B-32__openai |
| Modellfamilie | SigLIP 2 | OpenAI CLIP |
| Bildauflösung | 256 × 256 Pixel | 224 × 224 Pixel |
| Modellgröße | Base, ViT-B-32 | Base, ViT-B-32 |
| Mehrsprachige Suche | Ja | Primär Englisch |
| RAM im Benchmark | 3.061 MiB | 1.004 MiB |
| Ausführungszeit im Benchmark | 3,31 ms | 2,26 ms |
Quelle: Immich-Dokumentation – CLIP-Modelle. Die Messwerte stammen aus dem Benchmark und sind nicht mit den tatsächlichen Suchzeiten auf meinem Synology NAS gleichzusetzen.
Suchqualität im Benchmark
| Testkriterium | Dein SigLIP2-Modell | OpenAI CLIP |
|---|---|---|
| Suchqualität Englisch (Recall) | 82,28 % | 69,90 % |
| Suchqualität Deutsch (Recall) | 81,53 % | 24,13 % |
Recall beschreibt, wie gut relevante Bilder in den Suchergebnissen wiedergefunden werden. Die Werte beziehen sich auf die standardisierten Tests von Immich.
Gerade bei deutschen Suchanfragen ist der Unterschied deutlich: Das mehrsprachige SigLIP2-Modell findet in den Tests wesentlich mehr relevante Bilder. Für mich ist das ein guter Kompromiss zwischen Suchqualität, Geschwindigkeit und Ressourcenbedarf.
Umstellung des CLIP-Modells in Immich
Zum Ändern des Modells öffnet ihr in Immich die “Verwaltung” > “Einstellungen” > “Einstellungen für maschinelles Lernen” > “Intelligente Suche”. Dort tragt ihr im Feld „CLIP-Modell“ den Namen des gewünschten Modells ein: ViT-B-32-SigLIP2-256__webli

Im Anschluss müssen die “Smart-Search-Embeddings” neu berechnet werden, eure komplette Medienbibliothek wird dadurch analysiert. Die Fotos selbst werden dadurch nicht erneut importiert oder verändert.
Dafür wechselt ihr in den Bereich “Server-Tasks” und klickt bei “Intelligente Suche” auf Alle. Je nach Größe eurer Fotobibliothek und Performance der Hardware kann die Analyse Stunden oder Tage dauern. Ihr könnt jederzeit den Fortschritt in der Warteschlange kontrollieren.

Ich habe das CLIP-Modell ViT-B-32-SigLIP2-256__webli jetzt seit über einem Jahr im Einsatz freue mich regelmäßig über die ausgesprochen guten Suchergebnisse. Die erste Suche dauert ca. fünf bis 8 Sekunden (bei aktuell etwa 90.000 Medien in unserer Familienbibliothek), jede weitere Suche ist meist nach etwa einer Sekunde abgeschlossen.
Pro-Tipp: CLIP-Modell länger im RAM behalten
Standardmäßig wird das CLIP-Modell nach 300 Sekunden (fünf Minuten) ohne Nutzung wieder aus dem Arbeitsspeicher entladen. Wenn ihr die intelligente Suche häufig verwendet und genügend RAM zur Verfügung habt, könnt ihr diesen Zeitraum verlängern.
Die Einstellung betrifft den Docker Container immich-machine-learning und lässt sich über die Umgebungsvariable MACHINE_LEARNING_MODEL_TTL steuern:
| Wert | Verhalten | |
|---|---|---|
| 300 | Standard: Entladen nach 5 Minuten | |
| 600 | Beispiel: Entladen nach 10 Minuten | |
| 0 | Modell dauerhaft im RAM behalten |

Kommentare
Du kannst diesen Artikel mit deinem Mastodon- oder einem anderen Fediverse-Konto kommentieren, indem du auf diesen Beitrag antwortest. Dein Konto liegt auf einem anderen Server? Kopiere die Adresse des Beitrags in die Suche deiner eigenen Instanz und antworte von dort.
Die Kommentare werden erst nach einem Klick von norden.social geladen. Dabei wird deine IP-Adresse an diesen Server übertragen.