解秘:百度PaddlePaddle深度学习框架和搜索引擎根本架构 8090安适门户
解秘:百度PaddlePaddle深度学习框架和搜索引擎根本架构
前不久在百度世界大会上,百度首席科学家吴恩达初度公布发表对外开放百度深度学习平台,以敦促人工智能技术的快速普及,把在搜索、图像识别、语音识别、自然语言措置惩罚惩罚、用户画像及感情分析等人工智能范围的优势整合升级,为措施开发者供给了一个成果更全、效果更好的深度学习框架。
其实,百度很重视对付开源软件的使用,也愿意把内部的技术以开源的形式孝敬出来,正如在10月22号由百度开发者中心、百度开源委员会联合举办的第67期“百度开源专场”技术沙龙上,来自百度的工程师于洋和颜世光,分袂分享了百度开源的两个最新项目:PaddlePaddle 百度深度学习框架和百度搜索架构开源产品线(例如 Tera、BFS、Galaxy 等),并结合具体的产品案例,分享百度开源技术最新实践经验。目前这些项目都已经在 github/baidu 上开源。
什么是 PaddlePaddle 深度学习平台?首先做个简单的介绍,PaddlePaddle 是百度自主研发的性能优先、灵活易用的深度学习平台,是一个已经解决和将要解决一些实际问题的平台。目前百度有赶过30个主要产品都在使用 PaddlePaddle。关于机器学习、深度学习和浅层学习的内容就不详细介绍了,接下来重点讲述一下 PaddlePaddle 的整体架构。
关于 PaddlePaddle 整体架构
说到 PaddlePaddle 的整体架构,主要从这几个方面入手:多机并行架构、多 GPU 并行架构、Sequence 序列模型和大规模稀疏训练。多机的并行架谈判序列模型的实现都是实现神经网络最庞大的对象,那么具体怎么实现全连接?
PaddlePaddle 是2013年启动时对照风行的架构是 Pserver 和 Trainer 的架构。在多机并行架构中数据分配到差别节点,下图里灰色部分暗示机器,方框里暗示一个进程,Pserver 和 Trainer 是漫衍在两个进程里,中间的部分是网络通讯连接。
下面来介绍一下什么是大规模稀疏模型训练。稀疏模型训练是说输入数据是稀疏的,由于稀疏输入,那么灰色的神经元和连接在训练中都没有感化,灰色神经元的输出是0,灰色连接的梯度是0,梯度是0的话,简单的 SGD 不更新权重。所以只有蓝色的连接有价值,需要从 PServer 处事器获得最新参数,需要计算梯度,并将梯度传送回参数处事器。(如下图)
除了上面所提到的,还有两外两种情况下的稀疏模型:
大规模稀疏模型(多机器)——每个 Trainer Prefetch 出自身需要的参数和处事器通信。
大规模稀疏模型(正则化)——简单的 SGD 确实在梯度为0的时候,不去更新参数,但是加上正则化就不必然了;好比L2正则化,就要求参数的2范数连续减小。
PaddlePaddle 实现时的一些思考
基于 OP(操纵)还是基于 Layer(层)?
基于 OP——从矩阵乘法配起,一步一步对应一个一个数学运算。
基于层——直接写一个全连接层,LSTM 层。
基于 OP 的优势 Tensorflow——更灵活,更可以让研究人员结构新的对象
基于 Layer 的优势 Caffe——更易用,让细节袒露的更少;更容易优化。
基于 OP 还是基于 Layer?——撑持大部分 Layer,但是也撑持从 OP 开始配网络(矩阵乘发,加法,激活等等);对付成型的 Layer(LSTM)使用 C++从头优化。原因在于,PaddlePaddle 是企业解决现有问题的框架,不是纯粹的科研框架;企业需要性能,也需要灵活性。
多机通信基于 MPI 还是 Spark 还是 K8s + Docker?PaddlePaddle 底层通信不依赖于任何网络框架,PaddlePaddle 的网络任务需求相对简单,泉源在于任务周期短(持续运行几周);任务可以掉败(多存checkpoint)。同时,PaddlePaddle 的网络需要高性能,从新手写网络库更便利性能调优,RDMA 可以更好的撑持。同理,PaddlePaddle 底层不依赖任何 GPU 通信框架。
百度搜索开源根本架构颜世光是百度搜索根本架构卖力人,在此次沙龙上介绍了百度当前的这套搜索引擎,以及搜索引擎背后的事件。重点部分是百度这套开源的根本架构软件站,它包孕漫衍式数据库、文件系统、打点系统、漫衍式协调整排遣事、网络通信框架。下面来一一介绍。
当前,用户通过互联网搜索引擎的期望在不停的变革,整个搜索引擎的期望从之前的几周酿成此刻的几分钟,之前几周之内可以措置惩罚惩罚几百亿的数据,此刻要在几分钟之内措置惩罚惩罚几万亿的数据,这是个鲜明的矛盾。其实解决方案就是构建一个大数据措置惩罚惩罚平台,也称之为“根本架构系统”。这个根本架构系统方针首先是海量的方针数据。其次就是在于集群操作率的保证,这个操作率可能是 CPU 操作率,它会为你节省本钱。
温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/pc/13322.html