Дискриминативные и генеративные модели
Есть дискриминативные и генеративные модели. Чем они отличаются с математической точки зрения? Приведите примеры современных генеративных моделей.
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Дискриминативная модель учит предсказание 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 для bounding boxes
В object detection почему для box regression часто используют IoU-style loss, а не обычный MSE по координатам углов bounding box?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
MSE по координатам плохо совпадает с качеством детекции и зависит от масштаба объекта. IoU напрямую измеряет overlap predicted и ground-truth box, поэтому одна и та же ошибка в пикселях оценивается относительно размера объекта и качества локализации.
Подробный разбор
Обычный MSE считает координаты углов независимыми regression targets. Сдвиг на 10 пикселей дает похожий coordinate loss для маленького и большого объекта, хотя влияние на detection quality будет разным. MSE также напрямую не измеряет overlap, containment и aspect-ratio quality.
IoU считает intersection over union, поэтому ближе к тому, как обычно оценивают object detectors. Он нормирован на размер box и показывает, насколько хорошо predicted box совпал с ground truth. Современные варианты вроде GIoU, DIoU и CIoU добавляют terms для non-overlap, расстояния между центрами и aspect ratio.
MSE не запрещен полностью: в некоторых parameterizations, например offsets относительно anchors, он может работать. Но raw corner MSE - слабый proxy для localization quality.
Типичные ошибки
- Говорить, что MSE вообще никогда не работает.
- Забывать пример small object vs large object.
- Не упоминать zero-gradient/non-overlap problem, из-за которой появились GIoU-like variants.
Как сказать на собеседовании
- Используйте пример одного pixel shift для маленького и большого box.
- Если интервьюер спрашивает edge cases, упомяните IoU variants.
BatchNorm на обучении и инференсе
Зачем используют BatchNorm? Как он работает во время training и чем поведение отличается на inference?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
BatchNorm нормализует activations по batch statistics, затем применяет обучаемые gamma/beta. На training он считает mean/variance по текущему mini-batch и обновляет running statistics; на inference использует замороженные running mean/variance.
Подробный разбор
BatchNorm помогает оптимизации: стабилизирует распределения activations и часто позволяет использовать больший learning rate. Для каждого channel слой вычитает mean, делит на standard deviation плюс epsilon, затем применяет обучаемые scale и shift - gamma и beta.
На training mean и variance считаются по текущему mini-batch, а running estimates обновляются с momentum. Gamma и beta обучаются через backpropagation как обычные differentiable parameters.
На inference batch может быть маленьким или нерепрезентативным, поэтому слой использует накопленные running mean и running variance. Практический bug - забыть переключить модель в eval mode: тогда BatchNorm и dropout будут вести себя как на training.
Типичные ошибки
- Забывать running mean и variance.
- Говорить, что gamma/beta задаются руками, а не обучаются.
- Запускать inference в training mode.
Как сказать на собеседовании
- Упомяните epsilon, gamma/beta и running stats.
- Назовите eval mode как production detail.
LoRA и нулевая начальная добавка
Что такое LoRA? Почему она полезна для fine-tuning больших моделей? Как обычно инициализируют low-rank матрицы, чтобы не исказить базовую модель на старте?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
LoRA замораживает базовый weight и обучает низкоранговую additive update. Чтобы начальный output совпадал с base model, одну low-rank матрицу обычно инициализируют случайно, а вторую нулями: initial delta равна нулю, но градиенты могут пойти в LoRA path.
Подробный разбор
LoRA представляет обновление веса как low-rank product, часто delta W = B A со scaling factor. Большая исходная матрица остается frozen, а обучаются только маленькие matrices A и B. Это снижает память, optimizer state и GPU cost.
Инициализация важна. Если обе матрицы случайные, adapted layer уже на первой итерации меняет output базовой модели. Поэтому обычно одну матрицу инициализируют random, а другую zeros. Их произведение изначально равно нулю, так что модель стартует ровно как base model, но low-rank path остается обучаемым.
LoRA особенно полезна, когда full fine-tuning слишком дорогой или нужно хранить несколько task-specific adapters. Full SFT может быть лучше, если есть много качественных данных, compute и не нужно сохранять shared base model неизменной.
Типичные ошибки
- Инициализировать обе LoRA matrices случайно и не обсудить initial output drift.
- Говорить, что LoRA всегда лучше full fine-tuning.
- Забывать, что base weights обычно frozen.
Как сказать на собеседовании
- Четко скажите: initial delta is zero.
- Обсудите, когда full SFT все еще предпочтительнее.
CLIP и SigLIP-style обучение image-text моделей
Как работает CLIP-модель и как она обучается? В чем high-level отличие SigLIP-style обучения от классического CLIP?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
CLIP обучает энкодер изображений и энкодер текста на парных image-text данных: настоящие пары должны быть близко в embedding space, несовпадающие - далеко. SigLIP сохраняет эту идею, но использует sigmoid pairwise loss вместо softmax contrastive loss по batch.
Подробный разбор
CLIP состоит из двух encoders: image encoder и text encoder. В batch есть пары image-caption; модель проецирует обе модальности в общее embedding space. Contrastive objective повышает similarity настоящей пары и снижает similarity для остальных пар в batch.
После такого обучения image и text можно сравнивать по cosine similarity или dot product. Поэтому CLIP полезен для zero-shot classification, retrieval и embedding-based matching.
SigLIP-style training концептуально близок к CLIP, но меняет loss. Вместо softmax contrastive normalization по всему batch используется sigmoid loss для image-text pairs, как для более независимых binary labels. На уровне интервью ключевая разница - softmax contrastive loss vs sigmoid pairwise loss.
Типичные ошибки
- Описывать CLIP как модель, которая всегда конкатенирует image и text tokens.
- Забывать negative pairs в contrastive training.
- Говорить, что SigLIP не связан с CLIP, вместо loss/training variant.
Как сказать на собеседовании
- Начните с two encoders и shared embedding space.
- Для SigLIP четко скажите “sigmoid pairwise loss”.
Self-distillation и DINO
Что такое self-distillation и зачем модель учить на собственных предсказаниях? Как устроен DINO-style teacher-student подход?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Self-distillation использует teacher-версию той же модели, прошлый checkpoint или EMA-копию как источник мягких target. В DINO student и teacher видят разные аугментации одного изображения: teacher обновляется через EMA от student, а student учится совпадать с распределением teacher.
Подробный разбор
В distillation student учится не только на hard labels, а на более мягких targets от teacher. В self-distillation teacher может быть той же архитектурой, previous checkpoint, averaged copy или EMA-версией student. Soft targets помогают regularization и могут сохранить полезную структуру, которую hard labels теряют.
DINO - self-supervised vision setup. Берутся разные augmented views одного изображения; student и teacher получают разные views, а student учится совпадать с output distribution teacher. Teacher не обучается прямым gradient descent: его веса обновляются как exponential moving average от student weights.
Это заставляет representation быть устойчивым к аугментациям без явных labels. Важные interview points: augmented views, teacher-student targets, stop-gradient на teacher и EMA teacher update.
Типичные ошибки
- Говорить, что teacher и student обновляются одним и тем же gradient.
- Забывать augmentations в DINO.
- Объяснять только classic supervised distillation и пропустить self-supervised usage.
Как сказать на собеседовании
- Назовите stop-gradient и EMA teacher.
- Объясните, почему soft targets regularize noisy training.
Поиск safe/unsafe видеофрагментов на большом масштабе
Представьте два видеосервиса с миллиардами роликов: в одном нужно быстро находить safe-фрагменты внутри в основном unsafe-контента, в другом - unsafe-фрагменты внутри в основном safe-контента. Разметки почти нет, ресурсов и времени мало. Как бы вы строили pipeline?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Нужен каскад поиска кандидатов: редкое семплирование кадров, дешёвые эвристики и лёгкие модели для recall, сигналы из metadata/text, затем более сильная VLM/frame model или human review для кандидатов. Отдельно нужны валидация с учётом class imbalance, временная агрегация и разные thresholds под риск.
Подробный разбор
Сначала нужно разделить product risk. “Safe inside mostly unsafe” и “unsafe inside mostly safe” - обе rare-event mining задачи, но цена false negative/false positive разная. Во втором случае риск часто выше: пользователь не ожидает unsafe content на safe-площадке.
На масштабе миллиардов видео нельзя гонять тяжелую VLM по каждому frame. Первый stage должен быть дешевым: decode с низким sample rate, low resolution, scene-change detection, person/object detectors, простые visual classifiers, OCR/text metadata, title/category signals. Цель первого stage - candidate generation, а не финальное решение.
Второй stage запускает более сильную frame/clip model или VLM на candidate windows, агрегирует frame scores во временные segments и отправляет uncertain/high-impact cases на human labeling. Active learning должен добирать borderline examples, rare categories и случаи disagreement между metadata и model.
Для launch нужен balanced validation set с realistic prevalence slices, temporal smoothing, minimum segment length, thresholds по product surface, drift monitoring и feedback loop из moderation/appeals. При высоком риске лучше стартовать консервативно и отдельно измерять precision/recall по source domain, region и content type.
Типичные ошибки
- Предложить размечать каждый frame тяжелой VLM.
- Игнорировать class imbalance и realistic validation prevalence.
- Использовать один global threshold без учета product risk.
- Забыть temporal aggregation и segment-level metrics.
Как сказать на собеседовании
- Начните с risk и class imbalance.
- Опишите two-stage или three-stage cascade, затем labels и metrics.