人工智能内存选择面临的困境有哪些

[复制链接]
查看619 | 回复0 | 2020-11-19 18:38:19 | 显示全部楼层 |阅读模式

      在人工智能以及针对各种截然不同的终端市场和系统而设计的机器学习芯片快速发展的推动下,人们可选择的存储器/体系架构数量呈现爆炸式增长。

      在这些系统中,某些系统的模型参数大小可能在100亿到1000亿之间,并且芯片或应用之间的差异可能会非常大。神经网络的训练和推理是当今最复杂的工作负载之一,这使得很难找到最优的存储解决方案。这些系统消耗了大量的计算资源(主要是使用乘法累加运算)以及大量内存带宽。系统任何一个环节的减速都可能对整个系统产生影响。

      Arm机器学习集团产品营销副总裁SteveRoddy说:“目前已经部署了一系列技术来降低神经网络模型的复杂性和神经网络模型的内存需求。例如,可以通过量化、网络简化、剪枝、聚类和模型压缩来尽可能减小模型的大小。在设备运行时,通过智能调度跨层重用中间值还可以减少内存流量,从而加快推理运行时间。”

      这给内存开发人员带来了巨大的压力,要求他们以最低的功耗、面积和成本提供尽可能多的带宽。这一趋势当前并没有减弱的迹象。神经网络模型规模逐年增长,为了训练这些模型,数据集也在不断增长。

      “这些模型的规模和训练集的大小每年都以大约一个数量级的速度增长,”来自Rambus公司的杰出发明家、研究员StevenWoo说。“今年年初,当最新的自然语言处理模型问世时,它具有大约170亿个参数,这个数字够大了吧,但是,今年夏天又出现了一个更新的版本,参数的数量居然上升到了1750亿。也就是说,大约七个月的时间,参数的数量就增加了整整10倍。”

      20世纪80年代和90年代初的神经网络模型大约有100到1,000个参数。“如果我有一个更大的模型,我需要更多的样本来训练它,因为每个参数都必须调整,”StevenWoo说。“对于那些在技术领域缺乏耐心的人来说,当您拥有更多数据时,您不想再在训练上等待那么长的时间。唯一的出路是是拥有更多带宽。您必须能够更快地将这些数据推送到系统中,并更快地将其提取出来。带宽是头等大事。”

      另一个问题是能源。Woo表示:“如果您要做的只是将性能提高一倍,同时所消耗的电量也增加一倍,那么,生活就会很美好。但是,这不是它的运作方式,您实际上需要非常在乎功率问题,因为您墙上的电源插座只能承受这么大的功率。事实是,人们确实希望将性能提高X倍,但同时他们希望能将能源效率提高2X倍,这就是让事情变得困难的地方。”

      这种权衡在AI推理应用方面更加困难。“今天,AI/ML的训练和推理之间的鸿沟越来越大,”CadenceIP集团产品市场部总监MarcGreenberg指出。“训练需要最大的内存带宽,并且通常是在功能强大的服务器类型的机器或非常高端的GPU卡上进行的。在训练领域中,我们发现,高阶训练使用HBM内存,而低阶训练使用GDDR6内存。HBM存储器特别擅长以最低的单bit能量提供最高的带宽。HBM2/2E内存可以在AI/ML处理器与每个存储器堆栈之间提供高达每秒3.2/3.6TB的内存带宽,而即将发布的HBM3标准则有望提供更高的带宽。”

      成本权衡

      这种性能当然是有代价的。Greenberg指出:“HBM作为一种高端解决方案,有一个与之匹配的高价格自然无可厚非,这意味着HBM可能会继续部署在服务器机房和其他高端应用中。GDDR6技术有助于降低成本,当今的器件可以通过技术以16Gbps的数据速率提供每秒512Gbit/s的速度,而且将来会出现更快的数据速率。用户将其中多个器件并行放置也很常见。例如,某些图形卡可以并行使用10个或更多GDDR6部件,以达到5Tbps速度甚至更高的带宽。”

      推理技术仍在发展,这在边缘计算中尤其明显。Greenberg说:“对于AI推理,我们在新设计中看到的主要是GDDR6和LPDDR5内存。他们以更合适的成本提供了更适中的带宽,使得可以在云的边缘实时部署AI,而不必将所有数据发送回服务器。”

      现在正在开发的许多AI机器都使用了经过精心规划的非常规则的布局和结构。

      他说:“如果您回想起SoC设计时代,您会发现芯片设计中其实有很多随机性,这些芯片的异构性非常明显。它们部署了许多不同的功能,而且很多是异构的功能。这使得芯片看起来就像是将不同block混合在一块的储物柜。但是,当您看一看AI芯片时,您将会看到一个非常规则的结构,因为这种方法才能保证在整个芯片上非常并行的数据流中管理大量数据。与我们在SoC甚至许多CPU中所做的架构不同。它的架构设计主要围绕着如何通过该芯片传输数据而构建。”

      所有这些都直接影响到内存的选择,尤其是DRAM,而DRAM早在几年前就被人们预测行将淘汰了。但是实际上,情况恰恰相反。如今的选项比以往任何时候都要多,并且每一种选择都有各自不同的价格。

      提供这么多内存选择是必需的,因为在当今的AI/ML应用中,内存配置可能会有很大的差异。Sankaranarayanan说:“我们已经看到,设计团队除了使用HBM之外还使用LPDDR,但这实际上取决于带宽要求。还有一些成本因素需要考虑。使用HBM时,由于需要通过硅直通技术将多个DRAM管芯堆叠在一起-并且使用插入器将DRAM和SoC放入同一个SoC封装中,因而需要多个封装步骤,造成今天HBM的成本都很高。但是,随着与AI相关的应用及需求的增加,在不久的将来,HBM的价格都将变得物有所值。”

      

       图:HBM2存储器系统功率。

      Woo表示:“随着速度的提高,需要做更多的工作来确保数据的正确传输,这里存在着一场拉锯战。这和拍卖师很相似,他们开口就得大声说话。在PHY上也有同样的现象。为了继续区分信号,您必须具有适当的幅度,因此挑战之一是如何设定正确的幅度,避免信号的模糊,以确保对方接收到的正是您所发送的。为了清楚地指明在数据线路上来回通信的符号,需要进行大量的工作。也有一些其他尝试降低幅度的技术,但它们都是折衷方案。通常,人们不希望更改其基础架构。如果其它条件不变的话,人们会选择增量式的改进而不是革命性的改进。这就是挑战所在之处。”

      片上存储器与片外存储器

      如今,AI/MLSoC架构中的另一个重大折衷是将内存放在哪里。尽管很多时候AI芯片都具有片上存储器,但片外存储器对于AI的训练至关重要。

      Cadence的Greenberg说:“问题主要在于您要为神经网络存储多少数据。每个神经元都需要一定数量的存储空间。每个人都希望使用片上存储器,只要您有条件可以使用片上存储器,肯定就想使用它。它的速度超快,功耗超低,但是价格昂贵。在预算一定的情况下,您在主芯片上放每一平方毫米的内存就意味着芯片上的逻辑和其他功能就少了一平方毫米的面积。”

      大多数AI/ML工程团队都在为选择片内存储还是片外存储而苦苦挣扎,因为这些设计仍处于其生命周期的早期。Greenberg说:“每个人刚开始时都希望使用片内内存。这方面真没有真正可以查阅的标准。在大多数AI芯片中,其版图布局实际上是有所不同的。业界尚未决定AI的最佳架构,因此,我们现在基本上仍处于AI芯片架构的试验阶段,并朝着大多数人可能会适应的方向发展。

      这些决定会影响AI/ML芯片的各个方面,包括专用加速器。那里的主要选择取决于性能、功率和面积,云计算和边缘计算芯片之间的界限很清晰。

      结论

      人工智能的体系架构仍处于快速进化的状态。所有人都在猜测它何时稳定以及是否会稳定下来,这使得判断自己的选择是否正确及其正确性会持续多久变得更加困难。

      “您走对路了吗?这个问题很明确,但是有很多不同的答案。”Mitra说。“在传统处理器设计中,如果我以这样的方式设计它,那么它看起来就是这个样子。因此,所有人都去设计处理器IP,人们还设计出一些变体,例如VLIW与超标量等。但是,最终胜出的永远不会只有一种设计。您会发现有许多可以胜出的设计。这几乎就像是说给了您40个选项,而不是一个解决方案。展望未来,您将看到人们将做出更多这些架构选择,因为AI对于不同的垂直领域具有许多不同的含义。”


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

371

主题

372

帖子

1355

积分

金牌会员

Rank: 6Rank: 6

积分
1355