没有合适的资源?快使用搜索试试~ 我知道了~
18_第十八章_后端架构选型及应用场景1
需积分: 0 0 下载量 14 浏览量
2022-08-03
14:29:09
上传
评论
收藏 3.11MB PDF 举报
温馨提示
试读
56页
第章第章 后端架构选型后端架构选型及应场景及应场景第章第章 后端架构选型及应场景后端架构选型及应场景18.1 为什么需要分布式计算?18.4.1 数据采集18.
资源详情
资源评论
资源推荐
第⼗⼋章第⼗⼋章 后端架构选型后端架构选型
及应⽤场景及应⽤场景
DeepLearning
1
1
2
2
2
3
5
6
9
10
11
11
14
15
15
15
22
22
23
23
24
28
29
29
29
30
31
32
32
33
36
37
37
42
42
42
43
43
44
44
⽬录
第⼗⼋章第⼗⼋章 后端架构选型及应⽤场景后端架构选型及应⽤场景
18.1 为什么需要分布式计算?
18.2 ⽬前有哪些深度学习分布式计算框架?
18.2.1 PaddlePaddle
18.2.2 Deeplearning4j
18.2.3 Mahout
18.2.4 Spark MLllib
18.2.5 Ray
18.2.6 Spark stream
18.2.7 Horovod
18.2.8 BigDL
18.2.9 Petastorm
18.2.10 TensorFlowOnSpark
18.3 如何进⾏实时计算?
18.3.1 什么是实时流计算?
18.3.2 实时流计算过程
18.4 如何进⾏离线计算?
18.4.1 数据采集
18.4.2 数据预处理
18.4.3 数据建模
18.4.4 ETL
18.4.5 数据导出
18.4.6 ⼯作流调度
18.5 如何设计⼀个⼈机交互系统?
18.5.1 什么是⼈机交互系统?
18.5.2 如何设计⼈机交互系统的问答引擎算法架构?
18.5.3 如何处理长难句?
18.5.4 如何纠错?
18.5.5 什么是指代消解?如何指代消解?
18.5.6 如何做语义匹配?
18.5.7 如何在海量的向量中查找相似的TopN向量?
18.5.8 什么是话术澄清?
18.5.9 如何对结果进⾏排序打分?
18.5.10 如何评估⼈机交互系统的效果?
18.6 如何设计个性化推荐系统?
18.6.1 什么是个性化推荐系统?
18.6.2 如何设计个性化推荐系统的推荐引擎架构?
18.6.3 召回模块
18.6.4 排序模块
18.6.5 离线训练
第⼗⼋章 后端架构选型及应⽤场景
18.1 为什么需要分布式计算?
18.2 ⽬前有哪些深度学习分布式计算框架?
18.2.1 PaddlePaddle
18.2.2 Deeplearning4j
18.2.3 Mahout
18.2.4 Spark MLllib
18.2.5 Ray
18.2.6 Spark st ream
18.2.7 Horovod
18.2.8 BigDL
18.2.9 Pet astorm
18.2.10 TensorFlowOnSpark
18.3 如何进⾏实时计算?
18.3.1 什么是实时流计算?
18.3.2 实时流计算过程
18.4 如何进⾏离线计算?
18.4.1 数据采集
18.4.2 数据预处理
18.4.3 数据建模
18.4.4 ET L
18.4.5 数据导出
18.4.6 ⼯作流调度
18.5 如何设计⼀个⼈机交互系统?
18.5.1 什么是⼈机交互系统?
18.5.2 如何设计⼈机交互系统的问答引擎算法架构?
18.5.3 如何处理长难句?
18.5.4 如何纠错?
18.5.5 什么是指代消解?如何指代消解?
18.5.6 如何做语义匹配?
18.5.7 如何在海量的向量中查找相似的TopN向量?
18.5.8 什么是话术澄清?
18.5.9 如何对结果进⾏排序打分?
18.5.10 如何评估⼈机交互系统的效果?
18.6 如何设计个性化推荐系统?
18.6.1 什么是个性化推荐系统?
18.6.2 如何设计个性化推荐系统的推荐引擎架构?
18.6.3 召回模块
18.6.4 排序模块
18.6.5 离线训练
18.6.6 ⽤户画像
18.6.7 GBDT粗排
18.6.8 在线FM精排
18.6.9 算法介绍
18.6.10 如何评价个性化推荐系统的效果?
18.6.11 个性化推荐系统案例分析
18.7 参考⽂献
第⼗⼋章 后端架构选型及应⽤场景
18.1 为什么需要分布式计算?
Markdown Revision 1;
Date: 2018/11/11
Editor: 梁志成
Contact: superzhicheng@foxmail.com
第⼗⼋章 后端架构选型及应⽤场景
1/53
在这个数据爆炸的时代,产⽣的数据量不断地在攀升,从GB,TB,PB,ZB.挖掘其中数据的价值也是企业在不断地追求的终
极⽬标。但是要想对海量的数据进⾏挖掘,⾸先要考虑的就是海量数据的存储问题,⽐如Tb量级的数据。
谈到数据的存储,则不得不说的是磁盘的数据读写速度问题。早在上个世纪90年代初期,普通硬盘的可以存储的容量⼤
概是1G左右,硬盘的读取速度⼤概为4.4MB/s.读取⼀张硬盘⼤概需要5分钟时间,但是如今硬盘的容量都在1T B左右了,相⽐
扩展了近千倍。但是硬盘的读取速度⼤概是100MB/s。读完⼀个硬盘所需要的时间⼤概是2.5个⼩时。所以如果是基于T B级别
的数据进⾏分析的话,光硬盘读取完数据都要好⼏天了,更谈不上计算分析了。那么该如何处理⼤数据的存储,计算分析
呢?
⼀个很简单的减少数据读写时间的⽅法就是同时从多个硬盘上读写数据,⽐如,如果我们有100个硬盘,每个硬盘存储
1%的数据 ,并⾏读取,那么不到两分钟就可以完成之前需要2.5⼩时的数据读写任务了。这就是⼤数据中的分布式存储的模
型。当然实现分布式存储还需要解决很多问题,⽐如硬件故障的问题,使⽤多台主机进⾏分布式存储时,若主机故障,会出
现数据丢失的问题,所以有了副本机制:系统中保存数据的副本。⼀旦有系统发⽣故障,就可以使⽤另外的副本进⾏替换
(著名的RAID冗余磁盘阵列就是按这个原理实现的)。其次⽐如⼀个很⼤的⽂件如何进⾏拆分存储,读取拆分以后的⽂件如
何进⾏校验都是要考虑的问题。⽐如我们使⽤Hadoop中的HDFS也⾯临这个问题,只是框架给我们实现了这些问题的解决办
法,开发中开发者不⽤考虑这些问题,底层框架已经实现了封装。
同样假如有⼀个10TB的⽂件,我们要统计其中某个关键字的出现次数,传统的做法是遍历整个⽂件,然后统计出关键字
的出现次数,这样效率会特别特别低。基于分布式存储以后,数据被分布式存储在不同的服务器上,那么我们就可以使⽤分
布式计算框架(⽐如MapReduce,Spark等)来进⾏并⾏计算(或者说是分布式计算),即:每个服务器上分别统计⾃⼰存储
的数据中关键字出现的次数,最后进⾏⼀次汇总,那么假如数据分布在100台服务器上,即同时100台服务器同时进⾏关键字
统计⼯作,效率⼀下⼦可以提⾼⼏⼗倍。
18.2 ⽬前有哪些深度学习分布式计算框架?
18.2.1 PaddlePaddle
PaddlePaddle【1】是百度开源的⼀个深度学习平台。PaddlePaddle为深度学习研究⼈员提供了丰富的API,可以轻松
地完成神经⽹络配置,模型训练等任务。
官⽅⽂档中简易介绍了如何使⽤框架在
线性回归
识别数字
图像分类
词向量
个性化推荐
情感分析
语义⾓⾊标注
机器翻译
等⽅⾯的应⽤
Git hub地址:htt ps://git hub.com/PaddlePaddle/Paddle
18.2.2 Deeplearning4j
DeepLearning4J(DL4J)【2】是⼀套基于Java语⾔的神经⽹络⼯具包,可以构建、定型和部署神经⽹络。DL4J与
Hadoop和Spark集成,⽀持分布式CPU和GPU。
Deeplearning4j包括了分布式、多线程的深度学习框架,以及普通的单线程深度学习框架。定型过程以集群进⾏,也就
是说,Deeplearning4j可以快速处理⼤量数据。Deeplearning4j在开放堆栈中作为模块组件的功能,使之成为为微服务架构打
造的深度学习框架。
Deeplearning4j从各类浅层⽹络出发,设计深层神经⽹络。这⼀灵活性使⽤户可以根据所需,在分布式、⽣产级、能够
第⼗⼋章 后端架构选型及应⽤场景
2/53
剩余55页未读,继续阅读
开眼旅行精选
- 粉丝: 12
- 资源: 327
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0