首页 科技 正文

人工智能训练的最大障碍不是计算能力,而是内存墙

子豪 发自 凹非寺量子位 报道 | 公众号 QbitAI

AI演习的较量争论量每一年都在大年夜幅增加,比来有研究指出,AI演习将来的瓶颈不是算力,而是GPU内存。

AI加速器平居会简化或删除其他部分,以提高硬件的峰值较量争论能力,然则却难以解决在内存和通讯上的坚苦。

不管是芯片内部、芯片间,照样AI加速器之间的通讯,都已成为AI演习的瓶颈。

Transformer模子中的参数数量(红色)显现出2年240倍的超指数增加,而单个GPU内存(绿色)仅以每2年2倍的速度扩大年夜。

△多年来SOTA模子的参数数量(红点)和AI加速器存储容量(绿点)的演化

演习AI模子的内存需求,平居是参数数量的几倍。由于演习需要存储中央激活,平居会比参数(不含嵌入)数量增加3-4倍的内存。

是以,AI演习不成避免地撞上了“内存墙”(Memory Wall),内存墙不然则内存容量,也包孕内存传输带宽。

在良多环境下,数据传输的容量和速度,都没有触摸到内存墙。

从图中可以看出,每当GPU内存容量增加时,开辟人员就会设计出新模子;

2019年GPT-2所需的内存容量,已是2012年的AlexNet的7倍以上;

自谷歌团队在2017年提出Transformer,模子所需的内存容量最早大年夜幅增加。

为何不克不及靠多GPU堆显存

那末,为了脱节单个硬件的有限内存容量和带宽,是不是可以将演习扩大到多个AI加速器,利用漫衍式内存呢?

事实上,如许做也接见会面临内存墙的问题,神经收集加速器之间移动数据的通讯瓶颈,甚至比芯片上的数据移动还慢且低效。

与单系统内存的环境近似,扩大带宽的手艺坚苦还还没有被霸占。仅在很少的通讯和数据传输的环境下,横向扩大才适用于较量争论密集型问题。

从图中可以看出,20年间,运算设备的算力提高了90,000倍;

当然存储器从DDR成长到GDDR6x,可以或许用于显卡、游戏终端和高性能运算,接口标准也从PCIe1.0a升级到NVLink3.0;

然则和算力的提高幅度比拟,通讯带宽的增加只有30倍,可以说异常缓慢。

由于算力和内存之间的差距愈来愈大年夜,演习更大年夜的模子也会加倍坚苦。

若何打破“内存墙”

若何解决内存限制问题?作者从三个方面进行了申明。

演习算法的改良

演习神经收集模子的一大年夜挑战,就是要进行蛮力超参数调剂。当然可以颠末历程二阶随机优化方式来实现,不外今朝的方式却增加了3-4倍的内存占用,这一点仍需解决。

微软的Zero方式(一种万亿级模子参数演习方式),实现了在不异内存下,颠末历程去除多余的优化状态变量,来演习8倍大年夜的模子。

也可以或许在传递历程当中只存储或搜检激活的子集,而不留存所有激活,以此将内存占用削减5倍,不外需要增加20%的较量争论量。

别的,从单精度算法到半精度(FP16)算法的进展,使硬件较量争论能力提高了10倍以上,可以进一步研究适合INT8精读演习的优化算法。

高效布置

最新的SOTA模子(例如:GPT-3)需要漫衍式内存布置,这是一个很大年夜的挑战。可以颠末历程下降精度或删除其冗余参数,来紧缩这些模子,以进行推理。

在演习或推理历程当中,可以下降至INT4精度,模子占用空间和延迟可以或许削减8倍。不外,想要将演习精度下降到远低于FP16,依然很坚苦。

而删除冗余参数,则可能致使正确率下落。当前的方式可以或许修剪30%的具有布局化稀少性的神经元,和80%的具有非布局化稀少性的神经元,以包管对正确性的影响最小。

AI加速器的设计

当然很难同时提高存储带宽和峰值较量争论能力,然则可以牺牲峰值较量争论,以获得更好的带宽。

在带宽受限问题上,CPU的性能要比GPU好很多,然则与比拟GPU比拟,CPU的峰值较量争论能力要小一个数量级阁下。

是以,可以研究一种在两者之间的别的一种架构,实现更高效的缓存。

研究数据可戳下方链接查看~

https://medium.com/riselab/ai-and-memory-wall-2cb4265cb0b8https://github.com/amirgholami/ai_and_memory_wall

非特殊说明,本文由原创资讯网原创或收集发布。

转载请注明本文地址:http://www.lcvip.net/kj/2377.html