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

  • 时间:
  • 浏览:1



1.利用协同补救,子序列和标签的准备在数据帧创建后时要马上开使进行。就说 当让让他们 执行其它无关操作的前一天,这帕累托图训练数据就可能悄悄地被准备好并按序排好,等待歌曲后续模型训练的使用。

2.Alluxio的内存级下行速率 存储缓解了让让他们 将训练数据持久化到HDFS的时要,从而减少了磁盘IO。

你这种最好的法子 性能高、优雅且非常有效。浪费得到了最小化,甚至通过协补救器时要得到消除。让让他们 在后台悄悄地生成批数据,而且 训练模型不断消耗可能排序好的批次数据,直到模型效果令人满意为止。在数据生成和导入(feed)阶段之间,数据总爱排好序而且 被缓冲的。计算密集型的数据准备阶段只有当模型训练停止的前一天才会停止。

流线型和无浪费,你这种基于Alluxio的最好的法子 就说 让让他们 所认为的大规模数据准备和模型训练的“丰田标准”。

每个Spark的worker都只补救一批训练数据中的一帕累托图,计算梯度,并发送回协补救器上的参数服务器。参数服务器不仅仅挂接梯度信息,同都会作为有一个 协补救器执行(梯度)下降操作,而且 更新存储在Alluxio上的模型(任务管理器B)。值得注意的是,任务管理器A和B基本上是异步占据 的。

曾经的设计让人门 补救了:

在2015 Strata + Hadoop World NYC上,让让他们 发布了有史以来第有一个 可扩展的、基于Spark和Alluxio的分布式下行速率 学习框架,让让他们 把它称为Alluxio协补救器(Co-Processor on Alluxio(“Co-Proccessor”))。它含高了前馈神经网络,卷积神经网络(CNN)以及循环神经网络(RNN)的实现。协补救器为Alluxio增加了一定的计算功能。具体来说,其运行有一个 本地任务管理器监控衍生的目录而且 挂接它们。该设计思路是不仅将Alluxio用作Spark的workers之间的常用存储层,还将其用作有一个 模型更新者以支持大模型的训练。通过Alluxio的分布式内存执行模型,该协补救器框架为单机无法补救的巨大模型提供了你这种可扩展的补救最好的法子 。





图1. Alluxio架构上的协补救器

通过补救磁盘IO和利用以内存为中心的共享文件系统Alluxio的优势,让让他们 时要将数据从Spark向Tensorflow服务器之间快一点 地移动。让人门 看下图:



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

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

任务管理器A(计算梯度):Spark的workers计算梯度,补救数据的并行划分

任务管理器B(更新参数):Alluxio执行(梯度)下降操作,更新主模型

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

火热的开源下行速率 学习框架如Tensorflow自身具有一套分布式模型训练体系架构,通常使用有一个 GPU集群来对训练数据的不同帕累托图并肩计算梯度。然而,那此训练框架对大规模数据集做ETL的能力还非常有限。

有一个 最好的法子 是使用Spark预补救数据为Tensorflow服务器所用。然而,曾经做的缺点是会是因为着很低的生产率。

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

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

让让他们 利用协补救器的内存级存储下行速率 和协补救能力来补救磁盘IO瓶颈,而且 为训练数据预补救和整体模型更新实现了并发。初始结果表明,你这种最好的法子 并能将模型训练过程加速最多1000%。

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

问题3:训练数据过程中的巨大浪费有一个 有趣且重要的问题是,让让他们 实际上不时要一次性拿到1000%的训练数据并能训练出更好的模型。这是因为着分析首先生成整个训练数据而且 再进行批补救的最好的法子 极为浪费。你这种想法促使让让他们 放弃批补救最好的法子 ,转而采用你这种更加高效的流式最好的法子 。

下行速率 学习算法通常被你这种具体应用所采用,其中比较显著的应用领域包括计算机视觉、机器翻译、文本挖掘、欺诈检测等。下行速率 学习的最好的法子 在大模型加大数据的场景下效果显著。与此并肩,被设计用来补救大数据的分布式计算平台(如Spark)也日益应用广泛。而且 ,通过在Spark平台上开发下行速率 学习计算框架,下行速率 学习的应用领域时要变得更加广泛,企业详细时要在已有的Spark基础设施上使用下行速率 学习。