# ps-dnn-一个基于参数服务器(Parameter Server)PS-Lite的分布式深度学习训练和预测框架
# 代码地址:https://github.com/kangshantong/ps-dnn
This is a model training and prediction framework.
1) It includes a complete set of processes such as sample generation, feature extraction, model training and prediction
2) It is lightweight, based on C++, and can be directly used for online business where tensorflow is too inconvenient
3)it supports feature extraction operator such as bucket/combine/group/hit
4)it supports distributed training with ps-lite
We provide a demo in order to introduce how to use this framework.
The dataset is taobao Ad Display/Click Data on Taobao.com(https://tianchi.aliyun.com/dataset/dataDetail?dataId=56) .
sh run_taobao_ctr.sh
This command will start the whole prodedure of taobao ctr prediction model.
这是一个基于参数服务器(Parameter Server)PS-Lite的分布式深度学习训练和预测框架,特点如下:
1) 框架包含了从样本生成、特征抽取、模型训练到预测等一套完整的互联网深度学习落地流程
2)非常轻量级,可以直接用于线上业务
3)支持大量的特征抽取算子,譬如bucket/combine/group/hit等
4)支持分布式训练,基于ps-lite
代码结构:
conf:特征抽取和模型训练参数
sample:样本处理和原始特征拼接
feature_extract:特征抽取
model:模型训练
为了评估分布式训练的效果,本文使用使用淘宝点击率预估数据集(https://tianchi.aliyun.com/dataset/dataDetail?dataId=56)在不同的模式(单机/分布式)和不同的server/worker节点数量对训练效率进行了评估。
运行脚本:sh run_taobao_ctr.sh (为了缩短运行时间,示例中去掉了用户行为特征的抽取,如果需要的话,在sample/gen_sample_taobao_ctr.sh中将global user behavior feature和local user behavior feature的注释关掉)
![image](https://user-images.githubusercontent.com/9473273/141041693-99bba636-1d3c-4206-952a-aa73dabb6c7d.png)
从上述数据可以看出:
1) 改造为分布式后,1 server 1 worker的配置下,训练时间为545.2min,比单机模式的290.2min多了88%,auc相差无几。说明本文分布式改造带来的通信开销还是挺大的,但是训练的准确性是有保证的
2) 在分布式-多进程模型下,随着worker数量的加倍,模型的训练时间呈现指数级下降趋势,但是下降的幅度逐步变小;同时auc的在worker=2/4/8时变化不大,但是在worker=16时有了明显下降,一般此时可以通过使用实时业务的庞大样本量或调整训练参数来弥补。
3) 多线程模式和多进程模型相比,训练时间相差不大(37.2min vs 37.2min),但是test auc下降较多(0.638351 vs0.644146)
整体而言,分布式训练相比于单机训练,在auc损失不大的情况下,换来了训练时间的大幅度下降。
欢迎联系550941794@qq.com进行交流。
没有合适的资源?快使用搜索试试~ 我知道了~
这是一个基于参数服务器PS-Lite的分布式深度学习训练和预测框架.zip
共145个文件
h:50个
cc:25个
py:16个
需积分: 0 0 下载量 35 浏览量
2024-01-13
22:15:30
上传
评论
收藏 8.73MB ZIP 举报
温馨提示
深度学习使用技巧和一些模型训练,实战应用开发小系统参考资料,源码参考。 适用于初学者和有经验的开发者,能够帮助快速上手深度学习模型建立学习等
资源推荐
资源详情
资源评论
收起资源包目录
这是一个基于参数服务器PS-Lite的分布式深度学习训练和预测框架.zip (145个子文件)
van.cc 19KB
procedure.cc 13KB
network.cc 13KB
utils.cc 11KB
postoffice.cc 6KB
sparse_input.cc 6KB
dataset.cc 5KB
fully_connected.cc 5KB
psserver.cc 5KB
dist_multi_thread.cc 3KB
layer.cc 3KB
dist_multi_process.cc 2KB
dot.cc 2KB
emb_dict.cc 2KB
customer.cc 2KB
cross_entropy_loss.cc 1KB
local.cc 1KB
adam.cc 959B
tanh.cc 889B
sigmoid.cc 880B
relu.cc 762B
sgd.cc 750B
softmax.cc 702B
conf.cc 641B
mse_loss.cc 602B
FindZMQ.cmake 625B
feature_extract.cpp 16KB
test.cpp 14KB
Doxyfile 98KB
protobuf-cpp-3.5.1.tar.gz 4.07MB
eigen-3.4.0.tar.gz 2.58MB
zeromq-4.1.4.tar.gz 1.34MB
cityhash-1.1.1.tar.gz 368KB
lz4-r129.tar.gz 124KB
ibverbs_van.h 35KB
kv_app.h 21KB
zmq_van.h 9KB
ini.h 9KB
sarray.h 8KB
logging.h 8KB
network_utils.h 8KB
message.h 7KB
postoffice.h 6KB
van.h 5KB
simple_app.h 5KB
base.h 5KB
resender.h 4KB
parallel_kv_match.h 4KB
procedure.h 4KB
network.h 3KB
feature_extract.h 3KB
layer.h 3KB
customer.h 3KB
utils.h 3KB
ps.h 2KB
str_func.h 2KB
psserver.h 2KB
dataset.h 2KB
env.h 2KB
parallel_sort.h 2KB
assign_op.h 1KB
unistd.h 1KB
utils.h 1KB
threadsafe_queue.h 1KB
threadsafe_pqueue.h 1KB
p3_van.h 1KB
fully_connected.h 1KB
sparse_input.h 1KB
base.h 872B
dense_input.h 757B
emb_dict.h 730B
adam.h 682B
sgd.h 641B
optimizer.h 538B
range.h 519B
dot.h 483B
loss.h 411B
conf.h 290B
sigmoid.h 265B
softmax.h 264B
tanh.h 247B
relu.h 247B
cross_entropy_loss.h 246B
mse_loss.h 207B
features_v16.ini 13KB
fnn.ini 355B
bigger_than_500_features.ini 326B
y_is_x_features.ini 326B
y_is_xx_features.ini 326B
dssm.ini 309B
y_is_xx_network.ini 246B
bigger_than_500_network.ini 245B
y_is_x_network.ini 239B
LICENSE 11KB
Makefile 7KB
Makefile 1KB
overview.md 7KB
how_to.md 3KB
README.md 3KB
README.md 3KB
共 145 条
- 1
- 2
资源评论
白话Learning
- 粉丝: 3079
- 资源: 2465
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功