开发者社区> 问答> 正文

当模型增长,GPU的显存常常成为训练大模型的瓶颈。EPL提供了多维度的显存优化技术,具体有哪些呢?

当模型增长,GPU的显存常常成为训练大模型的瓶颈。EPL提供了多维度的显存优化技术,具体有哪些呢?

展开
收起
岩茶芋泥 2022-04-20 11:08:18 1852 0
来自:阿里技术
1 条回答
写回答
取消 提交回答
  • 1、重算 Recomputation (Gradient Checkpoint):正常的DNN前向过程中会生成activation,这部分activation会在后向过程中用于梯度计算。因此,在梯度生成之前,前向的activation会一直存留在显存中。activation大小和模型结构以及batch size相关,通常占比都非常高。Gradient Checkpoint (GC) 通过保留前向传播过程中的部分activation,在反向传播中重算被释放的activation,用时间换空间。GC中比较重要的一部分是如何选择合适的checkpoint点,在节省显存、保证性能的同时,又不影响收敛性。EPL提供了自动GC功能,用户可以一键开启GC优化功能。 2、ZeRO:在数据并行的场景下,每个卡上会存放一个模型副本,optimizer state等,这些信息在每张卡上都是一样,存在很大的冗余量。当模型变大,很容易超出单卡的显存限制。在分布式场景下,可以通过类似DeepSpeed ZeRO的思路,将optimizer state和gradient分片存在不同的卡上,从而减少单卡的persistent memory占用。 3、显存优化的AMP(Auto Mixed Precision):在常规的AMP里,需要维护一个FP16的weight buffer,对于参数量比较大的模型,也是不小的开销。EPL提供了一个显存优化的AMP版本,FP16只有在用的时候才cast,从而节约显存。 4、Offload: Offload将训练的存储空间从显存扩展到内存甚至磁盘,可以用有限的资源训练大模型。 同时,EPL支持各种显存优化技术的组合使用,达到显存的极致优化。阿里云机器学习PAI团队在T5模型上开启了GC+ZeRO+显存优化的AMP技术,在性能保持不变的情况下,显存降低2.6倍。

    2022-04-20 13:26:44
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
端到端GPU性能在深度学学习场景下的应用实践 立即下载
DeepStream: GPU加速海量视频数据智能处理 立即下载
阿里巴巴高性能GPU架构与应用 立即下载