IBM正在研制通用型深度学习芯片

人工智能快报2018-11-08 19:13:56

IBM正在研制一种可兼顾高精度学习和低精度推理的深度学习芯片。

深度学习领域仍在不断发展,特别地,专家们认识到如果芯片能够使用低精度的计算方式得出近似答案,神经网络就可以用很少的资源完成大量的计算。这在移动设备和其他功率受限的设备中尤其有用。但对某些任务,尤其是训练神经网络去完成某些事情的任务来说,精确性仍然是必需的。IBM最近在IEEE VLSI 研讨会上展示了其最新的解决方案(目前仍然是原型):一款在上述两方面都有良好表现的芯片。

训练神经网络与使用该网络执行其功能(称为推理)的需求之间存在脱节,这对那些从事于设计芯片以加速AI功能的人来说是一个巨大的挑战。IBM的新型AI加速器芯片能够满足该公司提出的所谓范围精度(scaled precision)要求。也就是说,它可以在32位、16位,甚至1位或2位模式下进行训练和推理。

IBM约克镇高地(Yorktown Heights)研究中心的杰出技术人员、该项工作的领导者Kailash Gopalakrishnan解释说:“在训练中,你能够使用的最好精度是16位,而在推理中可以应用的最好精度是2位。这个芯片可能涵盖了目前已知的最佳训练和最好推理。”

该芯片能够获得上述表现的原因来自于两项创新,而这两项创新的目标都是实现相同的结果——保持所有处理器组件能够得到数据和工作。

Gopalakrishnan说:“在深度学习方面,传统芯片架构面临的挑战之一是利用率一般非常低。”也就是说,即使芯片可能具有非常高的峰值性能,通常只有20%到30%的资源能够被用于解决问题。IBM始终将所有任务的目标定为90%。

利用率低通常是因为存在于芯片周围的数据流瓶颈。为了突破这些信息障碍,Gopalakrishnan的团队开发了一个“定制”的数据流系统。该数据流系统是一种网络方案,可以加速数据从一个处理引擎到下一个处理引擎的传输过程。它还针对要处理的是学习任务还是推理任务以及不同的精度进行了优化。

第二项创新是使用专门设计的“便笺本”形式的片上存储器,而不是CPU或GPU上的传统高速缓冲存储器。构建高速缓存是为了遵守某些对一般计算有意义的规则,但会导致深度学习的延迟。例如,在某些情况下,缓存会将一大块数据推送到计算机的主存储器(强制推送),但如果神经网络的推理或学习过程需要用到该数据,则系统将不得不保持等待状态,直到可以从主存储器中检索到该数据。

便笺本遵循不同的规则。构建它的目标是为了保持数据流经芯片的处理引擎,并确保数据在恰当的时间处于正确的位置。为了获得90%的利用率,IBM必须使设计出的便笺本具有巨大的读/写带宽(每秒192千兆字节)。

由此产生的芯片可以执行当前所有的三种主要深度学习AI:卷积神经网络(CNN)、多层感知器(MLP)和长-短期记忆(LSTM)。Gopalakrishnan解释说,这些技术共同主导了语言、视觉和自然语言处理。在16位精度(尤其是针对训练)情况下,IBM的新芯片能够在每秒钟内执行1.5万亿次浮点运算;在2位精度下(推理的最佳设置)则跃升到每秒12万亿次运算。

Gopalakrishnan指出,由于芯片是采用先进的硅CMOS工艺(GlobalFoundries的14纳米工艺)制造的,每秒钟内发生的所有这些操作都被限制在一个相当小的区域内。为了推理出一个CNN网络,该芯片可以在每平方毫米内每秒执行平均1.33万亿次操作。这个数字很重要,“因为在很多应用中,你的成本受到尺寸的限制,”他说。

新的架构也证明了IBM研究人员几年来一直在探索的东西:如果以高得多的精度训练神经网络,真正低精度的推理就无法正常进行。Gopalakrishnan说:“当低于8位时,训练与推理将开始直接相互影响。一个在16位模式下训练但以1位模式部署的神经网络系统将出现无法接受的重大错误。因此,以与最终部署方式类似的精度训练网络将带来最好的结果。”

尚无任何消息披露这项技术什么时候可能以Watson或其他形式进行商业化,但Gopalakrishnan的领导、IBM半导体研究所的副总裁Mukesh Khare表示希望它能够发展和改进。他说:“这只是冰山一角,我们正在进行更多创新。”

Copyright © 古田计算器虚拟社区@2017