Meta* поделились деталями о новой модели GEM, которая теперь лежит в основе их рекомендательных систем
Это гибридная архитектура на основе трансформера (вдохновенная, естественно, LLM). Заявляется, что модель настолько хороша, что уже привела к заметному росту конверсий на рекламу: +5% в Instagram и +3% в Facebook за второй квартал.
Скачки очень существенные, поэтому давайте смотреть, что у модели внутри. Главных технических фишечки тут три:
1. Входные данные делятся на две группы: последовательные признаки (истории действий пользователя, клики, просмотры и тд) и непоследовательные (локация, возраст, свойства рекламы и пр). Чтобы не сваливать их в одну кучу и не замыливать сигналы, используется так называемый InterFormer с динамическим чередованием. Сначала последовательности событий обрабатываются кастомным трансформер-блоком, затем слой объединяет эти выходы со статичными признаками через кросс-фичевые interaction-блоки, после чего цикл продолжается на следующем уровне.
2. Кроме того, нам нужно учитывать связи признаков из двух групп. Для этого работает целый отдельный компонент Wukong. Он состоит из стековых факторизационных машин, которые ищут неочевидные связи между признаками (почему пользователь повел себя так или вот так).
3. Для длинных последовательностей (то есть долгих пользовательских историй) применяется собственная пирамидальная параллельная структура. Она нужна, чтобы не столкнуться с пресловутым экспоненциальным ростом затрат при увеличении длины последовательности. Все цепочка сначала разбивается на более мелкие -> они обрабатываются -> итоги образуют следующий уровень эмбеддингов -> они снова делятся на кусочки и обрабатываются -> и так далее, пока все не схлопнется окончательно.
В итоге мы получаем: (а) масштабируемость; (б) возможность эффективно учитывать все фичи и их связи; (в) адекватное поведение модели на длинных последовательностях. Ну и судя по скачкам конверсий, работает это неплохо. Еще пишут, что планируют добавить ризонинг.
Если интересуетесь рексисами, обязательно почитайте статью полностью
Вставить свои 5 копеек: