近,Semiengineering发布了一篇专家讨论文章,分享了他们关于AI和SRAM的不确定未来。
在问到人们是否会致力于缩小 SRAM 的尺寸吗?考虑到物理定律,这是否可能?
Alphawave Semi首席技术官 Tony Chan Carusone表示,人们一直承诺会有改进,但趋势是 SRAM的扩展速度比逻辑慢。这意味着要么架构发生变化,要么 SRAM消耗给定芯片的比例越来越大。我们可能会看到两者。您可以更改层次结构、更改位置、更改用于防止瓶颈的内存类型。这是一种解决方案。但将会有大量的技术研发,比如自下而上的压缩SRAM 的解决方案。
Quadric首席营销官Steve Roddy也认同,通过改变核心技术你能做的只有这么多。在标准 SoC 中,它是经典的 6TSRAM,这种情况已经存在 30 到 40 年了。人们已经尝试过各种类似 3Tcell的东西,但存在可靠性、可制造性和可设计性问题,例如如何使用它进行测试。某些市场,例如汽车市场,当您获得更容易出错或对阿尔法粒子敏感的cell时,就会感到恐慌。也许你无法在汽车中安装巨型推理机,因为汽车存在可靠性和功能安全问题。所有这些事情都必须考虑在内。各种内存层成为架构师需要使用的工具包。
在问到为什么 SRAM 的缩小速度比逻辑慢时?
西门子 EDA的内存技术专家Jongsin Yun说, SRAM的微缩滞后于逻辑收缩,主要是由于中严格的设计规则。过去,我们对 SRAM有单独的设计规则,这使我们能够比基于逻辑晶体管的设计缩小更多尺寸。当我们转向更小尺寸的节点时,保持这种区别变得越来越具有挑战性。现在,SRAM正在遵循越来越多的逻辑设计规则,并且与基于逻辑晶体管的设计相比,缩小存储器的优势并不明显。
存储器的大小也很重要,因为这种设计在芯片上重复了数百万次,从而影响了芯片的成本。当我们近年来从较低的技术迁移时,好处被稀释了,因为我们终会花更多的钱迁移到较低的技术节点,而不是缩小SRAM 内存大小的好处。这是我们在努力提高 AI 芯片中 SRAM 密度时面临的主要挑战。
而在问到缩小晶体管尺寸会导致漏电流,人们又将如何应对时?
Jongsin Yun接着说,技术迁移的主要漏电优势来自降低 VDD 电平和采用新材料,例如晶体管氧化物中的高 k材料,以改善栅极漏电,从而提高功率效率。VDD 缩放已在 0.7 至 0.8电压范围附近达到饱和点,这意味着我们不再能够从电压降低中获得额外的好处,并且其他泄漏水平也保持相对不变。如果我们继续增加 SRAM的密度并继续采用更新的技术以在芯片中添加更多晶体管,我们就需要更多的电量来支持芯片运行。
例如,AMD首席执行官苏姿丰(LisaSu)预测,到2035年,我们将使用核电站一半的能源来运行一台超级计算机。这是一个巨大的能源,我们正朝着不可持续的方向前进。需要采取一些措施来提高芯片的能耗。近的AMD芯片减少了逻辑面积并填充了更多核心,保持内存密度相同。这可以通过减小逻辑面积来降低逻辑操作频率。它还允许系统通过将内核数量加倍而获得额外的吞吐量来完成类似的工作负载,从而实现适度的权衡,但能效方面获得显著提升。
众所周知,近存内计算很热,当中SRAM是其中的重点之一。那么在近内存计算或内存计算中,SRAM将发挥什么作用?我们会在商业市场上看到内存计算吗?
SteveRoddy回应道,芯片初创公司已经多次尝试将模拟内存计算商业化,特别是乘法函数。在机器学习中,有大量的矩阵乘法和卷积。通过谈论图像很容易概念化。3x 3 卷积正在围绕三个近的邻居进行计算。使用 1 x 1、3 x 3、9 x9,您可以扩大要计算的范围。它非常适合您可以在存储单元中完成此操作的想法。通过模拟,您可以即时访问并且可以集成电压等。但实际上,这些东西都没有实现。大量风险资金(数亿美元)投入到了从未见过世面的解决方案中,主要是因为它成为了一个分区问题。
如果你说,“我将在内存本身中构建某种奇怪的非数字计算”,根据定义,你已经说过,“我将用单独的技术开发出一个单独的芯片,而我的一般计算引擎将运行纯数字芯片,而其他一些引擎将在该存储芯片中运行。现在你对算法进行了非常严格的划分,这造成了很大的限制。您必须拥有这个Goldilocks网络,其中计算可以保留在模拟芯片本地,才必须返回到主要代码完成执行的通用芯片。
如果您的手机配备高通应用处理器(与其他公司不同的芯片),并且您想在 Zoom通话期间实时运行面部美化算法,您该怎么做?如何同步软件的执行?算法每年都变得更加复杂,而数据科学家并没有放慢他们的创新速度。Transformer是新事物,就像 ChatGPT 的视觉 Transformer一样,由于来回传输量非常复杂。假设您已经部署了一些用于卷积的内存计算。你永远不会将视觉转换器映射到它,因为你会花掉等待数据在两种不同类型的芯片之间来回传输的时间。那么,SRAM中的纯内存计算有什么不同的、深奥的和分区的吗?那永远不会发生。
如果您可以将其构建为可在 SoC 上的已编译 SRAM,那么现在您所说的是不同的东西,但现在您必须拥有一个 6T模拟单元,并内置某种其他模拟设备。它必须是与放置在其旁边的大型 GPU 着色器引擎产生的噪音隔离开来,这也成为一个问题。如何构建芯片,使得这里的10,000 个 MAC 不会将噪声注入到您尝试编译的敏感模拟电路中?这似乎是一个站不住脚的问题。大约 3亿美元的风险投资已经付诸东流,还没有人能够实现量产。
Chan Carusone也表示,由于 Steve所描述的限制,大多数理性兴趣都集中在将这种技术用于某些低功耗或利基边缘推理类型的应用。我毫不怀疑潜在的影响。但现在的关键是为这项技术找到一个有足够数量、足够市场潜力的应用,以证明这种专门为其量身定制的硬件解决方案是合理的。这就是为什么我们看到这个想法已经存在了很长时间,但仍在等待它产生重大影响的机会。
Yun对这种观点表示赞同,他指出,很多新技术如果没有市场的大量需求就不会得到发展。我们已经准备好部署一项有前途的技术,但在我们解决了所有风险并收到使用它来创收的需求之前,它也不会付诸实践。在内存计算(CiM)的情况下,我们可以减少数据传输,因为所有计算都发生在同一位置。这意味着数据将保留在那里并进行计算,而无需任何数据传输。这意味着更快的处理速度和能源效率。
为了实现这一目标,我们需要对周围系统进行各种调整,以适应这些新的数据处理方式。为了证明投资此类变革的合理性,必须有强劲的需求。不应该存在风险较低的替代解决方案,我们可以放心地开始研究它。
朝着这个方向迈出一步的一个例子是利用 DRAM。当我们的AI芯片中有很多核心并行连接时,我们需要为处理器带来宽带宽的数据以提高效率。设计人员添加了大量连接到AI芯片的DRAM来传输海量数据。选择DRAM 是因为将数据存储在 DRAM 中比 SRAM 更具成本效益。每当核心数量增加时,就需要增加 DRAM的通道数量。现在我们的一些人工智能芯片有数千个核心。它需要越来越多的 DRAM通道,很容易达到数百个引脚,物理上不可能将太多通道连接到一个芯片中。我们必须解决这个瓶颈。
三星建议在 DRAM 本身内执行近内存计算。他们在 DRAM 中添加了一个 MAC单元来执行初始计算。之后,将数据发送至AI芯片进行后续处理。这种方法距离近内存计算又近了一步。如果人们看到死胡同,就会找到新的解决方案。如果有办法缓解现有配置的问题,人们倾向于保留现有设置以避免转向新方法的风险。
Chan Carusone则表示,DRAM 内存瓶颈是需要解决的关键挑战,这就是 HBM 重要性日益增加的原因。HBM有一个良好的路线图,可以提供更高带宽的内存接口。人们还讨论了本质上使用某种类型的小芯片(即 HBM到 DDR 转换器)的潜力。这可能会在内存中引入另一个层次,其中有一些 HBM,也许还有一些稍微远一点的DDR。人们正在考虑以各种不同的方式解决这个内存瓶颈问题。
Roddy则说道,人们甚至试图在数据科学层面上以数字方式解决内存瓶颈问题。训练显然是非常昂贵的,如果你想训练你的 1000亿参数的聊天机器人,这需要在你喜欢的云服务上花费数百万美元的计算时间。人们已经尝试过,如果他们在训练中的计算是浮点32(fp32),他们可以存储到DDR和其他格式吗?你有bfloat、fp8 以及他们尝试弄清楚的各种东西。几年前对我来说简单的是 bfloat。你确实需要一个 fp32 数字,截掉尾数的16 位以下,把它扔掉,说:“我真的不需要它。” 当我下次带它回来训练时,我会把它拿回来。很简单,就像“如何将 DDR流量减少一半并加快整体训练问题的速度?” 这已经演变成一大堆其他类型的数字问题,比如具有各种深奥格式的fp8。他们都在努力应对大量数据的挑战——用于全自动驾驶或语言样本的无数图像,或者无论它是什么,都必须从计算转移到内存,从内存转移到计算。这是内存瓶颈和内存层次结构问题,目前不是计算问题。