有道理的是,我们会发现很多应用程序,我们可以在其中利用人工智能的力量来改进我们的流程并更快地构建芯片。
Mentor, a Siemens Business 的高级营销总监 Jean-Marie Brunet 担任主持人,主持了一场出席人数众多且热闹非凡的 DVCon 美国小组讨论,讨论人工智能 (AI) 和机器学习 (ML) 的热门话题。
长达一小时的会议由 Achronix 副总裁兼首席技术专家 Raymond Nijssen 主持。Arm 研究员兼技术总监 Rob Aitken;AMD 高级研究员 Alex Starr;Mythic 硬件工程副总裁 Ty Garibay;英伟达应用深度学习研究主管 Saad Godil。
以下是基于小组成绩单的四部分迷你系列的第 1 部分。它涵盖了 Brunet 关于人工智能如何重塑半导体行业的第一个问题——特别是芯片设计验证和小组成员的印象。
第 2 部分涉及 AI 芯片的设计和验证,而第 3 和第 4 部分包括观众成员的问题和小组成员的回答。
Raymond Nijssen:如果你看看正在发生的变化,我们会看到 FPGA 行业发生了巨大的转变。我们来自传统应用程序,在这些应用程序中,您会看到 DSP 应用程序通过嵌入在 FPGA 中的 DSP 处理器向架构转变,在数据移动和计算性质方面更适合机器学习应用程序。这些计算的根源相当简单。所有这些算法之间有一个共同点,它基本上由许多以各种巧妙方式实现的乘法组成。当然,有很多方法可以对问题进行切片和切块。归根结底,从概念的角度来看,它是一个相当简单的芯片,然后你重复了很多很多很多次。
复杂性并非来自芯片的多样性或异质性。这些芯片往往是同质的,重点是数据移动和基本算术。从这个意义上说,从传统设计验证的角度验证这些芯片与您所知道和已经做过的并没有什么不同。系统的性能验证要复杂得多,因为系统中有太多的软件。
所有的软件栈都是碎片化的,不同的人解决同一个问题有不同的方式,这就导致了完全不同的解决方案。你可能会发现你在一个芯片中放置了大量的乘法器来实现高 TOPS 率。你发现你不能让他们忙,因为你的内存子系统的某个地方或者数据访问的方式有一些瓶颈,特别是如果你有稀疏的矩阵。这会很复杂。最后,AI芯片验证可能比验证处理器更复杂。
Rob Aitken:我认为这很像验证处理器,因为机器学习单元本身正在执行处理。它不是 GPU。它不是 CPU;但它作为程序的一部分进行了大量的乘法和加法。我认为有趣的验证问题正如有人描述的那样——这些处理单元如何相互交互以及系统在做什么。
您可以看到,当您构建一个每瓦可实现 20 万亿 TOPS 的加速器时。但是你不知道如何将它连接到任何东西,因为你不知道数据是如何从系统内存进入盒子的[以及]然后,当它完成计算时,结果是如何报告回来的。
加速度如何适应整个控制流程。正如雷蒙德所说,不仅要构建解决问题的软件,还要构建硬件,这需要一个完整的练习,以便您可以消除尽可能多的瓶颈。此外,这样您就可以识别仍然存在的瓶颈并设计您的系统,使其尽可能快地执行。已经完成了大量工作,但还有很多工作要做。
从机器学习验证的角度来看,我认为它通常是 EDA 问题的一个有趣的子集。如果你看看 EDA,在过去的 30 年里,人们建立了大量的启发式算法,这些启发式算法实际上非常好。
与许多其他问题不同,如果您只是将机器学习应用到典型的 EDA 问题中,结果不一定会变得更好;您的解决方案实际上可能更糟。如果你回顾 1990 年代的前一波人工智能,那里有一大堆关于机器学习和你最喜欢的验证方面和其他 EDA 问题的论文。他们中的大多数人都无处可去,因为计算能力并不真正存在,并且因为在深度神经网络与较浅的神经网络上学习的想法并没有真正站稳脚跟。
我们现在发现,查看一些具体问题,您可以找到好的解决方案——例如,Arm 所做的一些工作着眼于选择哪些测试向量或多或少有可能在验证套件中增加价值。事实证明,这个问题相对容易表述为机器学习问题,特别是图像识别问题。一组标准的神经网络可以计算出这组向量看起来很有希望,而那组看起来不太有希望,我们能够在整体验证吞吐量上获得大约 2 倍的改进。除了显而易见的解决方案之外,ML 在算法方面肯定有解决方案,我们现在都在以某种形式构建 AI 芯片。
Alex Starr:我将从我们开发的复杂系统设计方面的基线开始。我们拥有常见的多芯片和多插槽产品,当然对于 AMD 来说也是如此,因此我们已经面临规模挑战,你肯定会在 AI 方面看到这一挑战。许多设计必须处理这个问题。从某种意义上说,我们已经通过多种方式解决了这个问题,包括使用基于混合引擎的流程以及在验证和仿真中更抽象的建模。
如前所述,当我看到它时,这些设计中的计算引擎相对于我们今天在 GPU 和 CPU 中使用的一些现有计算引擎来说相当简单。从 IP 级别的角度来看,它可能相当简单。您如何应对大型设计的缩放?这确实是一个软件问题——整个系统的性能如何?
所有这些设计都将根据它们执行这些机器学习算法的速度来衡量。那是硬件和软件/固件问题。我认为业界将不得不了解我们如何优化性能,而不仅仅是设计本身,而是整个生态系统。这就是我在 AMD 参与的事情。这是我的热情之一,也是我们多年来一直致力于真正尝试和改进整个系统生态系统并从中获得性能的工作。我们必须解决巨大的性能优化挑战。关于“构建复杂设计”方面的问题,我认为,对我们来说,这主要是照常营业,没有真正的人工智能特定。
从“我如何在验证过程中使用 AI”这个问题来看,我认为这是一个很大的扩展领域。今天,我们可以在混合系统上运行大型设计并处理大量数据。我们如何处理这些数据?从历史上看,我们一直在查看波形以获得微观细节,但这些是运行多个软件堆栈的大型生态系统。如何调试我的软件?当我想优化那个系统时,我应该把我的工程师放在哪里?获得高可见性是关键,人工智能可以在如何分析我们从系统中获取的数据方面发挥作用,并在我们的方法中更有针对性。
Ty Garibay:在我们的芯片上工作的设计团队和验证团队基本上实现了与人的生成对抗网络。你有设计,你有高效的人试图攻击它,随着设计人员修复它,让它变得更好,并实际创建一个新芯片,设计会随着时间的推移而发展。
挑战在于这个芯片是独一无二的,除非你在做衍生产品或下一代 x86 或类似的东西,否则没有基准数据或从芯片到芯片的基准数据的可见性有限。在当前的环境中,我们正在构建机器学习芯片,就像我们在狂野西部一样,每个人都选择按照自己的方式做事,声称自己有一种特殊的酱汁。很难看出我们在哪里可以像 Arm 那样捕获大量信息,但他们能够从用于构建 Arm 核心的 Arm 测试流中捕获信息。
这类似于 Breker Systems 的一个名为 Trek 的系统,该系统可以生成内存系统目标测试。该工具以自己的方式学习,尽管它是一种有限的学习工具。随着我们对第二代产品的深入研究,显然有机会。我们了解我们正在寻找什么来使用我们收集的数据并利用这些数据来提高验证效率。
Saad Godil:我同意我的同事们所说的很多内容。我将在构建 AI 芯片时再考虑一个问题。人工智能领域正在快速变化,这将对验证团队构成有趣的挑战。今天,我们必须构建能够快速适应不断变化的规范的验证环境。这将变得更加重要。
让我用一个例子来说明这个概念。我的同事每周都有一个论文阅读小组。他们每周阅读不同的人工智能论文。有一个星期,有人说,“让我们回去读一篇经久不衰的经典论文。” 那篇论文发表于 2017 年,在该领域已经过时了!
构建芯片需要时间,这意味着您将面对一个移动的目标。你应该构建验证环境,让你在短时间内做出反应,这将为你提供这些 AI 芯片的竞争优势。
在构建 AI 芯片的话题上,总的来说,业界一直在设计已经处理规模化的芯片。从这个角度来看,我认为它不是独一无二的。我确实认为这是这种环境的属性,我希望我们能让更多的人在这个领域工作。我期待人们在这个领域提出一些很酷的解决方案,但我不认为有任何独特之处仅限于人工智能。
另一个问题是,人工智能将如何影响验证?对此,我很看好。很多人都说人工智能是新的电力,将会有很多行业受到它的影响。我绝对相信我们的设计行业将是其中之一。看看我们拥有的数据量,我们所做工作的复杂性。我们会发现很多不同的应用程序,我们可以利用人工智能的力量来改进我们的流程并更快地构建芯片,这很有意义。
在这个由四部分组成的迷你系列的第 2 部分中,小组成员将讨论工具供应商是否准备好提供他们在特定领域验证其芯片所需的东西,以及工具供应商是否准备好提供帮助。
审核编辑 黄昊宇
-
芯片
+关注
关注
453文章
50277浏览量
421226 -
amd
+关注
关注
25文章
5428浏览量
133851 -
半导体
+关注
关注
334文章
26927浏览量
214919 -
人工智能
+关注
关注
1791文章
46711浏览量
237236 -
Achronix
+关注
关注
1文章
73浏览量
22512
发布评论请先 登录
相关推荐
评论