中文 英语

EDA中的机器学习障碍

如果没有对结果质量的信心,EDA中机器学习的成功应用是不可能发生的。这就带来了挑战。

受欢迎程度

EDA是一个适合使用的空间吗机器学习(毫升)?答案取决于许多因素,包括它究竟应用在哪里,有多少来自行业的支持,以及是否有明显的优势。

ML究竟在哪里发挥作用还没有决定。例如,用机器学习取代现有的启发式方法需要整个行业的努力来克服一长串的挑战,而这是不太可能发生的。但在其他一些机会中,ML可能会更成功。EDA空间中的工具,以及嵌入其中的启发式,是由设计流程中用于特定目的的抽象的忠实性所引导的。

例如,门级抽象为功能提供了高度准确和精确的抽象。在90nm左右之前,它曾经为计时提供了一个可接受的抽象。在这一点上,抽象失败了,经常导致保真度的崩溃,这使得很难达到时间闭合。必须对抽象进行细化,以包括连线对延迟的影响,这意味着必须将实现的功能和物理方面结合起来。这反过来又给算法增加了相当大的复杂性。

随着时间的推移,需要越来越多的物理属性。介绍finFETs大大增加了许多算法的复杂性,每一项新技术都看到了越来越多交织在一起的因素。所使用的抽象不断得到细化。如果所做的决策类型是基于不充分的准确性或精确度,那么它们充其量就是任意的。

这一挑战并非物理实现和验证所独有。类似的挑战也出现在系统领域,并发性和复杂性的增加增加了理解方面的挑战。例如,指令集模拟器可以在几个定时精度级别上操作——指令精确、时间近似或周期精确。行为可以依赖于顺序,并且可以根据时间上的小变化而改变。如果这对所做的决策很重要,那么就必须选择正确的准确性水平,即使它会影响工具的性能。

了解这些类型的限制是基于随着时间的推移而获得的知识。新工具和新抽象在首次进入市场时很少被信任。随着时间的推移,信心会建立起来,工具也会改进,以考虑到出现的额外信息。

感知与现实
很多人都在考虑ML的适用性EDA空间。虽然在提供的数字中经常显示出良好的准确性,但ML经常具有令人惊讶的低保真度。有时只需要输入的很小的变化就能导致输出的很大变化,没有人能解释为什么。这意味着你需要更多的数据来提高准确性,或者你需要限制允许做出无监督决策的领域。

还有一个涉及机器学习的认知问题,从机器人开始,已经蔓延到硬件设计中。

“如果你看看一些例子,比如自动驾驶汽车,你可以说完全自动驾驶可能会要了你的命,”ibm人工智能和机器学习解决方案组副总裁托马斯·安德森(Thomas Andersen)说Synopsys对此.“在某些情况下,如果他们没有干预,有人可能会被杀。以自动驾驶汽车为例,你正在自动化一项任务,而今天这项任务几乎完全是人类的。人会犯错,但机器通常不受信任。假设发生了一起事故。它将被放大,每个人都会指出技术还没有准备好——即使从统计上看它比人类好得多。人类也会犯错误。就自动驾驶汽车而言,没有犯错的余地。在芯片设计中,你也可以这么说。如果我制造了一个芯片,但没有达到我的保持时间,整个芯片就会因为这个错误而无法工作。”

这如何应用于EDA呢?
安德森解释说:“机器学习在EDA中可以用于两种不同的应用类型。“首先是取代现有的启发式方法。考虑实现和注销验证工具。在实现空间中,你有一个放置算法,对于终止,你有一个静态分析算法。物理空间中的验证算法确保您遵守某些规则。现在,你可以用基于机器学习的预测器来取代这些启发式,为了让它们更好地工作,你需要足够的训练数据,你需要正确的训练数据,否则它将不起作用。”

所有这些工作都还在进行中。安德森说:“认为现在使用的算法总是正确的,这是一种错觉。“启发式意味着他们会走一些捷径。所有这些问题都是NP完全问题。没有一个算法是完全正确的。他们会犯错。他们只是调整了足够的数据点,以保证他们工作得足够好。你如何验证它们是正确的呢?您可以根据数据验证这一点。如果我引入基于ml的算法来取代当前的启发式算法,我只需要确保我有足够的相关数据,这样我就可以确信我得到的输出是正确的。”

这些都是预测算法,需要在大量数据上进行训练。每个EDA供应商都实现了一些用于预测时间或路由drc的算法。他们在这方面也取得了一些成功,但没有一些人预期的那么成功。这在很大程度上是由于这些算法所训练的数据。这些数据可能质量不够好,或者数据不够多,或者两者兼而有之。

另一种不同类型的机器学习用于玩游戏,或教系统玩游戏,这被称为强化学习。强化学习不是一种预测方法。你不会用数百万个数据点训练它,然后试着预测一些东西。它的工作原理更像是你试图理解一个复杂的系统通过戳它看它如何反应,然后你从反应中学习。

这是机器学习的第二个应用,它涉及到现在由人类完成的任务的自动化,例如操作EDA工具。它们运行某些内容,提供某些输入,并调整某些内容以达到特定的QR目标。

安德森补充道:“强化学习可以像人类一样,尝试许多不同的实验,并根据这些输入了解这个工具的特定设计如何表现,并得出结论。”“然后它可以通过搜索一个大的搜索空间给我一个答案。在我们的实验中,我们发现它总是优于人类,这只是因为人类无法并行运行100次,并得出关于系统如何响应特定输入的确切结论。”

使用机器学习有明显的优势,“在EDA流程中使用机器学习的目标并不是能够在无限的时间内产生比最有经验的工程专家更好的结果,”位于纽约的Digital & Signoff集团的业务开发总监Dave Pursley说节奏.相反,它是帮助您的工程团队在严格的进度限制下,达到并超过严格的功率、性能和面积(PPA)目标。其目标是通过提高抽象级别来提高工程师的工作效率。为高级合成(HLS),抽象级别是根据设计输入,编写不定时的SystemC/ c++,并允许HLS工具创建周期精确的RTL。对于具有EDA流程的ML,抽象级别在EDA工具的使用模型中,指定更高级别的设计目标,并让工具微观管理何时以及在何处转动所有旋钮和开关。”

其他人也同意。“机器学习永远无法代替我们做这项工作,”该公司的验证主管达科•托穆西洛维奇(Darko Tomusilovic)表示Vtool.“它只会帮助我们。我们应该努力寻找机器学习可以提高我们的效率,使我们更富有成效的方法。我们不应该期望ML代替我们做这项工作,因为那样我们最终会非常失望。”

ML还需要改变心态。ML报告的结果不是固定的数字,而是分布和概率。定义什么是足够的精度可能因应用程序而异,但也可能取决于ML是使用预测建模还是强化建模。

一切都与数据有关
如果有足够的高质量数据,ML可以提供相当大的帮助。

“机器学习可以用来发现人类永远不会发现的异常现象,”ibm的首席执行官西蒙·大卫曼(Simon Davidmann)说治之软件.“例如,服务器群中一个处理器的故障导致一家公司向客户收取过高的费用。ML被用来监控他们的业务,并突出显示正在发生的错误计算。它能准确地指出故障所在。我们与许多公司没有什么不同,我们有大量的测试和回归,在做出更改后运行,并记录结果。您可以看到哪些测试是脆弱的并且经常崩溃,哪些代码会导致某些测试崩溃。这些是自制的分析。但是它们使您能够改进流程。我很好奇人们正在使用ML来提高工具的质量。ML可以告诉你某样东西不是原来的样子了。 It is more than just watching a curve, they effectively recognize things.”

多少数据才算足够并不总是清楚的。Vtool的Tomusilovic说:“验证数据来源几乎是取之不尽的。“数据有许多不同的形式,包括日志文件、波形、覆盖数据和代码库本身。这些数据必须作为一个整体来理解。我们需要找到对ML工具有用的最小数据量。我们不能用大量的垃圾数据使情况过载,这会使它效率低下。”

其他人也有类似的观点。“我可以获得几个小时或几天的模拟数据,”Harry Foster说西门子EDA.“然而,这并不一定是数量,而是数据的质量,从探索状态空间的独特角度来看。我可以有大量无用的数据,有很多人声称我们有很多数据,但与许多其他行业相比,我们并没有——甚至在设计的物理方面。您选择一个项目并提取数据,但它可能不适用于其他项目。我们需要的解决方案基本上是抽象数据,或者允许我们对小数据集进行数据挖掘分析。”

与此同时,企业越来越不愿意分享好的数据。

安德森说:“现在比几年前更加困难,因为我们的客户更加保护他们的知识产权。”“对于这些测试用例,我们通常拥有比过去更少的数据访问。此外,当您有一个新的技术节点时,数据每18个月就会发生变化,您几乎必须从头开始。如果从一个节点移动到另一个节点,哪些可以重用,哪些必须丢弃?当涉及到算法开发时,你可能会有更清晰的理解,因为有人写了它。当它在数据上训练时,它就变得有点模糊了。我不知道我以前做过的训练是否应该扔掉并替换掉,或者我是否可以重新使用其中的一些。这些答案还不存在。

考虑一个路由规则。这个规则是由一个研究了足够的制造数据的人制定的,他发现这种特殊的物理结构对成品率非常不利,或者它会导致短路。这些规则有很大的回旋余地。利润无处不在,无论是在时间上还是在制造上。这允许您解释流程中的一些不准确之处,因为流的每个部分只能以特定的精度水平对事物进行建模。

从理论上讲,整个领域都可以通过机器学习建模,完全由数据驱动。安德森说:“这可能会降低利润率,改善整体流程,但这需要所有人共同努力,从晶圆代工厂开始。”代工厂会保护他们的数据。他们甚至不给我们的客户,我们的客户将不得不与我们分享这些数据。我们不是生活在Facebook或谷歌的世界里,在那里你挖掘的所有数据都是公开的。”

未来
人类有先入为主的观念和偏见。他们可能认为他们知道一些东西,因为这是他们上次学过的,但这可能是错误的。这可能不再适用了。此外,人类通常无法处理大量数据并理解其中的上下文。有些地方人类更优秀,有些地方机器算法可以超越人类。

试图预测合成空间中的关键路径,或者放置空间中的关键路径,与流的终点的关键路径相比,这是一个未解决的问题。安德森说:“如果我要引入一种机器学习算法,我不会取代目前工作非常好的东西。”“我试图做得比现在更好,现在什么都不是,所以从技术上讲,我不可能做得更糟。正因为如此,我们主要专注于使用机器学习算法来预测目前很难用启发式方法解决的事情。我坚信其他技术,如强化学习,在EDA领域有很好的地位。”

ML是否会被用于解决纯分析问题尚不清楚。数据访问和数据变化的速度可能会限制它在那里的用处。但强化学习似乎将在未来发挥重要作用。



1评论

凯文·卡梅隆 说:

将AI/ML应用于EDA所需要的只是一个快速模拟模拟器,一个准确的提取工具,以及所需行为的软件描述——最好是像神经网络(而不是RTL)这样的东西。

如果你想用开源来做,提取工具可能是唯一棘手的部分,但你可能可以训练一个人工智能来做这项工作。

http://parallel.cc
https://xyce.sandia.gov/

留下回复


(注:此名称将公开显示)

Baidu