载风月|深度学习中的内存管理问题研究综述( 三 )
包括DistBelief等在内的一些系统试图分割神经网络模型 , 从而在多个GPU上进行分布式训练 。 这种类型的训练方式通常被称为模型并行 , 其可以显著地缓解单个加速设备的内存压力 。 然而 , 由于多GPU之间需要频繁地通信来更新模型参数 , 导致它的性能较差 。
因此 , 需要通过内存管理解决现有内存分配策略带来的内存浪费问题 , 使得深度学习系统能够充分利用加速设备的算力和有限的内存资源 , 保证大规模神经网络在单个加速设备中能够快速训练 。
在训练过程中 , 加速设备的内存主要被3个部分消耗:存储正向传播中产生的特征映射、存储反向传播中的梯度映射以及卷积算法需要的额外内存空间 。 与之相比 , 模型的权值消耗的内存非常少 , 并且其通常在加速设备内存中长期存在 , 可以持续更新 。 在这3个部分中 , 后两个部分是临时内存 , 可以在当前计算完成后立即释放 。 正向传播和反向传播的计算都需要特征映射 , 只有在反向传播计算完成后 , 对应层的特征映射占用的内存空间才能够被释放 。 参考 文献[18]中也指出特征映射和卷积算法所需的缓存空间占据着主要的内存空间 。 因此 , 降低特征映射的内存消耗成为目前大多数工作的主要目标 , 而特征映射在正向传播和反向传播中参与的两次计算之间存在很大的时间间隔 , 这也为内存管理带来很多可能 。
经过训练的神经网络模型常常被部署在边缘计算设备中 。 在边缘计算设备中执行神经网络模型的推理阶段具有隐私保护和实时处理的优势 , 但是边缘计算设备往往具备更少的计算和内存资源 , 并且部分设备的能源是有限的 , 对应用能耗的要求很高 。 与训练阶段不同 , 在推理阶段 , 神经网络模型只执行正向传播的计算过程 。 因为没有反向传播过程来更新模型权值 , 所以正向计算过程中的中间结果不需要保存 。 因此 , 在推理阶段 , 计算设备的内存主要被模型的权值以及计算时所需的临时内存空间消耗 。 而这些内存需求已经给边缘计算设备带来了较大的内存开销 。 因此 , 在推理阶段进行内存管理也是必要的 。 优化模型结构是当前研究的主要方向 。 优化模型结构一方面能够通过剔除一些不必要的模型权值来降低模型的大小;另一方面能够优化层与层之间的连接 , 从而减少计算过程 。 通过优化模型结构能够有效地降低推理过程中的内存消耗 。
3 深度学习中内存管理的关键技术目前已经有很多工作致力于降低单个设备训练神经网络时的内存消耗 。 笔者从深度学习中内存管理用到的技术的角度对当前一些代表性工作进行分类阐述 , 并对其优缺点进行分析 。
3.1 内存交换内存交换技术是指在加速设备内存和主存之间交换数据 , 通过在不使用变量时将其从加速设备的内存交换到主存的方式来降低加速设备的内存消耗 , 并在下一次访问变量之前将其交换回加速设备内存 。 加速设备的内存容量相对于主存来说要小很多 。 例如 , 目前比较新的NVIDIA GPU V100最大只有32 GB的内存 , 而服务器中主存的大小通常在100 GB左右 , 甚至更大 。 内存交换能够交换几乎所有的设备内存数据 , 因此其能够大幅度地降低设备内存的占用率 。 在理想情况下 , 数据在主存和设备内存之间的通信可以隐藏在计算之下 , 从而最小化数据传输开销 。
Rhu等人提出了一个运行时内存管理解决方案 , 并将其称为虚拟深度神经网络(virtualized deep neural network ,vDNN) 。 vDNN在主存和GPU内存之间虚拟化了神经网络的内存使用 。 特征映射作为中间数据结构长期驻留在GPU内存中 , 并且消耗了大量的GPU内存 。 因此 , vDNN在正向传播时 , 将特征提取层的输出结果特征映射交换至主存中 , 从而降低GPU内存的占用;在反向传播时 , 及时地将其交换至GPU内存中参与梯度计算 。 为了减少传输时间 , vDNN将计算与数据传输并发进行 , 以此隐藏数据传输的时间 。 但是 , vDNN在每一层的末端同步数据计算和数据传输 , 也就是说 , 只有在计算和传输都完成之后 , 它才会继续下一层的计算 。 这可能导致GPU在开始下一层计算之前必须等待数据传输完成 。 数据在主存和GPU内存之间的传输时间并不能完全与GPU的计算时间重叠 , 笔者还观察到 , 卷积(CONV)层相对于激活(ACTV)层和池化(POOL)层有更长的计算时间 。 为了降低内存交换带来的性能损失 , vDNN也提供了只将CONV层的特征映射交换至主存的策略 , 这样就有更多的时间来隐藏由交换内存带来的通信时延 。 vDNN仅适用于分层的卷积神经网络 。
推荐阅读
- 上海市交通委员会|市交通委党组参加《民法典》学习会
- Java|计算机专业的本科生,该选择学习Java技术体系还是.NET技术体系
- 深度|创意信息:与成都市大数据股份有限公司签署深度合作协议
- |西装、奶奶针织衫显老气?深度解析“衣橱单品”,多看一眼就赚了
- 时尚穿搭生活馆|40、50岁女人就别穿“大妈装”了!学习博主减龄穿搭,洋气又减龄
- |西装、奶奶针织衫显老气?深度解析“衣橱单品”,建议你一定要看
- 中国新闻网|瓦努阿图群岛附近海域发生6.6级地震 震源深度10千米
- 环球网|【深度】突然驱逐15名中国公派留学生,美对华留学限制还将走多远……
- 消除"学历歧视",鹰视教育助力全民终身学习教育体系建设
- 光明网|回馈“山川异域,风月同天”中国援助抵达世界各地
