Your ML model cache volume is getting blown up during restart and the model is being re-downloaded during the first search post-restart. Either set it to a path somewhere on your storage, or ensure you’re not blowing up the dynamic volume upon restart.
In my case I changed this:
immich-machine-learning:
...
volumes:
- model-cache:/cache
To that:
immich-machine-learning:
...
volumes:
- ./cache:/cache
I no longer have to wait uncomfortably long when I’m trying to show off Smart Search to a friend, or just need a meme pronto.
That’ll be all.
Yup, the Intel J4125 Celeron 4-Core CPU, 2.0-2.7Ghz.
I switched to the ViT-SO400M-16-SigLIP2-384__webli model, same as what you use. I don’t worry about processing time, but it looks like a more capable model, and I really only use immich for contextual search anyway, so that might be a nice upgrade.
What’s your consideration for choosing this one? I would have thought ViT-B-16-SigLIP2__webli to be slightly more accurate, with faster response and all that while keeping a slightly less RAM consumption (1.4GB less I think).
Seemed to be the most popular. LOL The smart search job hasn’t been running for long, so I’ll check that other one out and see how it compares. If it looks better, I can easily use that.
Did you run the Smart Search job?
Running now.
Let me know how inference goes. I might recommend that to a friend with a similar CPU.
I decided on the ViT-B-16-SigLIP2__webli model, so switched to that last night. I also needed to update my server to the latest version of Immich, so a new smart search job was run late last night.
Out of 140,000+ photos/videos, it’s down to 104,000 and I have it set to 6 concurrent tasks.
I don’t mind it processing for 24h. I believe when I first set immich up, the smart search took many days. I’m still able to use the app and website to navigate and search without any delays.
Let me know how the search performs once it’s done. Speed of search, subjective quality, etc.
OK, indexing finished some time yesterday and I ran a few searches like:
“Child wearing glasses indoors”
“Cars with no wheels”
“Woman riding a bike”
Results come up (immich on android) in three seconds.
But the quality of the results do appear to be considerably better with ViT-B-16-SigLIP2__webli compared to the default model.
I’m pretty happy. 👍
Nice. So this model is perfectly usable by lower end x86 machines.
I discovered that the Android app shows results a bit slower than the web. The request doesn’t reach Immich during the majority of the wait. I’m not sure why. When searching from the web app, the request is received by Immich immediately.
Interesting, it’s slightly slower for me through the web interface both with a direct connect to my network, or when proxied through the internet. Still, we’re talking seconds here, and the results are so accurate!
Immich has effectively replaced the (expensive) Windows software Excire Foto, which I was using for on-device contextual search because Synology Photos search just sucks. Excire isn’t ideal to run from Linux because it has to be done through a VM, so I’m happy to self-host Immich and be able to use it even while out of the house.
Search speed was never an issue before, and neither was quality. My biggest gripe is not being able to sort search by date! If I had that, it would be perfect.
But I’ll update you once it’s done (at 97,000 to go… )