README.md 12.7 KB
Newer Older
T
tangwei 已提交
1 2 3
<p align="center">
<img align="center" src="doc/imgs/logo.png">
<p>
C
fix  
chengmo 已提交
4 5 6
<p align="center">
<img align="center" src="doc/imgs/structure.png">
<p>
C
fix  
chengmo 已提交
7 8 9
<p align="center">
<img align="center" src="doc/imgs/overview.png">
<p>
C
fix  
chengmo 已提交
10

T
tangwei 已提交
11

C
fix  
chengmo 已提交
12
<h2 align="center">什么是推荐系统?</h2>
C
chengmo 已提交
13 14 15 16 17 18 19 20 21 22
<p align="center">
<img align="center" src="doc/imgs/rec-overview.png">
<p>

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

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

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

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

C
fix  
chengmo 已提交
26
<h2 align="center">什么是PaddleRec?</h2>
T
tangwei 已提交
27 28


C
chengmo 已提交
29 30
- 源于飞桨生态的搜索推荐模型 **一站式开箱即用工具** 
- 适合初学者,开发者,研究者的推荐系统全流程解决方案
C
fix  
chengmo 已提交
31
- 包含内容理解、匹配、召回、排序、 多任务、重排序等多个任务的完整推荐搜索算法库
T
tangwei 已提交
32 33


C
Chengmo 已提交
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
    |   方向   |                                   模型                                    | 单机CPU | 单机GPU | 分布式CPU | 分布式GPU |                                                                 模型来源                                                                 |
    | :------: | :-----------------------------------------------------------------------: | :-----: | :-----: | :-------: | :-------: | :--------------------------------------------------------------------------------------------------------------------------------------: |
    | 内容理解 | [Text-Classifcation](models/contentunderstanding/classification/model.py) |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    | 内容理解 |         [TagSpace](models/contentunderstanding/tagspace/model.py)         |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   匹配   |                    [DSSM](models/match/dssm/model.py)                     |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   匹配   |        [MultiView-Simnet](models/match/multiview-simnet/model.py)         |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   召回   |                   [TDM](models/treebased/tdm/model.py)                    |    ✓    | >=1.8.0 |     ✓     |  >=1.8.0  | [[KDD 2018](https://www.kdd.org/kdd2018/)][Learning Tree-based Deep Model for Recommender Systems](https://arxiv.org/pdf/1801.02294.pdf) |
    |   召回   |                [fasttext](models/recall/fasttext/model.py)                |    ✓    |    x    |     x     |     x     |                                                                    /                                                                     |
    |   召回   |                [Word2Vec](models/recall/word2vec/model.py)                |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   召回   |                     [SSR](models/recall/ssr/model.py)                     |    ✓    |    ✓    |     ✓     |     ✓     |                                                                    /                                                                     |
    |   召回   |                 [Gru4Rec](models/recall/gru4rec/model.py)                 |    ✓    |    ✓    |     ✓     |     ✓     |                                                                    /                                                                     |
    |   召回   |             [Youtube_dnn](models/recall/youtube_dnn/model.py)             |    ✓    |    ✓    |     ✓     |     ✓     |                                                                    /                                                                     |
    |   召回   |                     [NCF](models/recall/ncf/model.py)                     |    ✓    |    ✓    |     ✓     |     ✓     |                                                                    /                                                                     |
    |   排序   |      [Logistic Regression](models/rank/logistic_regression/model.py)      |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   排序   |                      [Dnn](models/rank/dnn/model.py)                      |    ✓    |    ✓    |     ✓     |     ✓     |                                                                    /                                                                     |
    |   排序   |                       [FM](models/rank/fm/model.py)                       |    ✓    |    ✓    |     ✓     |     ✓     |                                                                    /                                                                     |
    |   排序   |                      [FFM](models/rank/ffm/model.py)                      |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   排序   |                      [Pnn](models/rank/pnn/model.py)                      |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   排序   |                      [DCN](models/rank/dcn/model.py)                      |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   排序   |                      [NFM](models/rank/nfm/model.py)                      |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   排序   |                      [AFM](models/rank/afm/model.py)                      |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   排序   |                   [DeepFM](models/rank/deepfm/model.py)                   |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   排序   |                  [xDeepFM](models/rank/xdeepfm/model.py)                  |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   排序   |                      [DIN](models/rank/din/model.py)                      |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   排序   |                [Wide&Deep](models/rank/wide_deep/model.py)                |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
    |   排序   |                    [FGCNN](models/rank/fgcnn/model.py)                    |    ✓    |    ✓    |     ✓     |     ✓     |                                                                    /                                                                     |
    |  多任务  |                  [ESMM](models/multitask/esmm/model.py)                   |    ✓    |    ✓    |     ✓     |     ✓     |                                                                    /                                                                     |
    |  多任务  |                  [MMOE](models/multitask/mmoe/model.py)                   |    ✓    |    ✓    |     ✓     |     ✓     |                                                                    /                                                                     |
    |  多任务  |           [ShareBottom](models/multitask/share-bottom/model.py)           |    ✓    |    ✓    |     ✓     |     ✓     |                                                                    /                                                                     |
    |  重排序  |                [Listwise](models/rerank/listwise/model.py)                |    ✓    |    x    |     ✓     |     x     |                                                                    /                                                                     |
T
tangwei 已提交
64 65 66 67 68





C
chengmo 已提交
69
<h2 align="center">快速安装</h2>
T
tangwei 已提交
70 71 72 73 74

### 环境要求
* Python 2.7/ 3.5 / 3.6 / 3.7
* PaddlePaddle  >= 1.7.2
* 操作系统: Windows/Mac/Linux
C
chengmo 已提交
75

C
fix  
chengmo 已提交
76
  > Windows下目前仅提供单机训练,建议分布式使用Linux
T
tangwei 已提交
77 78 79 80 81 82 83 84 85 86 87
  
### 安装命令

- 安装方法一<PIP源直接安装>
  ```bash
  python -m pip install paddle-rec
  ```

- 安装方法二

  源码编译安装
C
fix  
chengmo 已提交
88
  1. 安装飞桨  **注:需要用户安装版本 >=1.7.2 的飞桨**
T
tangwei 已提交
89 90 91 92 93 94 95 96 97 98 99 100 101 102

    ```shell
    python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
    ```

  2. 源码安装PaddleRec

    ```
    git clone https://github.com/PaddlePaddle/PaddleRec/
    cd PaddleRec
    python setup.py install
    ```


C
chengmo 已提交
103
<h2 align="center">一键启动</h2>
C
chengmo 已提交
104

C
chengmo 已提交
105
我们以排序模型中的`dnn`模型为例介绍PaddleRec的一键启动。训练数据来源为[Criteo数据集](https://www.kaggle.com/c/criteo-display-ad-challenge/),我们从中截取了100条数据:
T
tangwei 已提交
106 107 108

```bash
# 使用CPU进行单机训练
C
chengmo 已提交
109
python -m paddlerec.run -m paddlerec.models.rank.dnn  
T
tangwei 已提交
110 111 112
```


C
chengmo 已提交
113
<h2 align="center">帮助文档</h2>
T
tangwei 已提交
114

C
chengmo 已提交
115
### 项目背景
T
tangwei 已提交
116 117 118
* [推荐系统介绍](doc/rec_background.md)
* [分布式深度学习介绍](doc/ps_background.md)

C
chengmo 已提交
119
### 快速开始
1
123malin 已提交
120
* [十分钟上手PaddleRec](https://aistudio.baidu.com/aistudio/projectdetail/523965)
T
tangwei 已提交
121

C
chengmo 已提交
122 123 124 125 126 127
### 入门教程
* [数据准备](doc/slot_reader.md)
* [模型调参](doc/model.md)
* [启动训练](doc/train.md)
* [启动预测](doc/predict.md)
* [快速部署](doc/serving.md)
T
tangwei 已提交
128

C
chengmo 已提交
129 130 131

### 进阶教程
* [自定义Reader](doc/custom_reader.md)
C
Chengmo 已提交
132 133
* [自定义模型](doc/model_develop.md)
* [自定义流程](doc/trainer_develop.md)
C
chengmo 已提交
134
* [yaml配置说明](doc/yaml.md)
C
chengmo 已提交
135 136
* [PaddleRec设计文档](doc/design.md)

C
chengmo 已提交
137
### Benchmark
C
chengmo 已提交
138 139
* [Benchmark](doc/benchmark.md)

T
tangwei 已提交
140 141 142 143 144 145
### FAQ
* [常见问题FAQ](doc/faq.md)


<h2 align="center">社区</h2>

C
fix  
chengmo 已提交
146 147 148 149 150 151 152
<p align="center">
    <br>
    <img alt="Release" src="https://img.shields.io/badge/Release-0.1.0-yellowgreen">
    <img alt="License" src="https://img.shields.io/github/license/PaddlePaddle/Serving">
    <img alt="Slack" src="https://img.shields.io/badge/Join-Slack-green">
    <br>
<p>
T
tangwei 已提交
153 154 155 156 157 158

### 版本历史
- 2020.5.14 - PaddleRec v0.1
  
### 许可证书
本项目的发布受[Apache 2.0 license](LICENSE)许可认证。
C
chengmo 已提交
159 160 161 162 163 164 165 166

### 联系我们

如有意见、建议及使用中的BUG,欢迎在[GitHub Issue](https://github.com/PaddlePaddle/PaddleRec/issues)提交

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

<p align="center"><img width="200" height="200"  src="doc/imgs/wechet.png"/>&#8194;&#8194;&#8194;&#8194;&#8194;<img width="200" height="200" margin="500" src="./doc/imgs/QQ_group.png"/>&#8194;&#8194;&#8194;&#8194;&#8194<img width="200" height="200"  src="doc/imgs/weixin_supporter.png"/></p>
C
fix  
chengmo 已提交
167
<p align="center">  &#8194;&#8194;&#8194;&#8194;&#8194;&#8194;微信公众号&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;PaddleRec交流QQ群&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;&#8194;PaddleRec微信小助手</p>