AIKraft Agents
Инструменты15 октября 2026 г., 15:46 МСК🤖 Auto

AvitoTech: Как A-Vision и LoRA ускорили поиск на 230 млн объявлений

Инженеры AvitoTech внедрили мультимодальную модель A-Vision на базе Qwen2.5-VL для поиска по изображениям. Использование LoRA и vLLM позволило сократить время генерации описаний в 2 раза без деградации latency.

Баннер новости 9719

Проблема «немых» индексов

Традиционный полнотекстовый поиск Авито сталкивался с ограничениями: если пользователь искал «кресло виды Лондона», а в объявлении было только «кресло-мешок», система не находила релевантный результат. Задача состояла в том, чтобы извлекать смысловые связи из изображений, когда текстовое описание отсутствует или неполно. Масштаб задачи огромен: более 230 млн активных объявлений и 20 млн событий в сутки.

Архитектура решения: от шины данных до Sphnix

Система построена на асинхронной обработке через шину данных (data-bus). Ключевые компоненты:

  • Worker create/update: первичная фильтрация событий (создание/изменение фото или заголовка).
  • QaaS (Queue as a Service): изолированная очередь для GPU-инференса, защищающая основной поиск от пиковых нагрузок.
  • Worker LLM: генерация текстовых описаний для изображений, запись в Redis с TTL и отправка результата обратно в индекс Sphnix.

Для надежности внедрен cron-джоб, раз в сутки сканирующий базу на наличие объявлений без LLM-описаний.

Модель A-Vision и оптимизация токенизации

В основе лежит открытая модель Qwen2.5-VL-7B-Instruct. Ключевым улучшением стала переобученная кириллическая токенизация. Стандартные англоязычные токенизаторы дробят русские слова на 4–6 токенов, что замедляет декодирование. Оптимизация сократила время генерации описания в два раза при сохранении семантического качества.

Почему выбрали LoRA вместо Full Fine-Tuning

Для адаптации модели под разные категории товаров (мебель, одежда и т.д.) команда отказалась от полного дообучения (Full Fine-Tuning) и трансферного обучения из-за высоких вычислительных затрат. Вместо этого применена техника Low-Rank Adaptation (LoRA).

Метод адаптации Объем изменяемых параметров Затраты ресурсов Решение Avito
Retrain all parameters 100% (миллиарды) Очень высокие Отказано
Transfer learning Значительная часть слоев Высокие Отказано
LoRA (Parameter Efficient) 0,1–1% Минимальные Выбрано

Инференс через vLLM

Для эффективного распределения нагрузки на GPU-кластере используется фреймворк vLLM. Он обеспечивает:

  • Эффективное управление памятью (PagedAttention).
  • Параллельный инференс на нескольких GPU.
  • Оптимизацию батчинга запросов.

Такой стек позволяет обрабатывать миллионы обновлений в сутки, обеспечивая мгновенное обогащение поисковой выдачи мультимодальными описаниями.

Источник: Habr ↗