Дискриминативные и генеративные модели
Есть дискриминативные и генеративные модели. Чем они отличаются с математической точки зрения? Приведите примеры современных генеративных моделей.
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Короткий ответ
Дискриминативная модель учит предсказание target по input, часто p(y|x) или decision boundary. Генеративная модель учит распределение данных или механизм сэмплирования: p(x), p(x|y) или joint distribution. Примеры: diffusion models, GAN, VAE, normalizing flows, autoregressive transformers.
Подробный разбор
Дискриминативная постановка фокусируется на предсказании: classification, regression, ranking, detection. В вероятностной форме это часто p(y|x), то есть распределение ответа при данном input, либо напрямую decision function.
Генеративная модель описывает, как данные могли быть порождены, и позволяет сэмплировать новые объекты. В зависимости от family она может моделировать p(x), p(x|y) или joint distribution. VAE задает latent distribution и decoder, normalizing flows используют invertible transformations, GAN обучает generator против discriminator, diffusion учит reverse denoising process, autoregressive transformers раскладывают генерацию по tokens.
Разные family имеют разные tradeoffs: GAN быстрые на inference, но нестабильны в обучении и могут страдать mode collapse; diffusion обычно стабильнее и качественнее, но сэмплирует итеративно; autoregressive models гибкие для sequence generation, но декодируют последовательно.
Типичные ошибки
- Говорить, что все generative models точно учат p(x, y).
- Перечислять GAN и diffusion без различия в обучении.
- Путать обычный autoencoder и VAE.
Как сказать на собеседовании
- Возьмите p(y|x) vs modeling/sampling x как anchor.
- Дайте примеры из нескольких model families, не только LLM.
IoU вместо MSE для рамок объектов
В детекции объектов почему для регрессии рамок часто используют loss на основе IoU, а не обычный MSE по координатам углов рамки?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Короткий ответ
MSE по координатам плохо совпадает с качеством детекции и зависит от масштаба объекта. IoU напрямую измеряет пересечение предсказанной и правильной рамки, поэтому одна и та же ошибка в пикселях оценивается относительно размера объекта и качества локализации.
Подробный разбор
Обычный MSE считает координаты углов независимыми целями регрессии. Сдвиг на 10 пикселей дает похожий coordinate loss для маленького и большого объекта, хотя влияние на качество детекции будет разным. MSE также напрямую не измеряет пересечение рамок, вложенность и качество соотношения сторон.
IoU считает intersection over union, поэтому ближе к тому, как обычно оценивают детекторы объектов. Он нормирован на размер рамки и показывает, насколько хорошо предсказанная рамка совпала с правильной. Современные варианты вроде GIoU, DIoU и CIoU добавляют слагаемые для случая без пересечения, расстояния между центрами и соотношения сторон.
MSE не запрещен полностью: в некоторых параметризациях, например offsets относительно anchors, он может работать. Но MSE по сырым координатам углов - слабый proxy для качества локализации.
Типичные ошибки
- Говорить, что MSE вообще никогда не работает.
- Забывать пример small object vs large object.
- Не упоминать zero-gradient/non-overlap problem, из-за которой появились GIoU-like variants.
Как сказать на собеседовании
- Используйте пример одного pixel shift для маленького и большого box.
- Если интервьюер спрашивает edge cases, упомяните IoU variants.
BatchNorm при обучении и инференсе
Зачем используют BatchNorm? Как он работает во время обучения и чем поведение отличается на инференсе?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Короткий ответ
BatchNorm нормализует активации по статистикам батча, затем применяет обучаемые gamma/beta. При обучении он считает среднее и дисперсию по текущему mini-batch и обновляет накопленные статистики; на инференсе использует замороженные running mean/variance.
Подробный разбор
BatchNorm помогает оптимизации: стабилизирует распределения активаций и часто позволяет использовать больший learning rate. Для каждого канала слой вычитает среднее, делит на стандартное отклонение плюс epsilon, затем применяет обучаемые scale и shift - gamma и beta.
Во время обучения среднее и дисперсия считаются по текущему mini-batch, а running estimates обновляются с momentum. Gamma и beta обучаются через backpropagation как обычные дифференцируемые параметры.
На инференсе batch может быть маленьким или нерепрезентативным, поэтому слой использует накопленные running mean и running variance. Практический баг - забыть переключить модель в eval mode: тогда BatchNorm и dropout будут вести себя как при обучении.
Типичные ошибки
- Забывать running mean и variance.
- Говорить, что gamma/beta задаются руками, а не обучаются.
- Запускать inference в training mode.
Как сказать на собеседовании
- Упомяните epsilon, gamma/beta и running stats.
- Назовите eval mode как production detail.
LoRA и нулевая начальная добавка
Что такое LoRA? Почему она полезна для дообучения больших моделей? Как обычно инициализируют низкоранговые матрицы, чтобы не исказить базовую модель на старте?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Короткий ответ
LoRA замораживает базовую матрицу весов и обучает низкоранговую добавку. Чтобы начальный выход совпадал с базовой моделью, одну низкоранговую матрицу обычно инициализируют случайно, а вторую нулями: начальная добавка равна нулю, но градиенты могут пойти в LoRA-ветку.
Подробный разбор
LoRA представляет обновление веса как произведение низкоранговых матриц, часто delta W = B A с коэффициентом масштаба. Большая исходная матрица остается замороженной, а обучаются только маленькие матрицы A и B. Это снижает расход памяти, состояние оптимизатора и стоимость вычислений на GPU.
Инициализация важна. Если обе матрицы случайные, адаптированный слой уже на первой итерации меняет выход базовой модели. Поэтому обычно одну матрицу инициализируют случайно, а другую нулями. Их произведение изначально равно нулю, так что модель стартует ровно как базовая, но низкоранговая ветка остается обучаемой.
LoRA особенно полезна, когда полное дообучение слишком дорогое или нужно хранить несколько адаптеров под разные задачи. Полное SFT может быть лучше, если есть много качественных данных, достаточно вычислений и не нужно сохранять общую базовую модель неизменной.
Типичные ошибки
- Инициализировать обе LoRA-матрицы случайно и не обсудить дрейф начального выхода.
- Говорить, что LoRA всегда лучше полного дообучения.
- Забывать, что базовые веса обычно заморожены.
Как сказать на собеседовании
- Четко скажите: начальная добавка равна нулю.
- Обсудите, когда full SFT все еще предпочтительнее.
CLIP и SigLIP: обучение моделей изображение-текст
Как работает CLIP-модель и как она обучается? В чем на верхнем уровне отличие SigLIP от классического CLIP?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Короткий ответ
CLIP обучает энкодер изображений и энкодер текста на парных данных: настоящие пары должны быть близко в пространстве эмбеддингов, несовпадающие - далеко. SigLIP сохраняет эту идею, но использует попарную сигмоидную функцию потерь вместо softmax contrastive loss по батчу.
Подробный разбор
CLIP состоит из двух энкодеров: для изображений и для текста. В батче есть пары изображение-подпись; модель проецирует обе модальности в общее пространство эмбеддингов. Контрастивная цель повышает сходство настоящей пары и снижает сходство для остальных пар в батче.
После такого обучения изображение и текст можно сравнивать по косинусному сходству или скалярному произведению. Поэтому CLIP полезен для zero-shot classification, поиска и сопоставления на эмбеддингах.
SigLIP концептуально близок к CLIP, но меняет функцию потерь. Вместо softmax-нормализации по всему батчу используется sigmoid loss для пар изображение-текст, как для более независимых бинарных меток. На уровне интервью ключевая разница - softmax contrastive loss против sigmoid pairwise loss.
Типичные ошибки
- Описывать CLIP как модель, которая всегда конкатенирует токены изображения и текста.
- Забывать отрицательные пары в контрастивном обучении.
- Говорить, что SigLIP не связан с CLIP, вместо того чтобы объяснить отличие функции потерь и обучения.
Как сказать на собеседовании
- Начните с двух энкодеров и общего пространства эмбеддингов.
- Для SigLIP четко скажите: попарная sigmoid loss.
Self-distillation и DINO
Что такое self-distillation и зачем модель учить на собственных предсказаниях? Как устроен teacher-student подход в DINO?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Короткий ответ
Self-distillation использует teacher-версию той же модели, прошлый checkpoint или EMA-копию как источник мягких таргетов. В DINO student и teacher видят разные аугментации одного изображения: teacher обновляется через EMA от student, а student учится совпадать с распределением teacher.
Подробный разбор
В distillation student учится не только на жестких метках, а на более мягких таргетах от teacher. В self-distillation teacher может быть той же архитектурой, предыдущим checkpoint, усредненной копией или EMA-версией student. Мягкие таргеты помогают регуляризации и могут сохранить полезную структуру, которую жесткие метки теряют.
DINO - self-supervised vision setup. Берутся разные аугментированные виды одного изображения; student и teacher получают разные views, а student учится совпадать с распределением выхода teacher. Teacher не обучается прямым gradient descent: его веса обновляются как exponential moving average от весов student.
Это заставляет представления быть устойчивыми к аугментациям без явных меток. Важные пункты для интервью: аугментированные views, teacher-student targets, stop-gradient на teacher и EMA-обновление teacher.
Типичные ошибки
- Говорить, что teacher и student обновляются одним и тем же gradient.
- Забывать augmentations в DINO.
- Объяснять только classic supervised distillation и пропустить self-supervised usage.
Как сказать на собеседовании
- Назовите stop-gradient и EMA teacher.
- Объясните, почему soft targets regularize noisy training.
Поиск безопасных и небезопасных видеофрагментов на большом масштабе
Представьте два видеосервиса с миллиардами роликов: в одном нужно быстро находить безопасные фрагменты внутри в основном небезопасного контента, в другом - небезопасные фрагменты внутри в основном безопасного контента. Разметки почти нет, ресурсов и времени мало. Как бы вы строили процесс?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Короткий ответ
Нужен каскад поиска кандидатов: редкое семплирование кадров, дешевые эвристики и легкие модели для полноты, сигналы из метаданных и текста, затем более сильная VLM или модель по кадрам и ручная проверка для кандидатов. Отдельно нужны валидация с учетом дисбаланса классов, временная агрегация и разные пороги под риск.
Подробный разбор
Сначала нужно разделить продуктовый риск. "Безопасное внутри в основном небезопасного" и "небезопасное внутри в основном безопасного" - обе задачи про поиск редких событий, но цена ложного пропуска и ложного срабатывания разная. Во втором случае риск часто выше: пользователь не ожидает небезопасный контент на площадке с безопасным контентом.
На масштабе миллиардов видео нельзя гонять тяжелую VLM по каждому кадру. Первый этап должен быть дешевым: декодирование с низкой частотой кадров, низкое разрешение, детектор смены сцен, детекторы людей и объектов, простые визуальные классификаторы, OCR, текстовые метаданные и сигналы из названия или категории. Цель первого этапа - отбор кандидатов, а не финальное решение.
Второй этап запускает более сильную модель по кадрам или клипам либо VLM на окнах-кандидатах, агрегирует оценки кадров во временные сегменты и отправляет неуверенные или рискованные случаи на ручную разметку. Active learning должен добирать пограничные примеры, редкие категории и случаи расхождения между метаданными и моделью.
Для запуска нужен сбалансированный валидационный набор со срезами, где доля класса похожа на реальную, временное сглаживание, минимальная длина сегмента, пороги под разные сценарии продукта, мониторинг дрейфа и обратная связь из модерации и апелляций. При высоком риске лучше стартовать консервативно и отдельно измерять precision/recall по источнику, региону и типу контента.
Типичные ошибки
- Предложить размечать каждый кадр тяжелой VLM.
- Игнорировать дисбаланс классов и реалистичную долю класса на валидации.
- Использовать один глобальный порог без учета продуктового риска.
- Забыть временную агрегацию и метрики на уровне сегментов.
Как сказать на собеседовании
- Начните с риска и дисбаланса классов.
- Опишите двух- или трехэтапный каскад, затем разметку и метрики.