中文 英语

人工智能的自动化

圆桌专家,第一部分:AI硬件和软件的分离是否会带来问题,AI硬件平台将如何影响算法开发?

受欢迎程度

《半导体工程》杂志坐下来与Metrics总裁兼首席执行官Doug Letcher讨论了EDA在自动化人工智能和机器学习方面的作用;丹尼尔·汉森,首席执行官Verifyter;哈里·福斯特,首席科学家Mentor是西门子旗下的企业;拉里·梅林,产品管理总监节奏;Manish Pandey,Synopsys对此研究员;以及首席执行官莱克·布林克曼OneSpin解决方案.以下是那次谈话的节选。

SE: EDA行业一直在努力实现硬件和软件的分离。虽然它现在正试图将软件的某些方面重新引入,但该行业仍在努力解决硬件和软件组合的系统级问题。随着机器学习和人工智能的发展,这个行业似乎也在做出同样的选择,允许硬件和软件分离,这可能是同样的错误。

福斯特:我不认为硬件和软件的分离是一个错误,我也不认为这是目前最大的问题。我们正在从图灵架构转向统计架构。这才是真正的挑战。它不是硬件/软件分离。考虑高端服务器。使用非常好的并发处理器进行开发有一个明确的分离,这样做是为了方便验证和发展。例如,在硬件和软件世界之间存在api,因此开发可以独立和并发地进行。我确实看到了优化的意义,但我不认为这是最大的问题。

Pandey硬件和软件的分离一直存在。尽管我们非常喜欢进行硬件/软件协同设计,但实际上,如果您想构建一个高端事务系统,例如数据库系统,那么开始验证整个端到端堆栈是没有意义的。我们没有能力这样做。我们有一个抽象的分离;我们验证ISA,也可能验证编译器,但是验证事务是否通过数据库——对于ISA级别的验证来说,这个抽象级别太低了。以同样的例子,当你看机器学习应用程序时,你看典型的应用程序自动驾驶汽车——你有传感器,你做传感器融合,你尝试识别物体美国有线电视新闻网.这种级别的验证——你如何捕捉它呢?我们今天能做的最好的,也是相当合理的分离,就是当你验证神经网络处理器时,你要确保每个操作都能正常工作。作为一个整体,系统的行为是完全不同的——我们甚至不能很好地描述它。这是一个正在进行的研究课题。你怎么解释发生了什么,如果你不能解释,你就不能写断言来验证一下。如果有一种技术就好了,但现在还不存在。你无法端到端验证人工智能系统。

福斯特:你说我们甚至连描述它都有问题——一个确定性系统意味着你输入A,然后你期望y。这在人工系统中是不正确的神经网络.你输入A,就有得到y的概率,这是设计中的错误还是超出了概率?

Pandey实际上,这些系统是确定的。给定一个示例或图像,如果系统运行正常,它总是会提供相同的答案,但您是正确的,因为答案是基于它是一只猫或一个行人过马路的正确概率,它可能是99%的概率——但硬件是确定性的。只是结果可能并不正确。

福斯特当你研究一个简单的神经网络时,它只是一个mac的数组。这些都很容易验证,我们已经这么做很长时间了。

汉森人工智能的关键在于,当我们谈论系统级结果时,它是统计数据。你需要一个确定性的框架来验证结果,因为有时它会做一些聪明的事情,有时它会做一些愚蠢的事情。你需要确定性框架来知道你在高速行驶时是否应该掉头。您可以验证框架,但不能验证每个结果的结果,并期望它在一定范围内。

Pandey:这些系统是确定的,但现实世界的情况总是不同的。如果你的车正在决定它是否应该改变车道,给定一组精确的输入,硬件和软件会做完全相同的事情,只是有很多变化。

汉森:你做了一个确定性的硬件,但在这个场景中,可能会有从未见过的输入刺激,结果你可能会得到随机输出。

莱彻:您正在验证一个通用处理器。这方面的培训是另一回事。在对它进行训练之前,您无法验证它将在应用程序空间中做什么。就像任何处理器一样,验证所有应用程序的状态空间非常大。所以问题是,‘在训练之后,你是为特定的应用程序验证它,还是将它作为一个可以被训练做任何事情的处理器来验证?”

Brinkmann:两个循环有两个驱动器。一个是将算法作为驱动程序的软件方面。算法创新的进展比摩尔定律以很大的优势机器学习的一面。因此,目前算法的进步比芯片更重要。另一方面是经济。您不希望为每个应用程序单独更改硬件平台。您需要重用它,否则您将无法从软件中获得足够的优势。如果你有一个足够通用的平台,这样你就可以将不同的算法映射到它上面,那么这就是今天人们试图用可编程逻辑、处理器、加速器等构建的东西。你需要多个版本的算法映射到它,并利用软件上的创新。当你看到验证和分离时,你必须验证平台,这有多个方面。是面料的吗FPGA正确地建造的?处理器在做它的工作吗?这样做时,您可能没有考虑到应用程序。你验证平台的特征,这样你就可以提供一些保证,如果你考虑将模拟块用于机器学习,也许只是在未来的统计上。但是,他们仍然是关于平台的保证。其次,您需要验证算法和应用程序。现在你可以验证你得到的是猫还是行人。第三,验证到平台的映射是否有效。如果它进入FPGA,生成的RTL是否正确地映射到FPGA?这些是相互关联的不同生命周期。 The verification on the algorithmic side will be repeated for multiple versions of the algorithm based on new data from the field, and you have to repeat the mapping process and the verification while the platform remains unchanged. That is why the platform has to be robust. So the separation is actually getting stronger.

悟道:人工智能的一个重要比较是gpu的发展。如果你仔细观察,GPU也有同样的问题。这不是一个绝对的答案。这取决于对屏幕上所呈现的内容的视觉判断,如它是否足够平滑,阴影是否正确等等。人工智能也有同样的问题。这是将被放在硬件上的微码,它将产生一个系统,我们可以问,‘它是否给了我正确的体验?我得到预期的答案了吗?”With a GPU you had a golden eye—the people who were the aesthetic judges. We do not have that with AI because the algorithms are so diverse. We may have to borrow some verification technology and move it into the software world, where they are doing algorithms and try to work out how to randomly expand their test sets or their training sets in order to get higher-quality algorithms. At the end it will be statistics that judge the outcome and if we have achieved the desired results.

汉森:实际上,这与随机测试没有太大区别。随机测试是一个巨大空间的子集。机器学习也可以被验证为一个巨大空间的子集。

悟道我们都见过这样的例子,有人把两段胶带粘在一个停止标志上,但它不再被识别。

Brinkmann:机器学习有许多新的验证挑战,例如描述数据集,寻找异常值,寻找偏差。统计是一回事,但充分理解空间,对它在不确定情况下的表现做出一些好的预测是一个巨大的挑战,这就是我们需要一种新型验证的地方。

福斯特我们在这方面没有很好的衡量标准。今天,覆盖的整个概念正在从应用和算法的角度进行辩论。

SE:在硬件/软件领域,软件迅速成为王者。硬件不能以任何方式改变而破坏软件。结果,我们被现有的isa所困,仅仅是因为现有的软件。对于AI,我们开始使用现有的isa,但它们没有足够的计算能力,所以我们迁移到gpu。为人工智能开发的算法现在正受到gpu的严重影响。然而,我们也意识到gpu的性能不够好,而且消耗了太多的电力。算法似乎在说,我们没有合适的平台来进行推理或训练。这看起来是一个不稳定的情况。谁将取得突破——硬件还是软件?

Brinkmann:如果我说新的ISA实际上是Caffe和TensorFlow,你会不同意吗?抽象已经被虚拟化了。您不再关注处理器抽象。当谈论机器学习时,你谈论的是将Caffe或Tensorflow算法映射到可用的硬件上。它不关心ISA,也不关心它是GPU还是FPGA。你已经离题了。但你必须在某件事上达成一致。否则,您将无法在不同的平台上使用相同的软件。接口变为虚拟。

莱彻:它一开始是CUDA和openl之类的低级标准,但它们已经被TensorFlow或等价的高级接口所取代。

Pandey今天的语言——张量——发展迅速。有人说人工智能需要一种不同的语言,但我们处理的基本单位是这些张量。多维数字矩阵。我们有软件为王的问题,现在我们处于由经济驱动的不稳定局面。10年或15年前,由于技术改进和微架构的进步,处理器性能不断提高。当你不需要在软件上做任何事情就能每年增长50%时,那么传统的应用程序就不会改变了——这只是一个经济问题。但今天的情况有所不同。首先,对于机器学习应用程序来说,核心性能的增长速度不够快。你必须考虑新的微建筑技术。英伟达目前的处理器正在处理整个矩阵乘法。 These tensor units in the GPUs—everyone is coming up with different types of neural-network processors—these are all about doing large tensor operations efficiently. We are at a point where, when you think about applications, think of what the hardware architecture is going to be. I suspect that with so many startups working in this field, that there is no place in the market over the long run for 30 or 40 companies. The numbers will whittle down. Probably, as with the markets in general, we will settle on standard forms, languages, micro-architectures. But we are a long way from that today. That is what makes the area exciting right now.

福斯特我怀疑它会在萎缩之前增长。在今年的DAC会议上,共有92篇关于机器学习架构的论文提交。这比去年增长了64%。这个领域正在进行大量的研究,我们将看到更多的创业公司,直到它全部崩溃。

汉森:人工智能是由软件驱动的。这意味着我们必须改进硬件,但这是由软件驱动的——甚至在文化上也是如此。如果你看看AI/ML,一切都是开源的。它是可下载的,你可以玩它。人工智能算法中没有昂贵的EDA公司。这是一个非常开放的环境。硬件世界试图提供能够适应这种情况的硬件,但这正是驱动因素所在。

悟道:我们正在努力提供足够快、足够低功耗的部署平台。我们还必须区分它的两个方面——训练和推理。训练,这是非常繁重的,计算密集型的,推理和部署,这是更低功耗的。它仍然需要有性能来获得必要的响应时间。这两种系统是不同的。两者的权衡是不同的。人们正在寻找新的内存架构以及如何在单比特算法中实现。这些都是我们正在考虑的事情,这样算法就可以以低功耗和低成本的方式部署。

Pandey标准正在慢慢出现。您遇到了创建模型的问题,然后在其他地方使用它,例如ONNX。(ONNX是一种表示深度学习模型的开放格式。通过ONNX, AI开发人员可以更容易地在最先进的工具之间移动模型,并选择最适合他们的组合。)并不是每个人都支持它,但是这样的模型交换标准正在出现。目前还不清楚最终的标准将是什么,但如果我们谈论数据模型是机器学习的货币,那么这是一个需要标准化的领域。这在很大程度上是一种软件驱动的文化,但它有两个方面:在模型开发期间,以及推理的部署,这与硬件更接近,因为几乎相当于微代码。

汉森:也许将来会标准化。这里容不下40种不同的芯片。

Pandey:模型的标准将有助于这一点。它展示了如何表示您的值和数据。根据我的观察,这些框架都是开源的。被严密保护的是数据集。这是一个非常重要的组件,当你想到一个验证框架时,它是数据集的所有者拥有权力。因此,即使我们知道API,我们也不知道数据集或潜在的应用程序。

悟道:这就是EDA的用武之地——数据集的自动化和扩展,数据集的改进。从验证中学到的一些经验教训,以及如何将它们应用到这个问题上,对于加快算法的质量将是必要的。

Brinkmann但是问题仍然存在——谁来为这个问题设定标准或期望?到目前为止,监管委员会的人还远远没有意识到这是一个需要验证的问题。数据集是验证需要去的地方,也是真正的问题所在。

汉森:在学术界,在某些领域,他们会在Github上上传数据集,这样他们就可以对这些数据集进行研究,并衡量他们的算法,但这并不用于验证。

福斯特:人们对数据集中的偏差有很多担忧,而且数据集也在老化,因为世界在发展,我们不得不不断地丢弃数据。这也必须考虑到数据集的验证。



留下回复


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

Baidu