- BrainTools - https://www.braintools.ru -

Как устроен нейропрофиль пользователя в рекомендациях VK

Как устроен нейропрофиль пользователя в рекомендациях VK - 1

Привет! Меня зовут Михаил Трапезников, я руководитель группы рекомендательных технологий в AI VK.

Одна из главных задач рекомендательных систем внутри крупных экосистем — найти взаимосвязь в разных паттернах потребления контента и применить в алгоритмах. Пользователь может смотреть длинные видео в VK Видео, короткие клипы в VK Клипах и листать ленту ВКонтакте, но каждый из этих сигналов описывает его интересы лишь частично. Для решения этой задачи мы разработали нейропрофиль пользователя [1], который формирует единое представление его интересов на основе всех типов взаимодействий с контентом внутри разных продуктов.

В этой статье я расскажу:

  1. Как мы создали нейропрофиль — единую трансформерную модель, которая объединяет сигналы пользователя из разных сервисов VK и формирует целостное представление о его интересах

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

  3. Как кросс-доменный подход помогает улучшать рекомендации в VK Видео, VK Клипах и других продуктах экосистемы

Трансформер как основа

В основе нейропрофиля лежит трансформерная нейросеть, которая анализирует до 1 024 последних действий пользователя как единую последовательность событий. В отличие от классических подходов, она учитывает не отдельные лайки или просмотры, а взаимосвязи между действиями в разных сервисах и формирует целостное представление об интересах человека.

Вместо прогнозирования каждого отдельного действия модель интегрируется напрямую в рекомендательные системы продуктов VK. Это упрощает внедрение технологии и снижает затраты на поддержку локальных ML-пайплайнов.

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

Мы же сознательно выбрали путь архитектурной лаконичности. В основе нейропрофиля лежит классический трансформер, но его сила — в глубокой интеграции с Discovery-платформой [2]. Благодаря этому команда VK может кратно быстрее разворачивать технологию сразу на десятки разных продуктов экосистемы без перестройки их внутренних пайплайнов. 

Архитектура нейропрофиля: двухбашенная модель

Как устроен нейропрофиль пользователя в рекомендациях VK - 2

В основе решения лежит двухбашенная архитектура, которая создаёт идеальную, математически [3] выверенную связь между скрытыми интересами пользователя и свойствами предлагаемого контента: 

  • Башня пользователя (User Tower) обрабатывает последовательность действий с учётом их порядка и контекста. С помощью механизма self-attention трансформер формирует динамический эмбеддинг, который отражает как долгосрочные интересы пользователя, так и его текущий интент

  • Башня объекта (Item Tower) кодирует контент — видео, клипы и посты — на основе его характеристик, таких как тематика, жанр и другие статичные свойства

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

Обогащение контекста модели

Как устроен нейропрофиль пользователя в рекомендациях VK - 3

Чтобы трансформер внутри башни пользователя находил сложные паттерны поведения [4], ему нужны не только идентификаторы объектов, но и богатый контекст взаимодействий. Поэтому история действий пользователя преобразуется в последовательность токенов, каждый из которых объединяет несколько типов признаков.

Здесь важно подчеркнуть разделение ролей: мультимодальные модели в VK отвечают за описание самого контента (сводя видео, клипы и тексты в единое семантическое пространство), в то время как нейропрофиль агрегирует историю пользователя, связывая эти контентные векторы с его действиями. 

В результате структура токена раскладывается на три составляющие: 

  1. Контентное представление (Content Embeddings) — векторы из мультимодальной контентной модели [5]. Они описывают семантику объекта: визуальное содержание видео, аудиохарактеристики или смысл текста

  2. Векторы событий (Event Embeddings) кодируют тип взаимодействия пользователя с контентом: лайки, репосты, глубину просмотра, а также негативные сигналы — например, дизлайки или быстрые пропуски

  3. Признаки источника (Source Embeddings) содержат информацию об авторе контента и помогают учитывать предпочтения пользователя к конкретным блогерам или сообществам

Особую роль играет время, которое помогает понять не только интерес [6] пользователя, но и контекст его поведения [7]. Для кодирования временных сигналов используется подход Time2Vec, учитывающий:

  • Абсолютное время события. Берётся абсолютный таймстемп события и нормируется на заведомо огромную константу. Это гарантирует, что в рамках жизненного цикла модели значения признака никогда не достигнут верхней границы

  • Относительное время сессии. Вычисляется точная дельта между временем первого события в текущей истории пользователя (в рамках последних 1 024 событий) и временем текущего действия. Это позволяет модели понимать фазу сессии и динамику утомляемости пользователя

  • Интервальное время. Рассчитывается разница таймстемпов между двумя строго соседними (смежными) событиями в истории. Данный признак сигнализирует о скорости потребления: кликал ли пользователь контент хаотично подряд или провёл внутри объекта значительное время

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

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

Обучение модели

Исходные данные слишком шумные, а модель быстро начинает переоценивать популярные объекты. Поэтому обучение [8] разделено на два этапа. 

Стадия 1. Предобучение (pre-train)

Как устроен нейропрофиль пользователя в рекомендациях VK - 4

На первом этапе модель учится отделять потенциально интересный контент от заведомо нерелевантного. Для этого используются неявные сигналы вовлечённости, например глубина просмотра видео или время взаимодействия с контентом.

Обучение происходит на больших массивах данных с использованием техники Sampled Softmax, которая позволяет эффективно работать с многомиллионным каталогом контента. Чтобы избежать перекоса в сторону популярных объектов, применяется дополнительная коррекция, учитывающая частоту их появления на платформе.

Стадия 2. Дообучение (fine-tune)

Как устроен нейропрофиль пользователя в рекомендациях VK - 5

После этого модель переходит к более точной настройке. На данном этапе она учится оценивать контент в контексте конкретной рекомендательной сессии, используя явные сигналы интереса: лайки, сохранения и полные досмотры.

Ключевым изменением на этой стадии стало внедрение подхода causal finetune (обучение на каузальных сессиях). Чтобы модель научилась предсказывать релевантность максимально близко к условиям реального рантайма, логика [9] работы с историей была фундаментально перестроена:

  • Разделение сырой истории на causal-сессии. Непрерывный смешанный поток действий пользователя разбивается на смысловые блоки по типам контента. Например, если в истории [клип → видео → видео → пост → клип → видео → видео → видео] человек начал подряд смотреть длинные ролики, этот финальный паттерн выделяется в целевую сессию видео

  • Изоляция префикс-истории. Для обучения алгоритма берётся только та часть хронологии, которая произошла строго до начала этой целевой сессии. Модель лишается возможности заглянуть в будущее, что делает прогнозирование честным и предотвращает data leak

  • Оценка интента (User Tower). Префикс-история обрабатывается трансформером с механизмом full attention. На выходе алгоритм забирает финальный токен целевого домена (например, u_video для сессии видео или u_clips для сессии клипов). Этот токен математически описывает сформированный интент пользователя ровно за секунду до того, как он начал смотреть сессию

  • Вычисление релевантности (Item Tower). Параллельно фактические объекты из целевой сессии обрабатываются башней объектов, генерируя вектор самой сессии (s_video или s_clips). Модель дообучается максимизировать математическую близость (релевантность) между предсказанным интентом u и реальным вектором потреблённого контента s.

Как устроен нейропрофиль пользователя в рекомендациях VK - 6

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

Технология двухстадийного обучения успешно перенесена в продакшен VK Видео и VK Клипов через специализированный инструмент Profile Stream [10] Discovery-платформы VK, что позволило повысить релевантность рекомендаций, так как эти изменения сильно повлияли именно на модель ранжирования. 

Архитектура нейропрофиля. Модель «Хеймдаль»

Пользователи по-разному потребляют контент в разных сервисах: за несколько минут можно посмотреть десятки клипов, но лишь одно длинное видео или несколько постов. Поэтому объединить сигналы из разных доменов в одной модели — нетривиальная задача.

Для её решения мы разработали кросс-доменную трансформерную модель «Хеймдаль». Её задача — объединять знания о предпочтениях пользователя между разными форматами контента и сервисами экосистемы. 

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

В отличие от предыдущих поколений моделей, «Хеймдаль» обучается предсказывать не отдельные действия пользователя, а следующий объект контента, который может его заинтересовать. Такой подход позволяет лучше понимать взаимосвязи между различными форматами и сценариями потребления контента.

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

Так, внедрение нейропрофиля на главной странице VK Видео обеспечило +1,1% TVT (Total View Time) поверх уже работающей однодоменной трансформерной модели. Иными словами, алгоритм ранжирования, который раньше учитывал только чистую историю просмотров видео, получил значительный буст к удержанию аудитории исключительно за счёт добавления контекста и паттернов поведения пользователя из соседних продуктов — VK Клипов и ленты ВКонтакте. 

Итоги

Нейропрофиль [1]решает главную проблему больших экосистем — изоляцию данных между разными сервисами. Вместо того чтобы копить историю пользователя по кусочкам в каждом отдельном приложении, трансформер объединяет все его действия в один сквозной поток.

Что это даёт на практике:

  • Связь между форматами. Если человек активно смотрит короткие клипы про авторемонт, алгоритм вовремя подхватит этот интент и предложит ему релевантный часовой обзор в VK Видео.

  • Масштабирование для новых продуктов. Сервису не нужно собирать историю пользователя с нуля — есть готовое представление интересов пользователя.

  • Реальный буст на проде. Кейс с +1,1% TVT на главной VK Видео наглядно доказывает: данные из соседних продуктов отлично дообучают алгоритмы даже там, где уже работают сильные локальные нейросети.

Автор: AIgent_Smith

Источник [11]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/34219

URLs in this post:

[1] нейропрофиль пользователя: https://team.vk.company/discovery-tech/

[2] Discovery-платформой: https://habr.com/ru/companies/vk/articles/990514/

[3] математически: http://www.braintools.ru/article/7620

[4] поведения: http://www.braintools.ru/article/9372

[5] мультимодальной контентной модели: https://team.vk.company/discovery-tech/cross-format-content-model/

[6] интерес: http://www.braintools.ru/article/4220

[7] поведения: http://www.braintools.ru/article/5593

[8] обучение: http://www.braintools.ru/article/5125

[9] логика: http://www.braintools.ru/article/7640

[10] Profile Stream: https://t.me/aihubvk/409

[11] Источник: https://habr.com/ru/companies/vk/articles/1068048/?utm_campaign=1068048&utm_source=habrahabr&utm_medium=rss

www.BrainTools.ru

Rambler's Top100