Uber Eats: рекомендации учитывают действия текущей сессии
Суточные агрегаты не отражали последние действия пользователя. Историю действий добавили в модель, а признаки обновляют за секунды.
Статья · на английском
Next-Gen Restaurant Recommendation with Generative Modeling and Real-Time FeaturesYicheng Chen, Peng Chen, Nikat Patel, Sanjeev Suresh, Bo Ling · Опубликовано: 16 апреля 2026 г.
От статистики к последовательности
В DeepCVR сохранили ветку DCNv2 для обычных признаков и добавили трансформер для истории кликов и заказов. Оцениваемый ресторан включают в последовательность: модель связывает прошлые действия с конкретным кандидатом.

Исходная и гибридная архитектуры Uber Eats.
Источник: UberОдинаковые признаки при обучении и работе
UserContext хранит события. Java-функции вычисляют признаки в сервисе; Spark восстанавливает прошлое состояние и вызывает те же функции для обучения. Результаты дополнительно сверяют по выборочным логам. Отставание данных сократилось с суток и более до нескольких секунд.

Получение UserContext из потока и исторических данных.
Источник: UberОценивать список за один проход
Следующий вариант делает трансформер основной частью модели и оценивает сразу несколько ресторанов. Обычные признаки включаются в представление кандидатов. Статья описывает движение к генеративным рекомендациям, не заявляя генерацию всей страницы.
Оригинал: From a Discriminative Model to a Generative ModelИнженерная часть и оставшиеся задачи
Конвертацию ONNX → TensorRT вынесли из запуска сервиса: исчезла конвертация длительностью 10–60 секунд. Предобработку отделили от GPU-вычислений. Длинные истории и совместное ранжирование всей страницы остаются планами; доставка и география ограничивают допустимые рекомендации.
Оригинал: ML System Optimization