/PaddleRec

大规模推荐模型训练工具

Primary LanguagePythonApache 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

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 分布式CPU 分布式GPU 支持版本 论文
内容理解 TextCnn x 2.1.0 [EMNLP 2014]Convolutional neural networks for sentence classication
内容理解 TagSpace x 2.1.0 [EMNLP 2014]TagSpace: Semantic Embeddings from Hashtags
匹配 DSSM x 2.1.0 [CIKM 2013]Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
匹配 MultiView-Simnet 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.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 x x 2.1.0 [2019]Multi-Interest Network with Dynamic Routing for Recommendation at Tmall
召回 Word2Vec x 2.1.0 [NIPS 2013]Distributed Representations of Words and Phrases and their Compositionality
召回 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 2.1.0 [WWW 2017]Neural Collaborative Filtering
召回 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 x 2.1.0 /
排序 Dnn 2.1.0 /
排序 FM x 2.1.0 [IEEE Data Mining 2010]Factorization machines
排序 FFM 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 x 1.8.5 [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
排序 DeepFM x 2.1.0 [IJCAI 2017]DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
排序 xDeepFM x 2.1.0 [KDD 2018]xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems
排序 DIN x 1.8.5 [KDD 2018]Deep Interest Network for Click-Through Rate Prediction
排序 DIEN x 1.8.5 [AAAI 2019]Deep Interest Evolution Network for Click-Through Rate Prediction
排序 BST x 1.8.5 [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 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
多任务 PLE 2.1.0 [RecSys 2020]Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations
多任务 ESMM 2.1.0 [SIGIR 2018]Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate
多任务 MMOE 2.1.0 [KDD 2018]Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts
多任务 ShareBottom 2.1.0 [1998]Multitask learning
重排序 Listwise x 1.8.5 [2019]Sequential Evaluation and Generation Framework for Combinatorial Recommender System

社区


Release License Slack

版本历史

  • 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微信小助手