- 2
- 0
- 约7.11千字
- 约 7页
- 2018-12-19 发布于上海
- 举报
1 需求概述2 目标概述3 设计与实现 - xilinx forums.pdf
1 需求概述
广告是互联网行业的重要商业模式之一。在互联网广告行业中,准确地预测用户广告点
击行为具有重要意义。在影响用户广告点击行为预测的众多指标中,广告点击率(CTR,
Click-Through-Rate )是一种十分重要指标。所以,准确并快速地预测广告点击率有利于提
升广告产生的收入,进一步增加互联网平台的吸引力,形成正向循环。
2 目标概述
由于硬件平台限定为百度云异构多核平台,本项目的目标就是实现基于百度云异构多核
平台的广告点击率预测系统,整体结构如图1 所示。
系统的硬件平台为百度云异构多核平台,计算核心由 Intel Xeon E5-2650 v4 CPU 和
Xilinx XCKU115 FPGA 组成,CPU 与FPGA 通过PCIE 总线使用DMA 方式进行数据传输。
系统的处理流程为:
(1)对输入的待预测文件 (test.txt)进行预处理;
(2 )根据数据计算的密集程度,通过调用Polaris API 使用FPGA 对计算密集型任务进
行加速计算,通过编写软件使用CPU 对其他任务进行计算;
(3 )将FPGA 和CPU 的计算结果进行汇总,并得出最终的结果;
(4 )将最终结果输出到预测结果文件 (predict.csv )。
图1 系统整体结构
3 设计与实现
系统设计流程如图2 所示。
- 1 -
图2 系统设计流程
(1)DeepFM 模型训练
系统所使用的广告点击率预测模型为DeepFM 模型,训练使用的深度学习框架为百度的
PaddlePaddle。
实现可参考百度PaddlePaddle 的GitHub 上提供的案例:
/PaddlePaddle/models/tree/develop/legacy/deep_fm
(2)预处理优化
预处理过程可分为统计信息和数据处理两部分。预处理每次处理的数量为一个数据片
( ),数据片包含的数据条数根据实际情况决定。
统计信息指的是统计训练集的相关信息,包括整数型字段过滤和归一化信息,类别型字
段One-Hot 编号表;
数据处理指的是根据统计信息对每个字段进行处理得到相应的特征,整数型字段的过滤
和归一化,类别型字段的过滤和One-Hot 编码。
One-Hot 编码可以理解为查找One-Hot 编号表。由于One-Hot 编号表示在统计信息后生
成并保持不变,所以可以对统计完成后的One-Hot 编号表进行排序,对于关键字相同的表项,
记录下关键字对应的字段序号用以区别。查找时先使用二分法根据关键字查找排序后的
One-Hot 编号表,然后根据字段序号进行判断并进一步查找,直到找到对应的编号。
图3 预处理优化
- 2 -
(3)网络参数提取
PaddlePaddle 模型训练后会得到一个网络参数的压缩包。将这些参数转换成模型重构所
需要的格式,需要经过三个步骤。
1)将压缩包(model-pass-x-batch-xxx.tar.gz )使用paddle.v2.parameters.Parameters 类中
的get 方法将网络参数保存为numpy.ndarray 形式;
2 )使用numpy.savetxt 方法将numpy.ndarray 保存在.txt 文件中;
3 )编写程序将.txt 文件中的网络参数转换成模型重构所需要的形式(以数组的形式保存
在头文件.h 中)。
(4)模型重构
模型重构是将DeepFM 模型训练时使用的基于Python 的框架使用C++重新实现并优化,
如图4 所示。重构后模型的正确性可以通过比较输出结果是否与PaddlePaddle 实现输出结果
一致进行验证。重构的好处在于与Polaris API 使用同种编程语言
您可能关注的文档
- (k-1表) reporting form for accounts involving actual control ....docx
- (mù lù)、样本(yàng běn) - wordpress.com.pptx
- (physical environment) 接口(interfaces).ppt
- (send2016-8-1206042016)biad园区改造项目机电施工规划.docx
- 00-招用补贴政策v1.7.ppt
- 002 营养食品所第四党支部.ppt
- 005 机关一总支第三支部 - 中国疾病预防控制中心.ppt
- 007-王家绪-先锋北京培训.pptx
- 01-3-室内装修要求.pptx
- 010软件学院.docx
原创力文档

文档评论(0)