Симулятор поведения пользователей рекомендательного сервиса. Реализован как среда OpenAI gym.
Запуск симулятора поделен на условные "дни". В конце каждого дня симулятор останавливается, чтобы была возможность обработать данные, собранные за предыдущий день и обновить сервис рекомендаций. Самый общий подход к работе с симулятором такой:
- Разворачиваем сервис-рекомендер в режиме холодного старта
- Запускаем симулятор на один день
- Пока симулятор остановлен, анализируем собранные данные, строим модели
- Обновляем сервис-рекомендер
- Повторяем пункты 2-4 при необходимости
- Создаем чистый env с python 3.8. На примере conda:
conda create -n recsys-2024 python==3.8
- Активириуем окружение:
conda activate recsys-2024
- Устанавливаем зависимости
pip install -r requirements.txt
- Симулятор можно запустить в "ручном" режиме, чтобы самостоятельно подбирать рекомендации для пользователя.
Это режим для ознакомления с симулятором.
python -m sim.run --episodes 1 --config config/env.yml single --recommender console --seed 31337
- Запуск симулятора в режиме "трафика" в однопоточном режиме.
Параметр
--episodes
определяет число сгенерированных пользовательских сессий. Однопоточный режим позволяет останавливать симулятор каждый виртуальный день, например чтобы обновлять модельpython -m sim.run --episodes 1000 --config config/env.yml single --recommender remote --seed 31337
- Запуск симулятора в режиме "трафика" в многопоточном режиме.
Многопоточный режим ускоряет сбор данных.
python -m sim.run --episodes 1000 --config config/env.yml multi --processes 4
- Долгосрочное счастье пользователей: сделать так чтобы, пользователь мог уйти навсегда
- Хайповые треки для каждого из дней