Arimo利用Alluxio的内存能力提升深度学习模型的结果效率(Time

  • 时间:
  • 浏览:0

角度学习模型在当模型很大和在大规模数据集上训练时表现良好。为了加速模型的训练过程,亲们 肯能实现了在Spark和Tensorflow之间作为常用存储层的Alluxio。

亲们 利用协正确处理器的内存级存储波特率单位和协正确处理能力来正确处理磁盘IO瓶颈,有过后为训练数据预正确处理和整体模型更新实现了并发。初始结果表明,你你什儿 土办法要能将模型训练过程加速最多60 %。

亲们 期待着将Alluxio用于其它的用例以及产品集成。

角度学习算法通常被一点具体应用所采用,其中比较显著的应用领域包括计算机视觉、机器翻译、文本挖掘、欺诈检测等。角度学习的土办法在大模型加大数据的场景下效果显著。与此一起去,被设计用来正确处理大数据的分布式计算平台(如Spark)也日益应用广泛。有过后,通过在Spark平台上开发角度学习计算框架,角度学习的应用领域还时需变得更加广泛,企业完正还时需在已有的Spark基础设施上使用角度学习。

你你什儿 方案的结果是,通过减少Spark workers和参数服务器的通信开销,要能将模型训练过程显著地加速60 %。



1.利用协同正确处理,子序列和标签的准备在数据帧创建后还时需马上过后开始进行。很多很多当亲们 执行其它无关操作的很久,这每种训练数据就肯能悄悄地被准备好并按序排好,守候后续模型训练的使用。

2.Alluxio的内存级波特率单位存储缓解了亲们 将训练数据持久化到HDFS的时需,从而减少了磁盘IO。

你你什儿 土办法性能高、优雅且非常有效。浪费得到了最小化,甚至通过协正确处理器还时需得到消除。亲们 在后台悄悄地生成批数据,有过后训练模型不断消耗肯能排序好的批次数据,直到模型效果令人满意为止。在数据生成和导入(feed)阶段之间,数据老要排好序有过后被缓冲的。计算密集型的数据准备阶段还要能了当模型训练停止的很久才会停止。

流线型和无浪费,你你什儿 基于Alluxio的土办法很多很多 亲们 所认为的大规模数据准备和模型训练的“丰田标准”。

火热的开源角度学习框架如Tensorflow自身具有一套分布式模型训练体系架构,通常使用一个多多 GPU集群来对训练数据的不同每种一起去计算梯度。然而,哪些训练框架对大规模数据集做ETL的能力还非常有限。

一个多多 土办法是使用Spark预正确处理数据为Tensorflow服务器所用。然而,那我做的缺点是会是因为很低的生产率。

间题1:训练数据生成过程中的瓶颈在Arimo,亲们 每天都跟大规模时间序列数据打交道。大规模数据和复杂化的学习间题通常涉及密集的、耗时的ETL正确处理,而时间序列数据又尤其富足挑战性。你你什儿 类型数据的建模要求:(1)随着时间生成大量的子序列和它们关联的标签 (2)将子序列重塑为多维张量。

版权申明:本文由南京大学顾荣等专家翻译架构设计 自Alluxio公司技术博客,由Alluxio公司授权云栖社区及CSDN首发(联合),版权归Alluxio公司所有,未经版权所有者同意请勿转载。

通过正确处理磁盘IO和利用以内存为中心的共享文件系统Alluxio的优势,亲们 还时需将数据从Spark向Tensorflow服务器之间放慢地移动。让亲们 看下图:



在2015 Strata + Hadoop World NYC上,亲们 发布了有史以来第一个多多 可扩展的、基于Spark和Alluxio的分布式角度学习框架,亲们 把它称为Alluxio协正确处理器(Co-Processor on Alluxio(“Co-Proccessor”))。它中有 了前馈神经网络,卷积神经网络(CNN)以及循环神经网络(RNN)的实现。协正确处理器为Alluxio增加了一定的计算功能。具体来说,其运行一个多多 本地进程监控衍生的目录有过后架构设计 它们。该设计思路是不仅将Alluxio用作Spark的workers之间的常用存储层,还将其用作一个多多 模型更新者以支持大模型的训练。通过Alluxio的分布式内存执行模型,该协正确处理器框架为单机无法正确处理的巨大模型提供了本身生活可扩展的正确处理土办法。





图1. Alluxio架构上的协正确处理器

每个Spark的worker都只正确处理一批训练数据中的一每种,计算梯度,并发送回协正确处理器上的参数服务器。参数服务器不仅仅架构设计 梯度信息,同都会作为一个多多 协正确处理器执行(梯度)下降操作,有过后更新存储在Alluxio上的模型(进程B)。值得注意的是,进程A和B基本上是异步居于的。

那我的设计让亲们 正确处理了:

进程A(计算梯度):Spark的workers计算梯度,正确处理数据的并行划分

进程B(更新参数):Alluxio执行(梯度)下降操作,更新主模型

间题3:训练数据过程中的巨大浪费一个多多 有趣且重要的间题是,亲们 实际上不时需一次性拿到60 %的训练数据要能训练出更好的模型。这是因为首先生成整个训练数据有过后再进行批正确处理的土办法极为浪费。你你什儿 想法利于亲们 放弃批正确处理土办法,转而采用本身生活更加高效的流式土办法。

间题2:训练数据迁移过程中的瓶颈为了将训练数据在Spark和Tensorflow之间移动,亲们 通常时需将整个正确处理后的数据集合持久化到HDFS肯能一点分布式文件系统中。这就不可正确处理地在写数据和读数据中制造了两次磁盘IO瓶颈。以时间序列建模来说,你你什儿 间题在训练数据达原始数据的数十倍之大时是极其严重的。