Multi-task learning на собеседовании Data Scientist

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

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

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

MTL — техника для shared representation. На собесе DS: «зачем shared layers», «negative transfer».

Идея MTL

Тренируем одну модель на N задач одновременно. Shared layers учат общее representation.

Преимущества:

  • Одна модель — меньше weights / inference cost.
  • Inductive bias — задачи помогают друг другу.
  • Меньше data needed для каждой task.
  • Regularization effect.

Hard parameter sharing

Backbone (shared layers) + task-specific heads.

Input → [shared layers] → ┬→ [head 1] → output 1
                          ├→ [head 2] → output 2
                          └→ [head N] → output N

Самый популярный подход. Работает хорошо когда tasks related.

Soft parameter sharing

Каждая task — своя модель, но weights связаны regularization (L2 distance между models).

Используется реже. Применяется когда tasks слабо related, но хотим knowledge transfer.

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

Negative transfer

Когда обучение одной task вредит другой. Происходит когда:

  • Tasks unrelated.
  • Один task имеет гораздо больше data → доминирует.
  • Loss balance не tuned.

Mitigation:

  • Task grouping (только related tasks вместе).
  • Auxiliary tasks (помощь, не main goal).
  • Adaptive weighting.

Loss balancing

L_total = α_1 · L_1 + α_2 · L_2 + ... + α_N · L_N

Подходы:

  • Equal weights. Часто плохо — loss values разные scales.
  • Manual tuning. Trial and error.
  • Uncertainty weighting (Kendall 2018). Learn weights based on task uncertainty.
  • GradNorm. Balance gradients norms across tasks.
  • PCGrad. Project conflicting gradients.

Применения

Computer Vision:

  • Mask R-CNN — classification + bbox + mask.
  • Multi-output detection / segmentation.

NLP:

  • BERT pre-training: MLM + NSP.
  • T5 — multiple tasks через text-to-text formulation.

Recsys / advertising:

  • CTR + CVR + revenue prediction.
  • Multiple objectives (engagement + monetization).

Self-driving:

  • Detection + segmentation + depth + ego-motion.

В продакшне — почти каждая non-trivial NN — multi-task.

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

FAQ

Когда лучше separate models?

Если tasks полностью неrelated, дataset разный, latency не критична — separate models могут быть лучше.

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

Нет. Статья основана на работах Caruana 1997 (MTL), Kendall 2018 (uncertainty weighting).


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