ByteDance / BytePlusИнфраструктураRecSys3 мин

Monolith: как быстро доставлять новые знания в рекомендации

Пользователи и каталог меняются, а редкие ID создают огромные таблицы векторов. Суточное обучение не успевает за частью изменений. Monolith сочетает динамические таблицы без коллизий, непрерывное обучение и частую передачу изменённых параметров в сервис.

Публикация · на английском

Monolith: Real Time Recommendation System With Collisionless Embedding Table

Zhuoran Liu и соавторы · Опубликовано: 16 сентября 2022 г.

Хеширование экономит память ценой смешения объектов

Если разные ID получают один вектор, их сигналы мешают друг другу. Monolith хранит отдельные представления через динамическую хеш-таблицу. Редкие значения фильтруют, давно неактивные удаляют, чтобы ограничить память.

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

Этот фрагмент в оригинале

История и новые события образуют один процесс

Начальная модель обучается на накопленных данных, затем продолжает получать поток. Признаки и действия соединяются по ключам запроса; запаздывающая обратная связь требует отдельной обработки.

Отрицательные примеры можно прореживать ради нагрузки, но такое изменение распределения нужно учитывать при интерпретации вероятностей. Скорость поступления данных важна вместе с корректностью их соединения.

Этот фрагмент в оригинале

Передают изменённые векторы, а не всю модель

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

Так уменьшаются сетевые передачи и всплески памяти. Более частая синхронизация в описанных проверках улучшала качество на свежем потоке.

Этот фрагмент в оригинале

Свежесть и восстановление имеют цену

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

Тесты на Criteo, MovieLens и внутреннем трафике решают разные вопросы; их результаты нельзя объединять в один процент роста бизнеса. Статья подтверждает применение в BytePlus Recommend, но не даёт основания называть её точной архитектурой текущего TikTok.

Этот фрагмент в оригинале