登录注册   忘记密码

AI GPU时代结束?IBM展示新型8位数字和模拟AI芯片

随着在美国旧金山举行的国际电子组件会议(IEDM)以及在加拿大蒙特利尔举行的神经信息处理系统大会(NeurlPS)双双启动,对于任何希望迎头赶上人工智能(AI)研发进展步伐的人来说,最近正是把握庞大机会的最佳时刻。


例如,IBM研究人员介绍其打造数字和模拟AI芯片的新AI途径。IBM声称其数字AI芯片首次展现“使用8位浮点数成功训练深度神经网络(DNN),同时在一系列深度学习模型和数据集上完整保持准确性(accuracy)。”


另外,IBM研究人员在IEDM还展示了一款模拟AI芯片,采用了8位精度(precision)的内存(in-memory)乘法以及相变内存。


IBM Research-Almaden副总裁兼实验室主任Jeffrey Welser在接受《EE Times》访问时指出,“我们确实认为目前进行中的这些工作——例如试图降低精度以提高性能提升并降低功率——对于持续推进AI非常重要。”。


这一点至关重要。Weiser解释说,因为这个世界正从“狭义AI”(narrow AI)转变为“广义AI”(broad AI),例如我们从“用AI在因特网上辨识猫”进展到“分析医学影像,或者我们希望能够将文本和成像信息整合在一起,以提出解决方案”。


他补充说:“所有这些更广泛的问题需要更大的神经网络、更大的数据集和多模态数据集...... (为此),我们需要改变架构和硬件来实现这一切。”


Weiser认为IBM发表的两篇论文可看出“一连串有趣的进展”,有助于使业界走向(广义AI)的未来。


市场研究公司Linley Group总裁兼首席分析师Linley Gwennap说:“机器学习继续迅速发展。现有硬件无法有效处理研究人员建构的最大神经网络,因此他们正在寻找各种新方法来提高性能和效率。”


Gwennap补充说,这些新的发展将会对于硬件供应商带来巨大压力,因为芯片公司“必须灵活、快速地在这个混乱的市场中生存”。


AI 的GPU时代结束

IBM大胆预测GPU在AI领域的主导地位即将结束。


Welser说:“GPU能够为绘图处理进行大量的平行矩阵乘法运算。这种矩阵乘法恰巧与神经网络所需的完全相同。”在他看来,“这有点巧合,但它非常重要。因为没有那些(GPU),我们永远无法达到我们目前已在AI实现的性能。”但是,Welser补充说,“随着我们更能掌握关于如何实现AI的更多知识,目前也正着手寻找方法设计一种更高效的硬件。”


降低精度

提高效率的途径之一是降低AI处理所需的精度。


Welser解释说,“几年前我们开始意识到一个大方向是,虽然习惯于非常精确的计算——以32位计算浮点作为标准,甚至64位,才能为真正准确的计算类型倍增精度,但这一点在AI中并不一定非常重要。”


他强调,在AI中,“对于神经网络在意的是当你展示一个影像或单词时,它是否能得到正确的答案。当我们问它是猫还是狗时,它回答说是一只猫。如果答案正确,你并不一定会注意到其间进行的所有计算过程。”


理想情况下,AI应该模仿人眼。Welser说:“如果你从一扇起雾的窗子看出去,你看到一个人走在街上。这是一个低度定位的影象...但是你可能经常会说‘喔,那是我妈走过来了!’所以,只要你得到正确的答案,视觉影像是否正确精准其实是无关紧要的。”


他解释说,这就解释了AI处理中精度逐渐较低的趋势。


Welser继续说道:“对于32位计算,我必须在32位上进行计算。如果我们可以在16位上进行,那基本上只需要一半的计算能力,或者可能是芯片面积的一半甚至更少。如果你可以再降低至8位或4位,那就更好了。”他说,“所以,这让我在面积、功率、性能和吞吐量方面获得了巨大的胜利——我们能够以多快的速度完成这一切。”

640.webp (37).jpg

(来源:IBM Research)


然而,Welser坦承,“很长一段时间,我们认为我们必须持续使用32位精度进行AI培训,当时别无他法。”


2015年,IBM Research发表了针对传统CMOS技术的新型数据流相关文章,推出为AI模型训练与推论而降低精度的途径。IBM展示以16位精度的训练模型,其准确度约相当于32位训练模型,而不至于牺牲准确度。


从那时起,IBM观察到“降低精度的方法很快地被采纳为业界标准,16位训练和8位推论如今已经司空见惯,并促使新创公司和创投业者(VC)投资大量涌入,投入打造降低精度的AI芯片。”尽管存在这样一种新兴趋势,但由于人们需要保持模型的高准确度,因此,小于16位的“训练”几乎不可能实现。


如何实现?

Welser说IBM开发一连串让研究人员可应用于AI处理的方法,实现了这一目的。例如,他说,“我们确实有一部份以8位来做,有些部份采用16位进行累积,而其他部份则以不同组件实现,所以不至于失去精度。”


换句话说,比起普遍将8位计算应用于整个操作,IBM团队的研究成果更加复杂,但研究人员找到了各种方法组合,分别应用于流程的不同部份。


Welser证实,“没错,这完全正确。例如,我们现在可以使用8位进行所有的权重更新过程,但仍然使用16位进行一些加法和累积步骤过程。事实证明这非常重要,因为16位加法比16位乘法更容易,所以实际上以16位的方式执行它是有帮助的。”


也许更重要的是,正如Welser所指出的,IBM的研究成果关键在于“提出一种数据流架构,让数据以非常流畅的方式流经芯片,而且以这种方式运行最终也不至于造成瓶颈。”


最后,“我们证明您可以有效地使用8位浮点,以取得较过去人们使用16位或32位相同的准确度。”


8位操作的障碍?

Linley Group的Gwennap表示,最新的GPU和AI芯片支持使用IEEE定义格式的16位浮点(FP16)。


然而,他补充说,“尽管如此,大多数开发人员还在使用FP32训练神经网络。”他说,“8位FP的问题在于缺乏标准格式,只有几种可能的指数组合和有意义的尾数。在标准(IEEE或某些非正式协议)建立之前,芯片制造商将发现难以在硬件中有效实施。”


那么在商业世界多久才开始使用8位精度进行训练?Welser说目前还不得而知,因为“我们现在看到第一次使用16位技术的情况越来越多,但是产业界大部份还是着眼于32位…。”


然而,他强调说他并未看到任何降低精度的实际障碍,“只要我们能够显示出相同输出的结果。”他指出,从用户的角度来看,“如果芯片速度更快、耗功更低,价格更便宜,而且也能得到同样的答案,就没什么好计较的了。”


当然,在其下的软件基础设施修改必发挥作用。


Welser证实,“你必须拥有能够降低精度的软件或算法,使其得以正确执行。”由于现在所有的软件架构都是为使用GPU和32位而建构的,“所有的一切都必须为接受16位或8位而进行修改。”


在用户存取实际硬件之前,业界可能持续使用已知的内容。


8位精度的内存乘法


IBM在IEDM展示该公司所谓的8位精度内存乘法以及设计中的相变内存(PCM)。

640.webp (38).jpg

在IEDM上,IBM科学家发表了一项关于新型内存内运算(in-memory computing;IMC)装置的研究,它比起当今的商业技术达到了更低100-1000倍的运算能耗级。该组件非常适用于边缘AI应用,例如自动驾驶、医疗保健监控和安全性(来源:IBM Research)


工程界已经意识到,降低能耗的关键是尽量减少运算架构中出现数据必须从内存移至处理器进行运算的机会。这种移动需要耗负大量的时间和精力。


对于更高效AI处理的需求促使许多人致力于研究内存内运算。Mythic在追逐这一点的AI芯片新创公司中脱颖而出,但其后还可能出现更多竞争对手。


在Welser看来,模拟技术“很自然地适于边缘AI。」正如从运算发展史的观察,模拟运算需要低功耗,证明它具有高能效。但它也不准确。”Welser说:“这就是为什么数字运算最终胜过模拟运算。”


但是,Tirias Research首席分析师Kevin Krewell表示,模拟正在回归中,因为“内存内运算与模拟运算可以相互搭配。”他解释说:“内存数组保持神经网络权重,模拟组件则执行总和和触发。”


Krewell补充说,“挑战在于保持模拟的正确校准,以及过程和温度变化的准确性。此外,内存和模拟组件也不像数字组件那样扩展。”


权重是内存的阻值

同样地,Welser解释说,模拟运算中神经网络使用的权重是“存在于内存内部的阻值”。它们不必移入和移出,都是固定的。Welser说:“换句话说,由于采用内存内运算架构,内存单元兼作处理器,有效地实现了储存和运算的双重任务。”


然而,Welser所说的挑战是:“我们将要使用的是什么阻值状态?它能使我们在训练时将其设置为各种不同的阻值吗?它必须够准确才可用。”


Welser解释说,虽然数字AI硬件会降低精度,但模拟至今一直受到内部精度相对较低的限制,从而影响了模型精度。


在开发接近8位精度的能力时,IBM使用了相变内存(PCM)。Welser说,PCM长久以来一直用于模拟内存。在此情况下,“我们使用PCM来回储存更多不同的阻值。更重要的是,我们正使用一种新颖的架构。”


IBM的论文详细介绍在纯量乘法运算中实现8位精度的技术。该公司声称,这导致“以往的模拟芯片准确度提高了大约一倍,而且也比同类精度的数字架构功耗更低33倍”。


Gwennap坦言IBM已经在PCM上研究一段时间了,但他称之为“仅仅是一项研究计划”。


Gwennap认为这种PCM途径的最大挑战在于可制造性。“模拟特性因不同的晶体管以及产在线的不同芯片而异,这就是为什么大多数产业都使用较不易受这种变化影响的数字电路。”


《EE Times》向Linley Group和IBM分别询问了商用AI芯片(如Mythic)使用内存内运算架构的情况。Gwennap说:“Mythic似乎最接近于将这项技术投入生产,但即使如此也还需要至少一年的时间。”


IBM承认,“Mythic采用了一种专注于使用内存内运算的有趣方法。”然而,IBM也指出,Mythic的芯片“仅适用于推论应用”。


根据IBM发言人,IBM的不同之处是:“我们相信完整的AI解决方案需要加速推论和训练。我们正在开发可用于推论和训练的非挥发性内存组件,并使其发展得更成熟。”

您的评论:

0

用户评价

  • 暂无评论