Перейти к содержимому
24 / 25

Какую модель выбрать для векторного поиска по картинкам: CLIP, OpenCLIP, SigLIP 2, DINOv2, EVA-CLIP — для поиска «текст → картинка» и «картинка → картинка», и как подружить её с FAISS или Qdrant?

Векторные представления картинок — это плотные векторы, в которые модель кодирует изображение (и, если умеет, текст). Рабочий набор: CLIP (OpenAI ViT-L/14) — исходный вариант, до сих пор самый распространённый и обросший инструментами; OpenCLIP (LAION ViT-bigG-14, ViT-H-14) — открытые веса, лучше CLIP на ImageNet zero-shot; SigLIP / SigLIP 2 (Google) — другая функция потерь (сигмоида вместо softmax), даёт лучше откалиброванные оценки близости и обгоняет CLIP в поиске «текст → картинка»; вариант SigLIP-2 ViT-SO400M — сильнейшая открытая модель для этой задачи. DINOv2 (Meta) — обучен без разметки, чемпион для поиска «картинка → картинка» без текста. EVA-CLIP (BAAI) — максимум при дообучении. Из закрытых: Cohere Embed-v4 — сильнейший на мультимодальном MTEB, но нужна коммерческая лицензия. Jina CLIP v2 берёт другим: контекст 8192 токена (можно кодировать документ целиком), 89 языков и матрёшечные эмбеддинги — вектор ужимается с 1024 до 64 измерений прямо на выдаче. Как выбирать: «текст → картинка» в проде → SigLIP 2; «картинка → картинка» и поиск почти-дублей → DINOv2; одна видеокарта и скромный бюджет → OpenCLIP ViT-B-32. Как подключить: open_clip или transformers SiglipModel → нормировать вектор по L2 → сложить в FAISS (IndexFlatIP) или в векторную базу Qdrant с косинусной мерой.

Какую модель выбрать для векторного поиска по картинкам: CLIP, OpenCLIP, SigLIP 2, DINOv2, EVA-CLIP — для поиска «текст → картинка» и «картинка → картинка», и как подружить её с FAISS или Qdrant? | JScriptiser