
Векторный поиск в модерации: как собрать более 200 моделей в один ансамбль
Команда RWB рассказывает, как построила масштабируемый детектор контента на базе векторного поиска, объединив более 200 моделей в единую систему для маркетплейса.
В статье «Векторный поиск в модерации контента. Как поместить 200+ моделей в один ансамбль?», опубликованной на Habr AI, Лев Нечаев, руководитель проекта «Автоматическая модерация методами ИИ» в RWB, делится практическим опытом создания масштабируемой системы детекции нежелательного контента.
Предпосылки. На маркетплейсе RWB ежедневно обрабатывается более 10 млн запросов, что делает традиционные rule‑based решения недостаточно гибкими. Команда решила использовать векторный поиск, позволяющий сравнивать новые сообщения с репрезентациями уже известных нарушений.
Архитектура. В основе системы лежит ансамбль из более чем 200 предобученных моделей (BERT, RoBERTa, multilingual‑XLM‑R, а также специализированные модели для изображений). Каждая модель генерирует эмбеддинг, который попадает в общий векторный индекс, построенный на базе FAISS. При поступлении нового контента система рассчитывает его эмбеддинг и ищет ближайшие векторы‑нарушения. Если сходство превышает порог, материал автоматически помечается для дальнейшей проверки.
Сбор данных. За полгода команда собрала 3,2 млн аннотированных примеров (текст, изображения, видео) из реального потока маркетплейса. Данные были разбиты на «чистые», «потенциально спорные» и «нарушающие» категории, что позволило обучить модели с учётом контекстных особенностей.
Обучение и оценка. Модели обучались параллельно в кластере GPU, а итоговый ансамбль проходил валидацию на hold‑out‑сетке из 500 тыс. примеров. Показатели: точность 95,2 %, полнота 93,7 %, средняя латентность запроса – 120 мс, что удовлетворяет SLA маркетплейса.
Эксплуатация. Система интегрирована в потоковую обработку через Apache Kafka и поддерживает онлайн‑обновление индекса без простоя. При появлении новых типов нарушений команда просто добавляет новую модель в ансамбль, переиндексирует векторы и система сразу начинает реагировать.
Итоги. За первый месяц работы количество ручных проверок сократилось на 68 %, а количество пропущенных нарушений – на 42 % по сравнению с предыдущей rule‑based системой.
Для разработчиков AI‑модерации это подтверждает, что векторный поиск позволяет объединить разнородные модели без потери скорости. Подобный подход открывает возможность быстро масштабировать детекторы, но требует продуманного управления индексом и контроля порогов ложных срабатываний.


