Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Sim

Симулятор поведения пользователей рекомендательного сервиса. Реализован как среда OpenAI gym.

Запуск симулятора поделен на условные "дни". В конце каждого дня симулятор останавливается, чтобы была возможность обработать данные, собранные за предыдущий день и обновить сервис рекомендаций. Самый общий подход к работе с симулятором такой:

  1. Разворачиваем сервис-рекомендер в режиме холодного старта
  2. Запускаем симулятор на один день
  3. Пока симулятор остановлен, анализируем собранные данные, строим модели
  4. Обновляем сервис-рекомендер
  5. Повторяем пункты 2-4 при необходимости

Инструкция

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

Идеи на будущее

  • Долгосрочное счастье пользователей: сделать так чтобы, пользователь мог уйти навсегда
  • Хайповые треки для каждого из дней