笔记:AI芯片的算法优化

众所周知,深度学习的成功依赖大量神经网络的深度模型,这些模型的存储量可以达到几十兆Bytes到几百兆Bytes,在训练期间更是会达到十几亿次的运算。例如,我们熟悉的ResNet50,其权重和激活的存储量在int8格式下分别为25.5MB和10.1MB,计算量有77亿次。这样的算法复杂性给AI的广泛部署带来了巨大挑战,特别是在资源受限的边缘测环境中,在内存、功耗和模型精度方面都面临严重挑战。因此,对算法模型进行优化,是非常必要且势在必行的。

目前的AI芯片算法优化主要有三个方向:降低位宽、模型压缩、增加稀疏性。这些方法有些已有成熟的产品实现,有些则还停留在实验室样片阶段,通常都需要专门的硬件来支撑。

1. 降低数值精度的量化技术

模型参数的数值精度(或称位宽)会影响到网络训练和推理的性能及效率。深度学习的一个特征是,它不需要很高的计算精度。降低CNN权重的位宽,可以显著降低存储要求和计算复杂性,因此受到越来越多的关注。但不当的量化会带来输出精度的损失。为了避免降低数值位宽之后引入的AI系统在训练阶段的精度损失,近年来很多研究人员对此做了大量研究,并提出了各种改进方案。例如,"多种精度混合"的自适应方法,会根据不同的需求进行位宽的灵活变换,从而在满足降低存储和计算量的同时,最大限度地保持训练精度。再比如,Google发明的16 bit脑浮点(Brain Floating Point, bf16 或bfloat16),与fp16相比增加了动态范围,与fp32相同,但能以fp32一半地位宽完成任务,从而使吞吐量翻倍,内存需求减半。bf16格式一直是第二代和第三代TPU的主力浮点格式,且也逐渐得到因特尔、ARM和一些初创公司的采用。

目前,通常采用的方案是,使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值