Прогнозирование скорости клика (CTR) является важной задачей для различных промышленных приложений, таких как онлайн-реклама, рекомендательные системы и спонсируемый поиск. FUXICTR предоставляет библиотеку с открытым исходным кодом для прогнозирования CTR, с ключевыми функциями в конфигурации, настроек и воспроизводимости. Мы надеемся, что этот проект может способствовать воспроизводимым исследованиям и принести пользу как исследователям, так и практикам в этой области.
Настраивается : как предварительная обработка данных, так и модели модулизованы и настраиваются.
Настраиваемые : модели могут быть автоматически настроены с помощью простых конфигураций.
Воспроизводимый : все тесты можно легко воспроизвести.
Расширимо : его можно легко расширить на любые новые модели, поддерживая как Pytorch, так и Tensorflow Frameworks.
| Нет | Публикация | Модель | Бумага | Эталон | Версия |
|---|---|---|---|---|---|
| Модели взаимодействия функций | |||||
| 1 | Www'07 | Лр | Прогнозирование кликов: оценка скорости щелчка для новых рекламных объявлений Microsoft | torch | |
| 2 | ICDM'10 | Фм | Машины факторизации | torch | |
| 3 | Cikm'13 | DSSM | Изучение глубоких структурированных семантических моделей для поиска в Интернете с помощью данных ClickThrough Microsoft | torch | |
| 4 | Cikm'15 | CCPM | Модель прогнозирования свертки | torch | |
| 5 | Recsys'16 | FFM | Полевые машины факторизации для CTR Production Criteo | torch | |
| 6 | Recsys'16 | Днн | Глубокие нейронные сети для рекомендаций YouTube Google | torch , tf | |
| 7 | Dlrs'16 | Широкий и глубокий | Широкое и глубокое обучение для систем рекомендаций Google | torch , tf | |
| 8 | ICDM'16 | Пнн | Нейронные сети на основе продуктов для прогнозирования ответа пользователя | torch | |
| 9 | KDD'16 | Глубоко | Глубокий пересечение: моделирование веб-масштаба без ручных комбинаторных функций Microsoft | torch | |
| 10 | Nips'16 | HOFM | Машины факторизации высшего порядка | torch | |
| 11 | Ijcai'17 | Deepfm | DeepFM: нейронная сеть, основанная на факторизации, для прогнозирования CTR Huawei | torch , tf | |
| 12 | Sigir'17 | Nfm | Машины нейронной факторизации для разреженной прогностической аналитики | torch | |
| 13 | Ijcai'17 | Афм | Машины факторизации внимания: изучение веса взаимодействий функций с помощью сетей внимания | torch | |
| 14 | Adkdd'17 | Dcn | Deep & Cross Network для рекламы . | torch , tf | |
| 15 | Www'18 | FWFM | Полевые машины для факторизации для прогнозирования скорости кликов в присяге на дисплей рекламной клятвы, TouchPal, LinkedIn, Alibaba | torch | |
| 16 | KDD'18 | xdeepfm | xdeepfm: комбинирование явных и неявных взаимодействий с функциями для рекомендательных систем Microsoft | torch | |
| 17 | Cikm'19 | Финьн | Fignn: моделирование функций взаимодействия с помощью графических нейронных сетей для прогнозирования CTR | torch | |
| 18 | Cikm'19 | Autoint/Autoint+ | Autoint: автоматическое обучение взаимодействию функций с помощью самостоятельных нейронных сетей | torch | |
| 19 | Recsys'19 | Fibinet | Fibinet: объединение важности функции и билинейного взаимодействия функций для прогнозирования скорости клика Sina Weibo | torch | |
| 20 | Www'19 | Fgcnn | Генерация функций с помощью сверточной нейронной сети для прогнозирования скорости кликов Huawei | torch | |
| 21 | Aaai'19 | HFM/HFM+ | Голографические машины для факторизации для рекомендации | torch | |
| 22 | Arxiv'19 | DLRM | Модель рекомендаций по глубокому обучению для систем персонализации и рекомендаций Facebook | torch | |
| 23 | Neuralnetworks'20 | Онн | Нейронные сети операции для прогнозирования ответа пользователя | torch , tf | |
| 24 | AAAI'20 | AFN/AFN+ | Адаптивная сеть факторизации: обучение адаптивным порядкам взаимодействия функций | torch | |
| 25 | AAAI'20 | Lorentzfm | Взаимодействие с функциями обучения с Lorentzian Factrization eBay | torch | |
| 26 | WSDM'20 | Интерхат | Интерпретируемый прогноз скорости клика с помощью иерархического внимания NEC Labs, Google | torch | |
| 27 | DLP-KDD'20 | Флен | Flen: использование поля для масштабируемого прогнозирования CTR Tencent | torch | |
| 28 | Cikm'20 | Дипим | Машина глубокого взаимодействия: простая, но эффективная модель для взаимодействия с высоким порядком Alibaba, Realai | torch | |
| 29 | Www'21 | FMFM | FM^2: Матриса с матрицами на полевых матрицах для систем рекомендаций Yahoo | torch | |
| 30 | Www'21 | DCN-V2 | DCN V2: улучшенные глубокие и перекрестные сетевые и практические уроки для обучения в Интернете для ранжирования систем Google | torch | |
| 31 | Cikm'21 | Судьба | Неупомянутые самостоятельные нейронные сети для прогнозирования скорости клика Alibaba | torch | |
| 32 | Cikm'21 | Edcn | Улучшение явных и неявных функций взаимодействия с помощью обмена информацией для параллельных моделей Deep CTR Huawei | torch | |
| 33 | DLP-KDD'21 | Маскнет | Masknet: внедрение функционального умножения в модели ранжирования CTR под маской под управлением экземпляра Sina Weibo | torch | |
| 34 | Sigir'21 | СЭМ | Снова смотрит на предсказание CTR: все ли вам нужно? Босс Зишин | torch | |
| 35 | KDD'21 | AOANET | Архитектура и операция адаптивная сеть для онлайн -рекомендаций Didi Chuxing | torch | |
| 36 | AAAI'23 | Finalmlp | FinalMLP: улучшенная модель MLP с двумя потоками для прогнозирования CTR Huawei | torch | |
| 37 | Sigir'23 | Finalnet | Окончательный: факторный уровень взаимодействия для прогнозирования CTR Huawei | torch | |
| 38 | Sigir'23 | Eulernet | Eulernet: адаптивное обучение взаимодействию с функциями с помощью формулы Эйлера для прогнозирования CTR Huawei | torch | |
| 39 | Cikm'23 | GDCN | На пути к более глубокой, более легкой и интерпретируемой перекрестной сети для прогнозирования CTR Microsoft | torch | |
| 40 | ICML'24 | Wukong | Wukong: На пути к масштабируемому закону для крупномасштабных рекомендаций мета | torch | |
| Моделирование последовательности поведения | |||||
| 42 | KDD'18 | Дин | Глубокая процентная сеть для прогнозирования скорости кликов Alibaba | torch | |
| 43 | Aaai'19 | Диен | Сеть эволюции глубоких процентов для прогнозирования скорости клика Alibaba | torch | |
| 44 | DLP-KDD'19 | BST | Трансформатор последовательности поведения для рекомендации электронной коммерции в Alibaba alibaba | torch | |
| 45 | Cikm'20 | Dmin | Глубокая многоэтажная сеть для прогнозирования скорости кликов Alibaba | torch | |
| 46 | AAAI'20 | DMR | Глубокое совпадение с моделью ранжирования для персонализированного прогнозирования скорости кликов Alibaba | torch | |
| 47 | DLP-KDD'22 | ETA | Эффективное длинное последовательное моделирование данных пользователей для прогнозирования скорости кликов Alibaba | torch | |
| 48 | Cikm'22 | SDIM | Выборка-это все, что вам нужно для моделирования долгосрочного поведения пользователей для прогнозирования CTR Meituan | torch | |
| 49 | KDD'23 | Снятие | Transact: модель действий пользователя в реальном времени на основе преобразователей для рекомендаций в Pinterest Pinterest | torch | |
| Динамическая весовая сеть | |||||
| 50 | Neurips'22 | APG | APG: сеть генерации адаптивных параметров для прогнозирования скорости кликов Alibaba | torch | |
| 51 | KDD'23 | Ppnet | Pepnet: параметр и внедрение персонализированной сети для внедрения с персонализированной предварительной информацией kuaishou | torch | |
| Моделирование с несколькими задачами | |||||
| 52 | Arxiv'17 | ShareBottom | Обзор многозадачного обучения в глубоких нейронных сетях | torch | |
| 53 | KDD'18 | MMOE | Отношения задач моделирования в многозадачном обучении с помощью многоградной смеси, экспертов Google | torch | |
| 54 | Recsys'20 | Пл | Прогрессивная слоистая экстракция (PLE): новая модель многозадачного обучения (MTL) для персонализированных рекомендаций Tencent | torch | |
Мы сравнивали модели FUXICTR на наборе открытых наборов данных следующим образом:
Fuxictr имеет следующие зависимости:
Пожалуйста, установите другие необходимые пакеты через pip install -r requirements.txt .
Запустить демонстрационные примеры
Примеры приведены в демонстрационном каталоге, чтобы показать некоторое базовое использование FUXICTR. Пользователи могут запустить примеры для быстрого запуска и понять рабочий процесс.
cd demo
python example1_build_dataset_to_parquet.py
python example2_DeepFM_with_parquet_input.py
Запустите модель по крошечным данным
Пользователи могут легко запустить каждую модель в зоопарке модели, следуя приведенным ниже командам, что является демонстрацией для запуска DCN. Кроме того, пользователи могут изменить файлы конфигурации набора данных и конфигурации модели для запуска в своих собственных наборах данных или с новыми гиперпараметрами. Более подробную информацию можно найти в Readme.
cd model_zoo/DCN/DCN_torch
python run_expid.py --expid DCN_test --gpu 0
# Change `MODEL` according to the target model name
cd model_zoo/MODEL
python run_expid.py --expid MODEL_test --gpu 0
Запустите модель на наборах данных Benchmark (например, Criteo)
Пользователи могут следить за разделом «Конфликт», чтобы получить контрольные наборы данных и выполнять шаги для воспроизведения существующих результатов. См. Пример здесь: https://github.com/reczoo/bars/tree/main/ranking/ctr/dcnv2/dcnv2_criteo_x1
Внедрить новую модель
Библиотека Fuxictr предназначена для модуляризации, так что каждый компонент может быть перезаписан пользователями в соответствии с их потребностями. Во многих случаях необходимо реализовать только модельный класс для новой индивидуальной модели. Если предварительная обработка данных или погрузчик данных не применим непосредственно, можно также перезаписать новый через основные API. Мы показываем конкретный пример, который реализует нашу новую модель FinalMLP, которая была недавно опубликована в AAAI 2023.
Настройка гиперпараметров модели
В настоящее время Fuxictr поддерживает быстрый поиск гиперпараметров модели с использованием нескольких графических процессоров. В следующем примере показан поиск в сетке 8 экспериментов с 4 графическими процессорами.
cd experiment
python run_param_tuner.py --config config/DCN_tiny_parquet_tuner_config.yaml --gpu 0 1 2 3 0 1 2 3
Если вы найдете наш код или тесты полезными в своем исследовании, пожалуйста, укажите следующие документы.
Добро пожаловать, чтобы присоединиться к нашей группе WeChat для любого вопроса и обсуждения. Если вы заинтересованы в исследованиях и практике в системах Recure Guild, пожалуйста, обратитесь через нашу группу WeChat.