尽管目前IBM的硬件业务仅限于电力和大型机芯片和系统,但这家科技巨头正在悄悄地打造自己在人工智能硬件方面的专长和能力。任何人都不知道这将会以怎样的方式结束,但是这里有一些关于IBM正在做什么的想法和猜测。
IBM研究人工智能硬件
IBM于2019年初成立了IBM人工智能硬件研究中心,与纽约州立大学理工学院(SUNY Polytechnic Institute)以及梅拉诺克斯(Mellanox)、三星(Samsung)和Synopsys等科技公司合作,开展人工智能芯片研究。该中心对人工智能硬件采取整体的、端到端的方法,致力于实现其在未来10年将人工智能性能提高1000倍的积极目标。这从我们将在这里讨论的降低精度的技术开始。同时,该中心还在开发新的数字和模拟人工智能核心,以实现这些创新。路线图的最高目标是创造新的核心,由目前不用于半导体制造的外来材料制成。
![4873bc6b8a4cb308cddf566de3909960.png](https://i-blog.csdnimg.cn/blog_migrate/2fee91cb7c7c110bf3afe7eebbb4a5b0.jpeg)
IBM最近发表了两篇论文,描述了其降低精度的方法,即在保持预测准确性的同时提高人工智能处理效率。从根本上说,过去4-5年,人工智能研究一直在利用由英伟达(NVIDIA)和谷歌领导的精度较低的数字和数学运算。如果“降低精度”听起来像一件坏事,那么请记住,更高的精度需要付出相当大的代价,即使用位数长度的平方。因此,从32位到16位将计算速度(或降低成本)提高了4倍。谷歌最近提出了一种新的16位格式,称为Bfloat,与IEEE 16位浮点标准相比,它对指数使用更多的位,对尾数使用更少的位。与传统的32位格式相比,这样做可以在节省功耗和芯片空间的同时保持准确性。英特尔就是其中之一。然而,研究人员在努力实现下一个8位浮点数时,却很难保持准确性。
本周,IBM提出了一种“混合的8位浮点数”格式,这种格式可以提高性能或降低4倍的成本。也就是说,如果有人(IBM?)生产了一种可以执行这些计算的训练芯片,它就会使用经过适当“量化”的8位格式的dnn。这些操作的“混合”性质源于正向传播计算和反向传播计算所需的不同精度要求。通过将用于指数和尾数的位的数目裁剪为向前和向后通过计算,IBM证明了人们确实可以训练一个用于视觉、语音和语言处理的神经网络,只需要8位就可以进行加权和激活。而且,它的精度可以与16位数学计算的结果相媲美。此外,这些更小的数字可以更有效地通过芯片进行通信,进一步减少了30-60%的培训时间。
如果所有这些数学计算听起来很复杂,其好处却很简单。这种方法理论上可以使一个人建立一个芯片培训深层神经网络紧使用¼芯片区域,或者同时提供4倍的性能成本。
![6a87fa54c6da24169e22bdcdcd663168.png](https://i-blog.csdnimg.cn/blog_migrate/f30b770d09b972ee3ae8570a9471b95a.jpeg)