论文部分内容阅读
当面临越来越庞大的数据集、亦或是规模较大的分布式集群环境时,LSTM算法进行时间序列预测分析会暴露出较为明显的训练效率问题,为此,本文提出了一种并行化LSTM的解决方案。该解决方案主要依靠YARN框架针对大数据的处理能力和分布式资源调度能力,以及TensorFlow架构提供的分布式框架设计,将两者进行结合,将YARN框架作为顶层的任务分配和资源调度模块,TensorFlow架构作为中间层,衔接底层的并行化LSTM算法和顶层的YARN架构,LSTM算法也通过切片分组的方式进行并行化修改。文章重点说明了YARN层与TensorFlow层的适配方案,通过对原有框架的修改,保留其对资源调度和任务分配方面的功能,将TensorFlow封装在YARN框架的节点容器中,通过相关机制,YARN可以向下层的TensorFlow发布任务,并快速提供所需资源。而关于LSTM算法的并行化解决方案,则主要是基于时间片进行切片的方式进行分组,在组内串行训练,组间并行化训练,一轮训练结果作为二轮的输入,重复进行,多次迭代,直到得到最终训练结果为止。此外,文章介绍了作为桥梁的TensorFlow框架的分布式架构设计,采用镜像策略,但对数据切片分组的方式进行自定义修改,使其适配并行化LSTM算法。文章针对YARN框架的负载均衡机制进行了自定义修改,通过Pynvml扫描获取GPU占用率,通过修改原有YARN框架权重计算机制使其考虑GPU占用率来进行资源调度和负载均衡。另一方面,通过合并矩阵运算的形式,文章也针对TensorFlow框架中的LSTM运算流程进行了优化。最后,文章设计了多个对照实验,通过实验验证了上述解决方案在处理大规模数据和分布式集群环境时的可用性。