微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > 机器学习“邂逅”芯片设计,将会碰撞出什么火花?

机器学习“邂逅”芯片设计,将会碰撞出什么火花?

时间:06-03 来源:半导体行业观察 点击:

机器学习是近段时间以来的大热门,而尽管 EDA 处理的也是大数据类型的问题,但在将机器学习技术整合进 EDA 工具方面还没有取得很大的进展。

许多 EDA 问题和解决方案本质上就是关于统计的,这说明机器学习自然而然适合 EDA。那为什么这个领域在采用机器学习技术上如此缓慢而视觉识别和搜索等其它技术领域却可以如此轻松地接纳它?

Solido Design Automation 技术运营副总裁 Jeff Dyck 表示:"你可以感受到这是一个机器学习问题。我们有大量的数据,但我们可以应用哪些方法来解决这些问题?这才是难点。不是说读一本教科书或学一门课就能将这些方法应用到所有问题上。工程问题需要一个不同的角度。"

在深入了解机器学习在哪些地方有所应用之前,我们先看看一些问题。

从基于规则到深度学习
我们首先对这些技术进行一个分类吧。"从最广义的角度讲,在 EDA 领域,我们全部都已经习惯了基于规则的方法(rule-based techniques,RBT)。"英伟达资深工程总监 Ting Ku 解释说,"实际上机器学习是RBT的一个子集,而深度学习又是机器学习的一个子集。RBT是确定性的,不会涉及到数据库,也不会定义特征。而机器学习的出发点是统计的,而非确定性的,而且因为必须从经验中学习,所以还会涉及到数据库。使用机器学习,我们也许还需要预定义的特征,而这正是机器学习和深度学习的区别。对于深度学习而言,除了没有预定义的特征,其它都和机器学习一样。所以问题来了:‘特征(feature)是什么?’"


图 1:技术分类

一旦你有了特征并存储了足够的数据,你就要想办法把它们用起来。"搜索整个设计空间是不切实际的。"NetSpeed Systems营销和业务开发副总裁 Anush Mohandass 说,"由于该空间高度非线性的本质,搜索时间会随着搜索范围扩大而指数级增加。对于这样的问题,机器学习(其中,过去的解决相似问题的经验可被用作训练数据,从而学习和预测可用于相似的新问题的解决方案)表现了巨大的潜力。"

机器学习的方法有很多,大体上可分为监督学习、无监督学习和强化学习。大多数 EDA 应用都着眼于监督学习。E3 Data Science 的 CTO Eric Hall 解释说:"有两种类型的监督学习。回归(regression)可用于我们想要预测数值的情况,而分类(classification)则可用于预测多个结果中一个结果的情况。可以解决这些问题的机器学习算法有很多,但是却没有任何一种能够单独解决所有问题。"

也还存在其它问题,Hall 补充说:"在寻找未被发现的特征来对非线性进行建模方面,深度学习技术表现很出色,但它却是一个黑箱,难以解释而且可能需要很长的训练时间。"

训练
机器学习技术的表现取决于其训练所用的数据。"机器学习是一个迭代过程,"Ku 说,"机器学习算法根据输入数据有相应输出。这些输出可能不正确,所以你还必须要验证。完成之后,这些数据又被包含回数据库。这时候就该开始再训练(rertraining)了。这个循环一直持续。在某种程度上,我们希望这些迭代循环能够使得该模型相当准确,使得其在看到一个新案例时能够做出很好的预测。"

在许多案例中,数据可能来自于以前的设计,但这就够用了吗?Solido 的 Dyck 说:"想象一下,假如有 2000 个并行工作的 SPICE 模拟器要解决一个我们以前从未见过的芯片的一种从未见过的制造工艺问题。我们可以收集一些过去做法的信息并使用这些信息来塑造模型,但我们也有实时数据。这是实时机器学习以及实时构建模型。"

而实时学习还有其它很多问题。"如果流数据(streaming data)出了什么问题或者有会污染模型的错误答案,那你就需要过滤或调整它--而这是非常艰难的。"他补充说,"我们需要自动恢复和修复。当出现问题时,你必须要能够对流数据进行调试。"

但调试机器学习系统还是一个相对未知的领域。验证技术就算有,也只是寥寥无几。

涉及 EDA 流程的学习还有其它一些类型。"我们需要能通过设计实现过程获取知识,"高通高级技术总监 Sorin Dobre 说,"EDA 有一个很好的机会,可以将监督和无监督机器学习解决方案扩展用于设计流程优化(design flow optimization)。我们有20 年经验的高级工程师可以确保高质量的设计,但我们也需要帮助刚刚开始的设计师。我们没法等上五年时间才完全发挥他们的生产力。"

就算对经验丰富的设计师,这个工作也正变得越来越难。"过去,架构师根据他们的经验来设计互连(interconnect),并且根据他们的直觉来做出关于拓扑结构和布线选择的关键设计决策。" NetSpeed 的 Mohandass 说,"但是,这种方法并不适用于片上需求非常多样化的异构系统。由于多个片上器件之间交互的复杂性,要设计一种接近最优的,而且能够工作的、表现良好的、还考虑了所有用例的互连实际上是不可能的。"

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top