Назад к подготовке

Как дообучать encoder под доменный retrieval

Есть доменный поиск, где generic embeddings плохо работают. Как дообучить encoder и проверить, что retrieval стал лучше?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Нужны доменные query-document positives, hard negatives, contrastive/ranking loss и retrieval eval вроде Recall@K/NDCG на отложенном наборе.

Полный разбор

Сначала собираем данные: реальные queries, clicked/accepted documents, экспертная разметка релевантности или пары из бизнес-процесса. Для обучения bi-encoder хорошо работают positive pairs и hard negatives: документы похожие лексически, но нерелевантные.

Loss можно выбрать multiple negatives ranking loss, triplet loss или contrastive loss. Hard negatives лучше регулярно обновлять, потому что модель быстро учится на легких отрицательных примерах.

Проверка должна быть retrieval-specific: Recall@K, MRR, NDCG, coverage по типам запросов, latency и online A/B, если есть трафик. Важно сравнивать с BM25/hybrid baseline, а не только с предыдущей embedding моделью.

Типичные ошибки

  • Дообучать на случайных negatives.
  • Мерить только classification accuracy.
  • Не сравнивать с BM25/hybrid baseline.

Как отвечать на собеседовании

  • Обязательно скажи hard negatives.
  • Метрики называй retrieval-specific.