Coder Social home page Coder Social logo

lu-minous / fuxictr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from reczoo/fuxictr

0.0 0.0 0.0 2.03 MB

A configurable, tunable, and reproducible library for CTR prediction https://fuxictr.github.io

License: Apache License 2.0

Shell 0.66% Python 99.34%

fuxictr's Introduction

Logo
Python version Pytorch version Pytorch version Pypi version Downloads License

Click-through rate (CTR) prediction is a critical task for various industrial applications such as online advertising, recommender systems, and sponsored search. FuxiCTR provides an open-source library for CTR prediction, with key features in configurability, tunability, and reproducibility. We hope this project could promote reproducible research and benefit both researchers and practitioners in this field.

Key Features

  • Configurable: Both data preprocessing and models are modularized and configurable.

  • Tunable: Models can be automatically tuned through easy configurations.

  • Reproducible: All the benchmarks can be easily reproduced.

  • Extensible: It can be easily extended to any new models, supporting both Pytorch and Tensorflow frameworks.

Model Zoo

No Publication Model Paper Benchmark Version
๐Ÿ“‚ Feature Interaction Models
1 WWW'07 LR Predicting Clicks: Estimating the Click-Through Rate for New Ads ๐ŸšฉMicrosoft โ†—๏ธ torch
2 ICDM'10 FM Factorization Machines โ†—๏ธ torch
3 CIKM'13 DSSM Learning Deep Structured Semantic Models for Web Search using Clickthrough Data ๐ŸšฉMicrosoft โ†—๏ธ torch
4 CIKM'15 CCPM A Convolutional Click Prediction Model โ†—๏ธ torch
5 RecSys'16 FFM Field-aware Factorization Machines for CTR Prediction ๐ŸšฉCriteo โ†—๏ธ torch
6 RecSys'16 DNN Deep Neural Networks for YouTube Recommendations ๐ŸšฉGoogle โ†—๏ธ torch, tf
7 DLRS'16 Wide&Deep Wide & Deep Learning for Recommender Systems ๐ŸšฉGoogle โ†—๏ธ torch, tf
8 ICDM'16 PNN Product-based Neural Networks for User Response Prediction โ†—๏ธ torch
9 KDD'16 DeepCrossing Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features ๐ŸšฉMicrosoft โ†—๏ธ torch
10 NIPS'16 HOFM Higher-Order Factorization Machines โ†—๏ธ torch
11 IJCAI'17 DeepFM DeepFM: A Factorization-Machine based Neural Network for CTR Prediction ๐ŸšฉHuawei โ†—๏ธ torch, tf
12 SIGIR'17 NFM Neural Factorization Machines for Sparse Predictive Analytics โ†—๏ธ torch
13 IJCAI'17 AFM Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks โ†—๏ธ torch
14 ADKDD'17 DCN Deep & Cross Network for Ad Click Predictions ๐ŸšฉGoogle โ†—๏ธ torch, tf
15 WWW'18 FwFM Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising ๐ŸšฉOath, TouchPal, LinkedIn, Alibaba โ†—๏ธ torch
16 KDD'18 xDeepFM xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems ๐ŸšฉMicrosoft โ†—๏ธ torch
17 CIKM'19 FiGNN FiGNN: Modeling Feature Interactions via Graph Neural Networks for CTR Prediction โ†—๏ธ torch
18 CIKM'19 AutoInt/AutoInt+ AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks โ†—๏ธ torch
19 RecSys'19 FiBiNET FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction ๐ŸšฉSina Weibo โ†—๏ธ torch
20 WWW'19 FGCNN Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction ๐ŸšฉHuawei โ†—๏ธ torch
21 AAAI'19 HFM/HFM+ Holographic Factorization Machines for Recommendation โ†—๏ธ torch
22 Arxiv'19 DLRM Deep Learning Recommendation Model for Personalization and Recommendation Systems ๐ŸšฉFacebook โ†—๏ธ torch
23 NeuralNetworks'20 ONN Operation-aware Neural Networks for User Response Prediction โ†—๏ธ torch, tf
24 AAAI'20 AFN/AFN+ Adaptive Factorization Network: Learning Adaptive-Order Feature Interactions โ†—๏ธ torch
25 AAAI'20 LorentzFM Learning Feature Interactions with Lorentzian Factorization ๐ŸšฉeBay โ†—๏ธ torch
26 WSDM'20 InterHAt Interpretable Click-through Rate Prediction through Hierarchical Attention ๐ŸšฉNEC Labs, Google โ†—๏ธ torch
27 DLP-KDD'20 FLEN FLEN: Leveraging Field for Scalable CTR Prediction ๐ŸšฉTencent โ†—๏ธ torch
28 CIKM'20 DeepIM Deep Interaction Machine: A Simple but Effective Model for High-order Feature Interactions ๐ŸšฉAlibaba, RealAI โ†—๏ธ torch
29 WWW'21 FmFM FM^2: Field-matrixed Factorization Machines for Recommender Systems ๐ŸšฉYahoo โ†—๏ธ torch
30 WWW'21 DCN-V2 DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems ๐ŸšฉGoogle โ†—๏ธ torch
31 CIKM'21 DESTINE Disentangled Self-Attentive Neural Networks for Click-Through Rate Prediction ๐ŸšฉAlibaba โ†—๏ธ torch
32 CIKM'21 EDCN Enhancing Explicit and Implicit Feature Interactions via Information Sharing for Parallel Deep CTR Models ๐ŸšฉHuawei โ†—๏ธ torch
33 DLP-KDD'21 MaskNet MaskNet: Introducing Feature-Wise Multiplication to CTR Ranking Models by Instance-Guided Mask ๐ŸšฉSina Weibo โ†—๏ธ torch
34 SIGIR'21 SAM Looking at CTR Prediction Again: Is Attention All You Need? ๐ŸšฉBOSS Zhipin โ†—๏ธ torch
35 KDD'21 AOANet Architecture and Operation Adaptive Network for Online Recommendations ๐ŸšฉDidi Chuxing โ†—๏ธ torch
36 AAAI'23 FinalMLP FinalMLP: An Enhanced Two-Stream MLP Model for CTR Prediction ๐ŸšฉHuawei โ†—๏ธ torch
37 SIGIR'23 FinalNet FINAL: Factorized Interaction Layer for CTR Prediction ๐ŸšฉHuawei โ†—๏ธ torch
38 CIKM'23 GDCN Towards Deeper, Lighter and Interpretable Cross Network for CTR Prediction ๐ŸšฉMicrosoft torch
๐Ÿ“‚ Behavior Sequence Modeling
39 KDD'18 DIN Deep Interest Network for Click-Through Rate Prediction ๐ŸšฉAlibaba โ†—๏ธ torch
40 AAAI'19 DIEN Deep Interest Evolution Network for Click-Through Rate Prediction ๐ŸšฉAlibaba โ†—๏ธ torch
41 DLP-KDD'19 BST Behavior Sequence Transformer for E-commerce Recommendation in Alibaba ๐ŸšฉAlibaba โ†—๏ธ torch
42 CIKM'20 DMIN Deep Multi-Interest Network for Click-through Rate Prediction ๐ŸšฉAlibaba torch
43 AAAI'20 DMR Deep Match to Rank Model for Personalized Click-Through Rate Prediction ๐ŸšฉAlibaba torch
44 Arxiv'21 ETA End-to-End User Behavior Retrieval in Click-Through RatePrediction Model ๐ŸšฉAlibaba torch
45 CIKM'22 SDIM Sampling Is All You Need on Modeling Long-Term User Behaviors for CTR Prediction ๐ŸšฉMeituan torch
๐Ÿ“‚ Dynamic Weight Network
46 NeurIPS'22 APG APG: Adaptive Parameter Generation Network for Click-Through Rate Prediction ๐ŸšฉAlibaba torch
47 Arxiv'23 PPNet PEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prior Information ๐ŸšฉKuaiShou torch
๐Ÿ“‚ Multi-Task Modeling
48 MachineLearn'97 SharedBottom Multitask Learning torch
49 KDD'18 MMoE Modeling Task Relationships in Multi-task Learning with Multi-Gate Mixture-of-Experts ๐ŸšฉGoogle torch
50 KDD'18 PLE Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations ๐ŸšฉTencent torch
๐Ÿ“‚ Multi-Domain Modeling
51 Arxiv'23 PEPNet PEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prior Information ๐ŸšฉKuaiShou torch

Benchmarking

We have benchmarked FuxiCTR models on a set of open datasets as follows:

Dependencies

FuxiCTR has the following dependencies:

  • python 3.6+
  • pytorch 1.10+ (required only for Torch models)
  • tensorflow 2.1+ (required only for TF models)

Please install other required packages via pip install -r requirements.txt.

Quick Start

  1. Run the demo examples

    Examples are provided in the demo directory to show some basic usage of FuxiCTR. Users can run the examples for quick start and to understand the workflow.

    cd demo
    python example1_build_dataset_to_h5.py
    python example2_DeepFM_with_h5_input.py
    
  2. Run a model on tiny data

    Users can easily run each model in the model zoo following the commands below, which is a demo for running DCN. In addition, users can modify the dataset config and model config files to run on their own datasets or with new hyper-parameters. More details can be found in the 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_PATH
    python run_expid.py --expid MODEL_test --gpu 0
    
  3. Run a model on benchmark datasets (e.g., Criteo)

    Users can follow the benchmark section to get benchmark datasets and running steps for reproducing the existing results. Please see an example here: https://github.com/reczoo/BARS/tree/main/ranking/ctr/DCNv2/DCNv2_criteo_x1

  4. Implement a new model

    The FuxiCTR library is designed to be modularized, so that every component can be overwritten by users according to their needs. In many cases, only the model class needs to be implemented for a new customized model. If data preprocessing or data loader is not directly applicable, one can also overwrite a new one through the core APIs. We show a concrete example which implements our new model FinalMLP that has been recently published in AAAI 2023.

  5. Tune hyper-parameters of a model

    FuxiCTR currently support fast grid search of hyper-parameters of a model using multiple GPUs. The following example shows the grid search of 8 experiments with 4 GPUs.

    cd experiment
    python run_param_tuner.py --config config/DCN_tiny_h5_tuner_config.yaml --gpu 0 1 2 3 0 1 2 3
    

๐Ÿ”ฅ Citation

If you find our code or benchmarks helpful in your research, please cite the following papers.

Discussion

Welcome to join our WeChat group for any question and discussion. We also have open positions for internships and full-time jobs. If you are interested in research and practice in recommender systems, please reach out via our WeChat group.

Scan QR code

fuxictr's People

Contributors

xpai avatar zhujiem avatar liangcaisu avatar sdilbaz avatar lsjsj92 avatar rsj123 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.