/PaddleRec

Recommendation Algorithm大规模推荐算法库,包含推荐系统经典及最新算法LR、Wide&Deep、DSSM、TDM、MIND、Word2Vec、Bert4Rec、DeepWalk、SSR、GRU4Rec、Youtube_dnn、NCF、GNN、FM、FFM、DeepFM、DCN、DIN、DIEN、DLRM、MMOE、PLE、ESMM、MAML、xDeepFM、DeepFEFM、NFM、AFM、RALM、DMR、GateNet、NAML、DIFM、Deep Crossing、PNN、BST、AutoInt、FGCNN、FLEN、Fibinet、ListWise、DeepRec、ENSFM,TiSAS,AutoFIS等,包含经典推荐系统数据集criteo 、movielens等

Primary LanguageRoffApache License 2.0Apache-2.0

(中文文档|简体中文|English)

什么是推荐系统?

  • 推荐系统是在互联网信息爆炸式增长的时代背景下,帮助用户高效获得感兴趣信息的关键;

  • 推荐系统也是帮助产品最大限度吸引用户、留存用户、增加用户粘性、提高用户转化率的银弹。

  • 有无数优秀的产品依靠用户可感知的推荐系统建立了良好的口碑,也有无数的公司依靠直击用户痛点的推荐系统在行业中占领了一席之地。

    可以说,谁能掌握和利用好推荐系统,谁就能在信息分发的激烈竞争中抢得先机。 但与此同时,有着许多问题困扰着推荐系统的开发者,比如:庞大的数据量,复杂的模型结构,低效的分布式训练环境,波动的在离线一致性,苛刻的上线部署要求,以上种种,不胜枚举。

什么是PaddleRec?

  • 源于飞桨生态的搜索推荐模型 一站式开箱即用工具
  • 适合初学者,开发者,研究者的推荐系统全流程解决方案
  • 包含内容理解、匹配、召回、排序、 多任务、重排序等多个任务的完整推荐搜索算法库。支持模型列表

快速使用

在线运行

环境要求

  • Python 2.7.15 / 3.5 / 3.6 / 3.7, 推荐使用python3.7,示例中的python默认表示python3.7

  • PaddlePaddle >=2.0

  • 操作系统: Windows/Mac/Linux

    Windows下PaddleRec目前仅支持单机训练,分布式训练建议使用Linux环境

安装Paddle

  • gpu环境pip安装
    python -m pip install paddlepaddle-gpu==2.0.0 
  • cpu环境pip安装
    python -m pip install paddlepaddle # gcc8 

更多版本下载可参考paddle官网下载安装

下载PaddleRec

注意:官方维护github版本地址:
https://github.com/PaddlePaddle/PaddleRec

git clone https://github.com/PaddlePaddle/PaddleRec/
cd PaddleRec

快速运行

我们以排序模型中的dnn模型为例介绍PaddleRec的一键启动。训练数据来源为Criteo数据集,我们从中截取了100条数据:

python -u tools/trainer.py -m models/rank/dnn/config.yaml # 动态图训练 
python -u tools/static_trainer.py -m models/rank/dnn/config.yaml #  静态图训练

帮助文档

项目背景

入门教程

进阶教程

FAQ

致谢

支持模型列表

支持模型列表

方向 模型 在线环境 分布式CPU 分布式GPU 支持版本 论文
内容理解 TextCnn(文档) Python CPU/GPU x >=2.1.0 [EMNLP 2014]Convolutional neural networks for sentence classication
内容理解 TagSpace(文档) Python CPU/GPU x >=2.1.0 [EMNLP 2014]TagSpace: Semantic Embeddings from Hashtags
匹配 DSSM(文档) Python CPU/GPU x >=2.1.0 [CIKM 2013]Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
匹配 Match-Pyramid(文档) Python CPU/GPU x >=2.1.0 [AAAI 2016]Text Matching as Image Recognition
匹配 MultiView-Simnet(文档) Python CPU/GPU x >=2.1.0 [WWW 2015]A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems
召回 TDM - >=1.8.0 1.8.5 [KDD 2018]Learning Tree-based Deep Model for Recommender Systems
召回 FastText - x x 1.8.5 [EACL 2017]Bag of Tricks for Efficient Text Classification
召回 MIND(文档) Python CPU/GPU x x >=2.1.0 [2019]Multi-Interest Network with Dynamic Routing for Recommendation at Tmall
召回 Word2Vec(文档) Python CPU/GPU x >=2.1.0 [NIPS 2013]Distributed Representations of Words and Phrases and their Compositionality
召回 DeepWalk(文档) Python CPU/GPU x x >=2.1.0 [SIGKDD 2014]DeepWalk: Online Learning of Social Representations
召回 SSR - 1.8.5 [SIGIR 2016]Multtti-Rate Deep Learning for Temporal Recommendation
召回 Gru4Rec(文档) - 1.8.5 [2015]Session-based Recommendations with Recurrent Neural Networks
召回 Youtube_dnn - 1.8.5 [RecSys 2016]Deep Neural Networks for YouTube Recommendations
召回 NCF(文档) Python CPU/GPU >=2.1.0 [WWW 2017]Neural Collaborative Filtering
召回 TiSAS - >=2.1.0 [WSDM 2020]Time Interval Aware Self-Attention for Sequential Recommendation
召回 ENSFM - >=2.1.0 [IW3C2 2020]Eicient Non-Sampling Factorization Machines for Optimal Context-Aware Recommendation
召回 GNN - 1.8.5 [AAAI 2019]Session-based Recommendation with Graph Neural Networks
召回 RALM - 1.8.5 [KDD 2019]Real-time Attention Based Look-alike Model for Recommender System
排序 Logistic Regression(文档) Python CPU/GPU x >=2.1.0 /
排序 Dnn(文档) Python CPU/GPU >=2.1.0 /
排序 FM(文档) Python CPU/GPU x >=2.1.0 [IEEE Data Mining 2010]Factorization machines
排序 BERT4REC - x >=2.1.0 [CIKM 2019]BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer
排序 FAT_DeepFFM - x >=2.1.0 [2019]FAT-DeepFFM: Field Attentive Deep Field-aware Factorization Machine
排序 FFM(文档) Python CPU/GPU x >=2.1.0 [RECSYS 2016]Field-aware Factorization Machines for CTR Prediction
排序 FNN - x 1.8.5 [ECIR 2016]Deep Learning over Multi-field Categorical Data
排序 Deep Crossing - x 1.8.5 [ACM 2016]Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features
排序 Pnn - x 1.8.5 [ICDM 2016]Product-based Neural Networks for User Response Prediction
排序 DCN(文档) Python CPU/GPU x >=2.1.0 [KDD 2017]Deep & Cross Network for Ad Click Predictions
排序 NFM - x 1.8.5 [SIGIR 2017]Neural Factorization Machines for Sparse Predictive Analytics
排序 AFM - x 1.8.5 [IJCAI 2017]Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks
排序 DMR(文档) Python CPU/GPU x x >=2.1.0 [AAAI 2020]Deep Match to Rank Model for Personalized Click-Through Rate Prediction
排序 DeepFM(文档) Python CPU/GPU x >=2.1.0 [IJCAI 2017]DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
排序 xDeepFM(文档) Python CPU/GPU x >=2.1.0 [KDD 2018]xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems
排序 DIN(文档) Python CPU/GPU x >=2.1.0 [KDD 2018]Deep Interest Network for Click-Through Rate Prediction
排序 DIEN(文档) Python CPU/GPU x >=2.1.0 [AAAI 2019]Deep Interest Evolution Network for Click-Through Rate Prediction
排序 GateNet(文档) Python CPU/GPU x >=2.1.0 [SIGIR 2020]GateNet: Gating-Enhanced Deep Network for Click-Through Rate Prediction
排序 DLRM(文档) Python CPU/GPU x >=2.1.0 [CoRR 2019]Deep Learning Recommendation Model for Personalization and Recommendation Systems
排序 NAML(文档) Python CPU/GPU x >=2.1.0 [IJCAI 2019]Neural News Recommendation with Attentive Multi-View Learning
排序 DIFM(文档) Python CPU/GPU x >=2.1.0 [IJCAI 2020]A Dual Input-aware Factorization Machine for CTR Prediction
排序 DeepFEFM(文档) Python CPU/GPU x >=2.1.0 [arXiv 2020]Field-Embedded Factorization Machines for Click-through rate prediction
排序 BST(文档) Python CPU/GPU x >=2.1.0 [DLP_KDD 2019]Behavior Sequence Transformer for E-commerce Recommendation in Alibaba
排序 AutoInt - x 1.8.5 [CIKM 2019]AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks
排序 Wide&Deep(文档) Python CPU/GPU x >=2.1.0 [DLRS 2016]Wide & Deep Learning for Recommender Systems
排序 FGCNN - 1.8.5 [WWW 2019]Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction
排序 Fibinet - 1.8.5 [RecSys19]FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction
排序 Flen - 1.8.5 [2019]FLEN: Leveraging Field for Scalable CTR Prediction
排序 DeepRec - >=2.1.0 [2017]Training Deep AutoEncoders for Collaborative Filtering
排序 AutoFIS - >=2.1.0 [KDD 2020]AutoFIS: Automatic Feature Interaction Selection in Factorization Models for Click-Through Rate Prediction
多任务 PLE(文档) Python CPU/GPU >=2.1.0 [RecSys 2020]Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations
多任务 ESMM(文档) Python CPU/GPU >=2.1.0 [SIGIR 2018]Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate
多任务 MMOE(文档) Python CPU/GPU >=2.1.0 [KDD 2018]Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts
多任务 ShareBottom(文档) Python CPU/GPU >=2.1.0 [1998]Multitask learning
多任务 Maml(文档) Python CPU/GPU x x >=2.1.0 [PMLR 2017]Model-agnostic meta-learning for fast adaptation of deep networks
多任务 DSelect_K(文档) - x x >=2.1.0 [NeurIPS 2021]DSelect-k: Differentiable Selection in the Mixture of Experts with Applications to Multi-Task Learning
重排序 Listwise - x 1.8.5 [2019]Sequential Evaluation and Generation Framework for Combinatorial Recommender System

社区


Release License Slack

版本历史

  • 2021.11.19 - PaddleRec v2.2.0
  • 2021.05.19 - PaddleRec v2.1.0
  • 2021.01.29 - PaddleRec v2.0.0
  • 2020.10.12 - PaddleRec v1.8.5
  • 2020.06.17 - PaddleRec v0.1.0
  • 2020.06.03 - PaddleRec v0.0.2
  • 2020.05.14 - PaddleRec v0.0.1

许可证书

本项目的发布受Apache 2.0 license许可认证。

联系我们

如有意见、建议及使用中的BUG,欢迎在GitHub Issue提交

亦可通过以下方式与我们沟通交流:

  • QQ群号码:861717190
  • 微信小助手微信号:wxid_0xksppzk5p7f22
  • 备注REC自动加群

     

PaddleRec交流QQ群               PaddleRec微信小助手