Яндекс Картинки перестали выбирать между текстом и изображением: плюс 5% релевантных в топе
источник: Хабр·
машинная выжимка · сверена с источником

Совместный анализ картинки и текста документа добавил 5% релевантных изображений в топ выдачи Яндекс Картинок (блог Яндекса на Хабре, 10.08). Тяжёлую мультимодальную VLM команда сначала упростила до vBERT примерно на миллиард параметров, а потом дистиллировала в набор лёгких моделей - по одной на каждую стадию ранжирования.
Раньше сигналы жили порознь. Релевантность собирали из двух групп факторов: картинка против запроса и текст документа против запроса. В «серой зоне», где сигналы расходятся, было неочевидно, как сложить их в финальный скор. Теперь модель смотрит на изображение и читает текст документа одновременно.
Пайплайн ранжирования картинок идёт в четыре стадии. Обратный индекс сжимает миллиарды документов до сотен тысяч, кандидатогенерация оставляет несколько тысяч, черновое ранжирование - около тысячи, реранкинг доводит выдачу до сотни изображений.
Тяжёлое учит лёгкое. Мультимодальную VLM с визуальным энкодером и LLaVA-адаптером, который превращает картинку в токены, упростили до vBERT с двунаправленным вниманием. Потом vBERT раздали по стадиям. Embedder работает на кандидатогенерации, его векторы строят HNSW-индекс; Bi-encoder держит черновое ранжирование, Light Cross-Encoder разбирает финальную сотню документов.
В проде схема трёхслойная. Эмбеддинги документов считаются офлайн заранее, эмбеддинг запроса считается один раз и кешируется. В рантайме остаётся агрегация готовых векторов с небольшим набором дополнительных признаков, поэтому связка выдерживает десятки тысяч запросов в секунду.
Bi-encoder и Cross-Encoder вместе дали 4% релевантных изображений в топе, Embedder на кандидатогенерации добрал до 5%. Модели учили в pointwise-режиме: pairwise, где модель сравнивает два документа между собой, значимого прироста не дал.
Открытые эмбеддеры вроде Llama-Embed-Nemotron и Qwen-Embedding дают опорную точку, но дообучать и упрощать их под свою систему приходится почти всегда - вывод команды по итогам работы.
первоисточник