中文 英语

EDA中ML的障碍

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

人气

是EDA一个合适的利用空间机器学习(ml)?答案取决于许多因素,包括究竟在应用程序,从行业中有多少支撑,以及是否存在明显的优势。

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

例如,门级抽象为功能提供了高精度和精确的抽象。在90nm左右之前,它用于为时序提供可接受的抽象。此时,抽象失败并经常导致富待遇的崩溃,这使得难以达到时序封闭。抽象必须被精制地包括导线对延迟的影响,这意味着必须组合实施的实施功能和物理方面。反过来又增加了对算法的相当大的复杂性。

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

这种挑战并不只存在于物理实现和验证中。在系统空间中也存在类似的挑战,不断增加的并发性和复杂性增加了理解方面的挑战。例如,指令集模拟器可以在指令精确、时间近似或周期精确的几个定时精度级别上操作。行为可以依赖于秩序,而秩序可以随着时间的微小变化而改变。如果这对所做的决策很重要,那么就必须选择正确的精度级别,即使它会影响工具的性能。

了解这些类型的限制是基于随着时间的推移获得的知识。当他们第一次到达市场时,新的工具和新抽象很少受到信任。随着时间的推移,建立了信心,工具改进了考虑到光明的其他信息。

感知与现实
很多人都在考虑ML内部的适用性EDA空间。虽然经常在所提供的数字中显示出良好的准确性,但ML经常令人惊讶的低保真度。它有时只需要一个非常小的输入变化,以产生输出的非常大的变化,并且没有人可以解释原因。这意味着您要么需要更多的数据来提高准确性,或者您需要限制允许其制作无监督决策的区域。

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

“如果你看一些自治车等一些例子,你可以争辩说,完全自动驾驶可以杀死你,”AI和机器学习解决方案集团副总裁托马斯安德森说Synopsys对此。“如果他们没有干预,肯定会发生有人被杀的情况。就自动驾驶汽车而言,你是在自动完成一项今天几乎完全由人类完成的任务。人会犯错误,但机器通常不被信任。假设发生了一场事故。它会被放大,每个人都会指出技术还不成熟——即使它在统计上比人类好得多。人类也会犯错误。在自动驾驶汽车的情况下,不允许出错。在芯片设计中,你也可以这么说。如果我制造了一个芯片,但我没有满足我的把握时机,整个芯片就不会工作,因为那个错误。”

这如何适用于EDA呢?
“机器学习可以用于EDA中的两个单独的应用类型,”Andersen解释说。“第一个正在取代现有的启发式方法。考虑实施和签名验证工具。在实现空间中,您具有放置算法,并且签出您具有静态分析算法。物理空间中的验证算法可确保您尊重某些规则。现在,您可以用基于机器学习的预测因子替换这些启发式中的一些启发式,以及它们的工作方式还是更好,您将需要足够的培训数据,并且您将需要正确的培训数据,否则它将无法工作。“

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

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

一种不同类型的机器学习用于玩游戏,或教授系统玩游戏,这些游戏被称为强化学习。强化学习不是预测方法。您不会在数百万数据点培训它,然后尝试预测某些东西。它的工作更像是您基本上尝试通过戳戳来了解复杂的系统,并查看它是如何响应的,然后您从该响应中学习。

这是ML的第二个应用程序,它涉及到现在由人工完成的任务的自动化,比如操作EDA工具。他们运行一些东西,提供特定的输入,他们调整一些东西来达到特定的QR目标。

“强化学习可以像人类一样,尝试许多不同的实验,学习基于这些输入的工具上的特定设计是如何运行的,并得出结论,”Andersen补充道。“然后它可以通过搜索一个大的搜索空间来给我一个答案。在我们的实验中,我们发现它总是比人类做得好,仅仅是因为人类不能同时做100次运行,然后得出关于系统如何对特定输入作出反应的确切结论。”

使用ml有明显的优点。“在EDA流中使用ML的目标并不是为了能够产生比最经验丰富的工程师更有效果的能力,”Digital&Subsoff Group中的业务发展总监Dave Purrley说:韵律。相反,它是为了帮助你的工程团队在积极的计划约束下达到并超越积极的动力、性能和区域(PPA)目标。其目标是通过提高抽象级别来提高工程师的工作效率。为高级合成(HLS),抽象级别在设计输入方面,编写无限的SystemC / C ++并允许HLS工具创建周期准确的RTL。对于ML具有EDA流,抽象级别在EDA工具的使用模型中,指定了更高级别的设计目标,并让工具微管理何时何地转动所有旋钮和交换机。“

其他人也同意。“机器学习永远无法代替我们完成这项工作,”该公司的验证总监达科·托穆西洛维奇(Darko Tomusilovic)说Vtool。“它只能够帮助我们。我们应该努力寻找机器学习可以提高效率的方法,使我们更加富有成效。我们不应该指望ml要做工作而不是我们,因为那么我们最终会非常失望。“

ML还需要一些思维方式的改变。ML以分布和概率的形式报告结果,而不是固定的数字。定义什么是足够的准确性可以根据应用程序而变化,但也可以根据ML使用的是预测模型还是强化模型而变化。

这都是关于数据的
在有足够高质量数据的地方,ML可以提供相当大的帮助。

“ML可用于找到人类永远不会找到的异常,”Simon Davidmann(CEO)表示Imperas软件。例如,服务器群中一个处理器的故障导致公司向客户收取过高的费用。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是否会被用来解决纯分析问题还不清楚。数据访问和数据变化的速度可能会限制它在那里的用处。但强化学习似乎将在未来发挥重要作用。



留下一个回复


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