нейросети · рекомендательные системы · машинное обучение · VK · ранжирование · CDN28 августа в 03:02 · 5 мин

VK отказался от градиентного бустинга в пользу нейросетей: как устроен новый нейроранжер

Группа рекомендательных технологий VK полностью перешла от классических алгоритмов градиентного бустинга к сложной архитектуре нейросетей DCDN. Это решение позволило автоматизировать конструирование признаков, особенно операций деления, и моделировать распределение времени просмотра как вероятностную смесь, а не среднее значение. В результате система показала рост вовлечённости без потери других метрик.

Прозрачный кристалл данных в форме дробь в подводном архиве.

# Нейроранжирование: как VK заменил бустинг на нейросети

В рекомендательных системах индустрии давно сложился стандарт, который, как правило, работает надежно: данные проходят предварительную фильтрацию, а финальный выбор контента осуществляет классический алгоритм градиентного бустинга на деревьях решений. Однако в VK обнаружили, что этот подход уперся в потолок развития. Традиционные методы выдавали одно плоское число — скор, которое нельзя было гибко адаптировать, и требовали от инженеров колоссальных усилий по ручному конструированию признаков. Решение пришло с переходом на многозадачное нейроранжирование с использованием специализированной архитектуры.

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

Автоматизация признаков и операция деления

Одним из главных ограничений старых систем был ручной инжиниринг признаков. Инженерам приходилось часами прописывать формулы, чтобы объединить различные данные. Нейросеть же способна самостоятельно находить нелинейные зависимости в сырых данных, избавляя команду от рутины.

Ключевым примером стало внедрение операции деления непосредственно в архитектуру модели. Ранее для моделирования метрик типа CTR (кликабельность) или доли досмотров требовались глубокие слои, так как нейросети плохо работают с делением по умолчанию. Команда VK создала модификацию архитектуры *Deep & Cross Network*, назвав её DCDN (Deep Cross-Division Network). В этой версии операция деления встроена на базовом уровне, что позволяет сети автоматически выводить относительные величины, такие как CTR, напрямую из счетчиков кликов и просмотров без ручного участия.

Входные данные также проходят через кусочно-линейное кодирование. Поскольку непрерывные признаки часто имеют тяжелые хвосты распределения, их значения разбиваются на бакеты (корзины) на основе частоты встречаемости. Это позволяет сети эффективно оперировать числами, сохраняя их гранулярность и не теряя информации.

Трёхголовая архитектура и независимое обучение

Финальный этап ранжирования реализован через многозадачную модель с тремя независимыми выходными головами. Каждая голова решает свою задачу:

1. Предсказание вероятности явного лайка. 2. Оценка риска получения дизлайка или скрытия контента. 3. Прогнозирование ожидаемого времени вовлечённого просмотра.

Здесь возникает важная концептуальная дилемма: не заменили ли мы ручной инжиниринг признаков конструированием целевых голов? Ответ отрицательный. В отличие от старых систем, где под каждую гипотезу создавали тысячи мелких признаков, здесь количество голов фиксировано и ограничено крупными макросигналами. Вся работа по выявлению внутренних зависимостей выполняет единое ядро DCDN. Чтобы разные задачи не мешали друг другу при обучении (перетягивали вес), используются независимые функции потерь, а градиенты для финальной сортировки останавливаются на выходе голов.

На верхнем уровне работает слой *Learning to Rank* (LTR), который выступает в роли судьи. Он анализирует независимые предсказания голов (вероятность лайка, риска дизлайка, время) и находит оптимальный компромисс между ними, формируя итоговую оценку для сортировки ленты.

От среднего значения к распределению времени

Особый подход разработан для прогнозирования времени просмотра контента. Исторически использовалась регрессия с функцией потерь MSE (Mean Squared Error), которая пыталась угадать точное количество секунд. Этот метод был неэффективен, так как он оптимизирует математическое ожидание, превращаясь в плоское усреднение.

Реальное поведение пользователей бимодально: либо мгновенный скип (1–3 секунды), либо глубокое погружение с длительным просмотром. Среднее значение, например 15 секунд, не описывает ни тот, ни другой случай. Поэтому модель была переписана для предсказания всего вероятностного распределения.

Время просмотра формализовано как смесь распределений: * Экспоненциальное распределение: описывает физику мгновенных отказов и скипов. * Смесь гауссиан: моделирует стадии долгого и качественного удержания внимания.

Обучение происходит через максимизацию правдоподобия (MLE). Для решения проблемы схлопывания дисперсий в узкие пики (вырождения) были внедрены два механизма: равномерная пространственная инициализация параметров и регуляризационный штраф за расхождение с эмпирическим распределением данных. Этот иерархический подход (HEGM) позволил стабилизировать обучение.

Результаты внедрения

Переход на нейроранжирование принес ощутимые продуктовые эффекты. В VK Клипах общее время просмотра (TVT) выросло на 5,5%. При этом другие ключевые метрики не пострадали, а наоборот — показали рост: лайки увеличились на 5%, а шеры (социальные действия) — на 15%.

В продакшене система работает в связке с нейропрофилем. После первичного отбора кандидатов модель DCDN учитывает динамический контекст: время суток, погоду, текущие привычки пользователя. Обратная связь от действий пользователя в реальном времени используется для непрерывного дообучения моделей, замыкая цикл развития рекомендательной платформы.

Выводы для индустрии

Этот кейс иллюстрирует несколько важных принципов разработки современных ранкеров:

* Встроенные операции: Если значительная часть признаков строится на делении, архитектура должна поддерживать эту операцию на системном уровне, чтобы не тратить ресурсы на эмуляцию. * Правильное описание цели: Если распределение целевой переменной бимодальное, стандартная MSE приведет к ухудшению прогноза. Необходимо моделировать вероятностное распределение целиком. * Защита от вырождения: При использовании лоссов на базе правдоподобия необходимо заранее предусмотрить меры против схлопывания дисперсий гауссиан. * Разделение задач: Независимые лоссы для каждой специфической задачи и общий лосс для финального ранжирования позволяют гибко управлять компромиссами без дообучения всей системы заново.

Таким образом, отказ от бустинга в пользу сложной нейросетевой архитектуры позволил VK перейти от статичного скоринга к динамичной системе, способной понимать нюансы человеческих решений в реальном времени.

Первоисточники

Habr AI
← Вернуться в эфир