人工智能正在不仅仅是芯片和系统设计的话题,它承担着越来越复杂的任务,这些任务现在已成为许多市场的竞争要求。
但是,人工智能及其机器学习和深度学习子类别的加入也给电子产品的各个方面注入了广泛的混乱和不确定性。这部分是因为它涉及许多不同的设备和流程,部分原因是人工智能本身在不断变化。
人工智能涵盖了从训练算法到推理的方方面面。它包括大量的训练计划,以及可以适应微型物联网设备的tinyML算法。此外,它越来越多地用于芯片设计的许多方面,以及在晶圆厂中,以关联来自这些芯片的制造、检查、计量和测试的数据。它甚至在现场用于识别故障模式,这些模式可以反馈到未来的设计和制造过程中。
在这个广泛的应用程序和技术集合中,有几个共同的目标:
对于任何 AI 风格或应用,每瓦或每次操作的性能都是一个关键指标。需要生成和存储能量以执行 AI/ML/DL 计算,并且在资源、公用事业和面积方面存在相关成本。
算法的训练通常涉及乘法/累加运算的大规模并行化。效率来自超大规模数据中心中计算元素的弹性——能够根据需要增加计算资源,并在不需要时将其转移到其他项目——以及更智能地使用这些资源以及越来越精细的稀疏性模型。
谷歌首席科学家杰夫·迪恩(Jeff Dean)指出了机器学习模型的三个趋势——稀疏性、自适应计算和动态变化的神经网络。“密集模型是指为每个输入示例或生成的每个代币激活整个模型的模型,”他在最近的Hot Chips会议上的演讲中解释道。“虽然它们很棒,并且已经取得了重要成就,但稀疏计算将成为未来的趋势。稀疏模型具有不同的路径,可以根据需要自适应调用。
正在改变的是人们认识到,这些稀疏模型可以更智能地跨处理元素进行分区。“在每个示例上花费相同数量的计算是没有意义的,因为有些示例的难度是原来的 100 倍,”Dean 说。“因此,我们应该将100倍的计算花在真正困难的事情上,而这些事情非常简单。
图 1:具有粒度稀疏性的自适应计算。资料来源:Google/Hot Chips 2023
边缘的资源和计算模型有很大不同,但抽象、自定义和调整大小的相同基本原则仍然适用。
抽象更多的是着眼于局部和系统级别的权衡。例如,基本上可以硬连接处理器或加速器的某些元素,同时提供足够的灵活性来整合未来的变化。当一个器件可能用于多个应用,并且芯片的预期寿命足够长以保证一定程度的可编程性时,这尤其有用。这与为先进节点 SoC 开发的一些模拟 IP 的方法类似,其中大部分架构都是数字架构。
Flex Logix首席技术官兼联合创始人Cheng Wang表示:“重要的是,从这些硬连线块馈入和馈出的内存或数据路径能够支持我们需要的排列,因为很多时候,对于AI工作负载,访问模式可能有点不稳定。“对于人工智能来说,这也是很常见的,在将数据输入引擎之前,你需要添加一些偏移量作为数据的一些比例因子。当然,引擎是硬连线的,输出必须经过一些灵活的激活功能,并根据工作负载的需求路由到SRAM或DRAM或两者兼而有之。因此,所有这些灵活性都是必需的,并且需要到位以保持MAC的效率。例如,如果您的内存带宽不足,则必须停止,在这种情况下,MAC的速度有多快都无关紧要。如果你停滞不前,你将以内存的速度运行,而不是以计算机的速度运行。
合理调整规模
出于类似的原因,内存架构也在发生变化。“人工智能越来越多地被用于提取有意义的数据并将其货币化,”Rambus的研究员和杰出发明家Steven Woo在最近的一次演讲中说。“它确实需要非常快的内存和快速接口,不仅用于服务器,还用于加速引擎。我们看到对性能更快的内存和互连的无情需求,我们预计这一趋势将持续到未来很长一段时间。我们看到该行业正在做出回应。数据中心正在不断发展,以满足数据驱动型应用程序(如人工智能和其他类型的服务器处理)的需求。随着我们从 DDR4 过渡到 DDR5,我们看到主内存路线图发生了变化,我们也看到 CXL 等新技术进入市场,因为数据中心从更多的专属资源演变为池化资源,可以改善我们今天所处的水平的计算。
同样的趋势也在重新定义边缘。“芯片组制造商正在与芯片开发团队合作,从系统的角度来看待它的性能和功耗,”华邦市场主管C.S. Lin说。“那么对于这种产品,你需要什么样的带宽呢?而SoC端需要什么样的工艺,需要什么样的内存?例如,所有这些都需要配对在一起才能实现每秒 32 Gb 的速度(对于 NVMe PCIe Gen 3)。然后,为了做到这一点,你需要在芯片中集成一个协议,只有最先进的工艺才能提供这种东西。
无论是云还是边缘,AI 应用程序越来越需要定制和调整规模。如今,几乎所有的算法训练都是在大型数据中心完成的,其中MAC功能的数量可以增加或减少,计算可以在不同的元素之间进行分区。随着算法变得更加成熟、稀疏和越来越个性化,这种情况可能会改变。但大多数计算世界将利用这些人工智能算法进行推理,至少目前是这样。
“到75年,大约2025%的数据将来自网络的边缘和端点,”瑞萨电子执行副总裁Sailesh Chittipeddi在SEMICON West的小组讨论中表示。“你预测边缘和端点发生的情况的能力确实产生了巨大的影响。当您想到计算时,您会想到微控制器、微处理器以及 CPU 和 GPU。最新的嗡嗡声都是关于 GPU 以及 GPT3 和 GPT4 正在发生的事情。但这些都是大型语言模型。对于大多数数据集,你不需要如此巨大的处理能力。
边缘的挑战之一是快速丢弃无用的数据,只保留需要的数据,然后更快地处理这些数据。“当人工智能处于边缘时,它正在与传感器打交道,”艾伯德首席科学家兼联合创始人Sharad Chole说。“数据是实时生成的,需要处理。因此,传感器数据的传入方式以及 AI NPU 处理数据的速度会改变很多事情,包括需要缓冲的数据量、需要使用多少带宽以及整体延迟。目标始终是尽可能低的延迟。这意味着从传感器输入到输出的延迟应该尽可能低,输出可能会进入应用处理器进行进一步的后处理。我们需要确保我们能够以确定性的方式提供这些数据作为保证。
准确性的代价
对于任何 AI 应用程序,性能都是衡量获得结果时间的指标。人工智能系统通常会在乘法/累加元素之间划分计算以并行运行,然后尽快收集和混合结果。获得结果的时间越短,所需的能源就越多,这就是为什么围绕加工元素和架构的定制有如此多的嗡嗡声。
通常,需要更多的计算元素才能在更短的时间内生成更准确的结果。这在某种程度上取决于数据质量,数据质量需要既好又相关,并且需要针对任务对算法进行适当的训练。通用处理器的效率较低,通用算法也是如此。此外,对于许多终端应用来说,人工智能的数量(包括机器学习和深度学习等子类别)可能会受到整体系统设计的限制。
这是一个架构改进的成熟领域,一些创新的权衡开始出现。例如,Arm 首席 CPU 架构师兼研究员 Magnus Bruce 表示,Arm 专门为云、高性能计算和 AI/ML 工作负载创建了一个新的 Neoverse V2 平台。在最近的 Hot Chips 会议上的一次演讲中,他强调了分支预测与提取的分离,以提高分支预测管道中的性能,以及包括准确性监控在内的高级预取。简而言之,目标是更精细地预测芯片的下一步操作,并在出现错误预测时缩短恢复时间。
图 2:基于精度提高的架构和微架构效率。资料来源: Arm/Hot Chips 23
使用 AI进行设计
除了架构更改之外,人工智能还可能帮助改进、加速硬件设计。
“客户关心的基本指标仍然是功耗、性能、面积和进度,”Synopsys EDA 部门总经理 Shankar Krishnamoorthy 说。“但改变的是,由于负载复杂性、设计复杂性和验证复杂性,实现这一目标的工程成本急剧上升。有几位客户告诉我们,这是必不可少的 4 倍的工作量。他们几乎不能再增加 10% 或 20% 的工程师,那么谁来缩小这一差距呢?这确实是人工智能介入的地方,在帮助解决这个问题方面,它已经成为一个很大的颠覆者。
其他人也同意。“AI/ML是一个热门话题,但它改变了哪些市场,并撼动了人们以前没有想到的市场?EDA就是一个很好的例子,“Quadric营销副总裁Steve Roddy说。“经典合成/布局布线的核心是从一种抽象到另一种抽象的转换。从历史上看,这是通过启发式方法、编译器创建者和生成器完成的。突然之间,如果你能使用机器学习算法来加速或获得更好的结果,你就完全扰乱了现有的行业。机器学习的出现是否会动摇一些现有的硅平台?我的笔记本电脑会继续使用四核处理器,还是会突然让机器学习处理器定期完成大量工作?图形一直是一场持续的竞赛,以在手机和电视上获得更高的图形生成以获得更清晰的分辨率,但人们越来越多地谈论部署机器学习升级。因此,您可以使用低得多的分辨率使用 GPU 渲染某些内容,并使用机器学习算法对其进行升级。然后,您就不再是可以将多少个 GPU 集成到手机中并保持在电源包中。而是,“让我回到五代,拥有更小、更节能的 GPU,并对其进行升级,因为也许人眼看不到它。或者,根据照明和一天中的时间,您可以以不同的方式对其进行升级。这些事情会让标准变得不合时宜。
这对于加快设计的复杂建模可能特别有用,特别是当同一芯片或同一封装中有许多不同的计算元素时。“如果你在模型中加入太多的依赖关系,那么模拟它们需要比实际更多的时间,”Fraunhofer IIS自适应系统工程部设计方法负责人Roland Jancke说。“然后你过度设计了模型。但是,建模始终是尽可能抽象和准确的问题。多年来,我们一直建议采用多层次的方法,这样你就有了不同层次抽象的模型,而你想真正研究的地方,你就更深入地了解更多细节。
人工智能可能会有很大帮助,因为它能够关联数据,这反过来又应该会支持人工智能市场,因为设计过程可以自动化,用于开发人工智能芯片和芯片本身。
Synopsys的Krishnamoorthy表示:“目前,AI芯片社区的收入约为20亿至30亿美元,预计到本世纪末将增长到100亿美元。“[在EDA方面],它是关于如何优化设计以获得更好的PPA,并与经验早期的工程师一起获得专家级质量的结果。在验证的情况下,它实现了比当前方法更高的覆盖率,因为人工智能可以自主搜索更大的空间。在测试的情况下,它减少了测试仪上的图案计数,这直接转化为测试成本和测试时间。在定制设计的情况下,它会自动将模拟电路从 5nm 迁移到 3nm,或从 8nm 迁移到 5nm。在过去,这曾经是手动工作。
定制价格
但是,即使在设计最好的系统中,也存在许多变量和意想不到的结果,它们会影响从数据路径建模到MAC功能如何在不同处理元素之间分区的方方面面。例如,这种分区可能在晶圆厂或封装厂中得到完美调整,但随着加工元件的老化,它们可能会不同步,使其中一些元件在等待其他元件完成加工时闲置并燃烧电力。同样,互连、存储器和 PHY 可能会随着时间的推移而退化,从而产生时序问题。更糟糕的是,算法中几乎不断的变化可能会对整体系统性能产生重大影响,远远超出单个MAC元素。
在过去的十年中,其中许多问题已经在大型系统公司内部得到解决,这些公司越来越多地设计自己的芯片供内部使用。随着越来越多的计算转移到边缘,这种情况正在发生变化,在边缘,功耗直接影响车辆每次充电的行驶里程,或者如果可穿戴设备执行的操作超过最基本的操作,它的实用性会有多大。
这里的关键是了解这些设计中要整合多少 AI,以及 AI 究竟应该做什么。高效的 SoC 通常会根据需要使用可能较暗或“热”的处理内核来打开和关闭各种组件。但是,高效的 AI 架构可以使许多处理元素以最大速度运行,因为它将计算分解为并行操作,然后收集结果。如果其中任何一个元素的计算延迟,就会浪费时间和精力。如果做得好,这可能会导致超快的计算速度。然而,这种速度确实是有代价的。
其中一个问题是,学习并没有在整个行业中得到广泛共享,因为其中许多前沿设计都是为系统公司的内部使用而开发的。这减缓了知识转移和行业学习的速度,而这些知识转移和行业学习通常发生在处理器系列的每个新版本或市场上用户审查的消费产品中。
结论
虽然围绕 AI/ML/DL 有很多嗡嗡声,但它不再是炒作。它正在实际应用中使用,并且随着设计团队找出最有效的方法以及如何将其应用于他们的设计,它只会在效率、性能和准确性方面得到提高。几乎可以肯定的是,会有一些小问题和更多的不确定性,比如人工智能在适应和优化系统时如何随着时间的推移而老化。但毫无疑问,在可预见的未来,人工智能已经到来,只要有足够的资源和兴趣,它就会继续变得更好。
“您今天看到的真实用例每天都在发生,甚至从语音处理开始,”瑞萨电子的Chittipeddi说。“这在10年前是不可能的。从根本上改变的是将人工智能应用于实际用例的能力。它正在改变景观。
审核编辑:黄飞
评论
查看更多