CLIP и multimodal модели на собеседовании Data Scientist

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Зачем разбирать на собесе

CLIP — фундамент современных multimodal систем. На собесе DS: «как работает CLIP», «зачем contrastive», «применения». Senior — нюансы fine-tuning, зачем ALIGN / FLIP.

CLIP: архитектура

CLIP (Contrastive Language-Image Pre-training, OpenAI 2021).

Two towers:

  • Image encoder — ViT или ResNet.
  • Text encoder — Transformer.

Оба выводят embeddings в общее пространство (обычно 512-dim).

image → image_embedding (512)
text  → text_embedding  (512)

similarity = cosine(image_emb, text_emb)

Тренировка. На 400M пар (image, caption) из интернета. Цель — сделать embedding пары близкими, эмбеддинг разных пар — далёкими.

Contrastive learning

Loss (InfoNCE / contrastive):

L = -log( exp(sim(I, T+)/τ) / Σ exp(sim(I, T_j)/τ) )

В батче из N пар (I_i, T_i):

  • Для каждой картинки I_i — positive это T_i, negatives — все T_j (j ≠ i).
  • Симметрично для текстов.
  • Total loss = (image_loss + text_loss) / 2.

Temperature τ — learnable scalar, контролирует sharpness. CLIP использует learnable log_τ.

Большой batch важен. Чем больше негативов в батче — тем сильнее learning signal. CLIP тренировался на batch=32k через distributed training.

Zero-shot classification

Без fine-tuning можно классифицировать.

1. Список классов: ["cat", "dog", "car", "tree"]
2. Сделать prompt: "a photo of a cat", "a photo of a dog", ...
3. Получить text embeddings для каждого prompt.
4. Картинку → image embedding.
5. Argmax cosine similarity с text embeddings.

CLIP zero-shot на ImageNet ~76% top-1 — без single training image из ImageNet.

Prompt engineering важен.

  • "a photo of {class}" работает лучше, чем просто "{class}".
  • Ensemble prompts: usuredness через несколько prompt templates.
Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Применения

Image search. Запрос текстом → ищем картинки с близким embedding.

Image classification без labels. Список классов → zero-shot.

Content moderation. Ловим нежелательный контент через text prompts.

Diffusion models guidance. Stable Diffusion использует CLIP для conditional generation (text → image).

OCR / VQA через VLM. GPT-4V, Gemini, Claude используют CLIP-style backbone.

Recsys. Cross-modal retrieval (текстовый запрос → image, video).

Современные multimodal модели

ALIGN (Google). Сравним с CLIP, обучен на noisy data из интернета (1.8B пар).

FLIP (Facebook). Маскирует часть изображения для эффективности (быстрее в 2-3×).

CoCa. Contrastive + captioning training.

BLIP / BLIP-2. Видение + язык с генерацией captions.

LLaVA, GPT-4V, Gemini, Claude 3. Полноценные VLM (Vision Language Models) — могут не только classify, но и описывать, отвечать на вопросы.

Multimodal embedding tricks. Sentence-transformers + CLIP-style для cross-modal retrieval в production.

Частые ошибки

Без prompt engineering. Zero-shot accuracy сильно зависит от prompts. "a {class}" vs "a photo of a {class}".

Использовать на специфичных доменах. CLIP обучен на интернет-данных. Медицина / промышленность — fine-tuning или специализированные модели.

Сравнение embeddings без l2-normalize. Cosine corretly реализуется через normalize → dot.

Игнорировать text length. Text encoder CLIP — 77 tokens максимум. Длинные тексты обрезаются.

Multi-language без adaptation. CLIP в основном на английском. Для русского — Multilingual CLIP, ru-CLIP, OpenCLIP с русским fine-tune.

Связанные темы

FAQ

CLIP заменит CNN-классификаторы?

В zero-shot — частично да. На production accuracy classification — fine-tuned CLIP или специальный модель часто лучше.

Можно дообучать CLIP?

Да: full fine-tuning, LoRA-style, или контрастивно на своих парах. Multilingual / domain adaptation популярны.

Это официальная информация?

Нет. Статья основана на работе CLIP (Radford 2021) и open source реализаций (OpenCLIP).


Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.