载风月|深度学习中的内存管理问题研究综述( 四 )
TensorFlow使用一个统一的数据流图来表示一个模型训练任务 。 图中的节点表示计算 。 在节点之间的边则保存张量信息 。 每个节点都由执行程序调度执行 。 可以将这个图看作训练任务的中间表示 , 因此对于模型来说 , 对这个图的优化是通用的和透明的 。 Chen等人通过修改数据流图的方式实现了内存交换的策略 。 根据对数据流图的分析 , 选择生命周期较长的特征映射作为交换到主机内存的目标 , 这有助于降低通信带来的开销 。 此外 , 过早地将其交换进来会加剧GPU内存的占用 , 而过晚地将其交换进来又会带来性能开销 , 因此需要选择合适的触发器来将交换出去的特征映射交换至GPU内存中 。 Chen等人评估了数据流图中每个节点的计算时间 , 以此为基础为每一个目标特征映射选择合适的触发器 。 优化后的数据流图可以直接在TensorFlow中运行 。 该方法适用于所有的神经网络模型 。
Chen等人应用数据卸载和数据预取的思想 , 使用启发式的调度算法完成数据传输 。 此外作者提到不同的CONV算法计算所需的内存空间大小不同 , 因此提出了动态选择CONV算法 , 根据当前设备内存的占用情况选择合适的CONV算法 , 最终使得内存占用和性能都得到优化 。 Jin等人提出了一种基于CPU-GPU数据迁移的层间内存复用策略 , 作者记录了在GPU中每一层数据的内存访问顺序 , 并跟踪被其他层引用的数据的引用计数 。 通过这种方式 , 可以建立训练过程的细粒度内存访问序列 , 以确定何时迁移数据 。 作者提出的方法能够有效地降低内存交换带来的性能损失 。
Wang等人创建了一个统一的张量池 , 实现了对张量的分配和释放 , 同时能够将一些张量交换至主存中 , 以降低GPU内存的占用 。 此外 , 运行时系统会尽可能地将通信与计算重叠 , 以保证训练性能 。 然而 , 计算的时间是固定的 , 因此这种重叠的机会是有限的 。 作者在GPU内存上创建了一个张量缓存 , 通过张量复用来最小化总通信开销 。
Peng等人提出了基于张量的GPU内存管理(tensor-based GPU memory management)方案——Capuchin 。 作者观察到 , 所有机器学习框架都基于数据流图执行DNN模型 , 其中处理过程是基于张量的运算 。 深度学习训练中的张量访问表现出数据重用和固定访问模式的特征 。 此外 , 一次训练过程通常由数百万次的迭代组成 。 作者还观察到 , 张量访问模式具有跨迭代的规律和重复访问的特点 , 通过分析时序和张量访问模式可以实现高效的内存管理 。 Capuchin通过动态分析模型训练时的张量访问特征 , 在主存和GPU内存之间精确地执行张量的卸载和预取操作 , 在保证训练性能的同时大幅降低了DNN模型训练时的内存占用 。
通过对神经网络训练过程中一些特征的观察 , 许多工作采用内存交换的方式进行训练时的内存管理 , 使得有限的GPU内存能够充分发挥作用 , 满足更深、更广的神经网络模型的训练需要 。 但是如何降低内存交换产生的性能损失还激励着研究者们不断探索新的内存交换策略 , 最终实现在保证训练性能的同时大幅降低设备内存占用的目的 。
3.2 重计算重计算技术的思想是将特征映射这样的中间结果在正向传播过程中及时地释放 , 在反向传播的计算需要用到特征映射时 , 再通过重新计算的方式生成 , 进而参与到当前计算中 。 这是一种利用计算来换取内存空间的思想 。 目前有一些工作采用这种方式进行神经网络训练时的内存管理 , 他们通常将计算成本低的中间结果作为重计算的目标 , 在保证训练性能的同时尽可能地减少内存消耗 。
Chen等人提出了一种GradientCheckpoint算法 。 具体地说 , 作者将神经网络划分成几个部分 , 算法只保留每部分的输出结果 , 删除了所有中间结果 。 在反向传播期间 , 如果需要用到被删除的结果 , 则根据每一部分保留的信息重新进行计算 。 该算法需要的内存空间包括存储每一部分输出结果的内存空间和每一部分反向传播计算时所需的最大内存空间 , 其通过一次额外的正向计算降低占用的内存 。 作者在该算法的基础上 , 对如何进行神经网络的划分以及选取重计算的目标数据做了进一步的探讨 , 最终实现了通过为每层增加一个额外的正向计算 , 即可训练一个只有
推荐阅读
- 上海市交通委员会|市交通委党组参加《民法典》学习会
- Java|计算机专业的本科生,该选择学习Java技术体系还是.NET技术体系
- 深度|创意信息:与成都市大数据股份有限公司签署深度合作协议
- |西装、奶奶针织衫显老气?深度解析“衣橱单品”,多看一眼就赚了
- 时尚穿搭生活馆|40、50岁女人就别穿“大妈装”了!学习博主减龄穿搭,洋气又减龄
- |西装、奶奶针织衫显老气?深度解析“衣橱单品”,建议你一定要看
- 中国新闻网|瓦努阿图群岛附近海域发生6.6级地震 震源深度10千米
- 环球网|【深度】突然驱逐15名中国公派留学生,美对华留学限制还将走多远……
- 消除"学历歧视",鹰视教育助力全民终身学习教育体系建设
- 光明网|回馈“山川异域,风月同天”中国援助抵达世界各地
