AI / ML / DL上做出权衡

优化工具和芯片是打开新的可能性和添加更多的复杂性。

受欢迎程度

机器学习、深度学习和AI越来越被用于芯片设计,和他们被用于设计芯片,ML / DL /人工智能优化。面临的挑战是了解双方的权衡,这两个正变得越来越复杂和相互交织在一起的。

在设计方面,机器学习被视为只是一个工具在设计团队的工具箱。然而,这是开始改变。随着数据量的增加,这是成为一个更有用的工具。精度提高,所以的可能性是可以用这种技术——使用AI / ML / DL芯片和系统帮助设计和优化复杂的芯片,还包括各种AI / ML / DL组件。

“很长一段时间,我们一直专注于机器学习,它本质上是一种统计的方法处理,“亚斯Mitra说,产品营销总监Tensilica人工智能产品节奏。“这不是新的,但是突然的数据泛滥引发了这个人工智能领域称为深度学习,和深度学习本质上是一种统计处理。只是现在有很多很多的投放数据,所以可以创建更好、更深和更大的模型。”

这是真的,事情开始变得复杂。可以更快地处理这些模型使用专门处理数组元素,通常高度并行处理矩阵乘法的网速。和内置智能的一些版本,他们也可以评估不同的配置和IP选择更快的优化能力,性能,和区域/成本。

“大多数人工智能芯片只是大,复杂的soc,很多传统的EDA行之有效,”尼尔说,主任策略,设计验证技术西门子数字行业软件。关于人工智能芯片”的好处之一是它们非常规律的结构。他们基本上大的处理器或mac或特殊内存体系结构。他们非常常规的结构核心计算,然后允许EDA工具利用常规结构为了说,“这是我可以层多次和获得更好的性能。在那样的层次,一个人工智能芯片并没有任何的区别真的比一个大型处理器集群或任何其他类型的设计。还有其他地方变得有趣一点,您可以使用人工智能等做出更好的人工智能芯片,因为它只是一个非常大的芯片。

这意味着AI / ML / DL算法可用于EDA工具来管理更大的设计,并发现潜在的弱点或缺陷在这些设计。”作为设计变大,获得的数据量大,竟然和AI /毫升是一个很好的方式获得更好的布局,更好的根本原因分析,寻找那些针在干草堆。播放到开发,“手说。

它还开辟了一个全新的机会,EDA和IP公司,预计将增长ML / DL和更广泛的人工智能分类集成到设计流程。

“从软件复用的角度看,我们越来越多地看到公司想productize功能软件构建块,这样机器学习推理事物发生,”Steve罗迪说,首席营销官二次曲面。“如果你要写一个申请,说,手机作为一个目标,你有一个软件开发工具包,一群预先准备的软件。人做过多年,年复一年。以前,这一切可能已经紧密地嵌入C代码写的。现在,有一个扩散的语言,所以有高级脚本的方法,比如Python快速和容易写。”

这可以显著缩短上市时间的一些最复杂的设计。“你可以得到一个对象探测器已经pre-trained和准备好了,像是ResNet 1000班,1000个对象,你可以将它部署,“罗迪说。“你不需要再培训。你不需要了解培训,得到的所有数据集,样本和performance-optimize它。你名字,你可以说,“这是这个东西,可以识别1000个不同的对象,我要用我的智能设备在家里,或者我要把它放在我的Roomba就可算出它在房子里四处走动,常见的日常用品不应该撞到。‘你并不总是必须有一个自定义构建块的和定制的培训。它不像特斯拉想要自动驾驶汽车,所以他们必须有自己的图像和训练自己的神经网络,因为它是一个生死攸关的情况。但是并不是所有的生命或死亡。很多时候只是如何快速获取设备出了门。我想让软件运行,船,继续下一个。”

如此重用构建块,可能是也可能不是启发式C代码或机器学习成为常态,和工程团队可以确定这是一个performance-optimized段代码。“它已经是一个优化的事情吗?我许可或重用一个软件包从别人已经做了的工作吗?太好了。如果没有,我得去训练自己。这两方面展开,”罗迪说。

内存方面的考虑
记忆在任何先进的系统是一个关键的系统架构考虑,但当涉及到人工智能/ ML / DL芯片,可能需要AI / ML / DL找出哪些是最好的选择,将不同的记忆。性能很大程度上取决取决于你需要处理的数据量,它必须走多远,它是存储和访问。这只是开始。

“减少精度数据类型是一个重要的特性,使得带宽和容量更有效地使用,”史蒂文说哇,杰出的发明家和研究员Rambus。”而不是使用32位参数,16位和8位参数常用,甚至一些系统使用2比特或出的参数。使用16位参数允许将两倍的参数存储在内存中32位参数相比,和比例上升的参数大小。带宽也有好处,因为两倍的每秒传输参数可以用16位值相对于32位的值。有一个折衷的准确性,和设计师需要注意减少精度如何影响性能的人工智能任务。混合精密加工是一个变化,做一些操作,比如复制在一个精密(例如,在16位bfloat16精度),而积累在更高的精度(例如,32位精度)。”

稀疏是另一个技术,有助于拉伸系统的容量和带宽资源。“权重等参数值接近于0可以修剪(设置为0),这样他们不需要存储,因此不需要进行计算,”吴指出。“这又节省内存的能力,因为只有零参数需要存储,和节省带宽。计算得到减少。与简化参数大小,稀疏也会影响模型的准确性,所以建筑师需要意识到在他们的系统上稀疏的影响。”

好消息是,许多这样的权衡是熟悉设计团队在最先进的工作流程节点。说:“同样的挑战存在西门子EDA的手。“如果你想把它整体,你看看系统层次,您确定您的性能需求,那些一路跟踪,确保你正在做的工作是实现。你可以利用仿真和模拟性能是什么样子。与仿真原型设计,您可以开始运行实际数据集,看看它的工作,或者你可以如果你把模型的工作流开发人员使用。”

二次曲面的罗迪认为并不重要你是否运行C代码还是运行机器学习代码,因为两者都可以在相同的平台上运行。“如果你构建自己的网络或培训自己的网络,你得通过一系列步骤来计算出网络的需要,即使是诸如位精度。这是在浮点受训。我需要所有的精度浮点当我运行推理,或者我可以转换为int八,大多数人做什么?你可能会失去1%的准确率,但你现在已经缩小模型中权重的大小的四倍,而你削减能源的10倍,为例。所以你必须经过一些分析弄清楚这一点。甚至网络的复杂性。假设这是一个探测器,有很多类,大量的不同类型的对象。我真的需要能够识别1000个不同的对象,还是一个孩子的玩具,我可以削减类的数量,所以只有认识到孩子的脸,或者少量的东西是孩子的卧室?开发速度和性能的最优开发人员必须经过的权衡。 Anything that can be handwritten with heuristic C code could be trained with a neural net probably a lot faster. But you’re going to use more compute cycles each time you run the inference compared to a finely handcrafted piece of control code.”

我们的目标是平衡性能的权衡。“看看这些特定的客户“问”部分,“节奏的Mitra说。“了解市场的走向。看一些这些应用程序非常认真地说,“如果这些工作负载,我们想启用,权衡我们要做什么,例如,功能,如量化,内存大小,多少mac或多少处理元素实际上我放在那个特定的事情。可扩展和灵活的设计应该如何?我的折衷点是什么?设计的甜点是什么?”同时,事情平在哪里?如果我创建这个设备这个甜点,我可以创建一个变量或一个不同的SKU不同的甜点吗?每个甜蜜点的都有自己的权衡就多少量化和记忆我放下。 How much logic do I put down? What is the ratio between compute versus data movement?”

准确性是AI /毫升的权衡模型。”在一个自治车辆应用程序中,识别路标或行人最高水平的准确性是有意义的,不应该是一个惊喜,”戈登·库珀说,产品营销经理Synopsys对此。“有时这是因为客户会给我们一个网络说,“告诉我们我们要比较基准对你的竞争对手你能跑多快。这网络有一个内置的准确性。所以我们必须满足准确性的GPU可以做一个高效的加速器。我们的8位而不是32位浮点- 8位整数。在加速器领域,我们必须找出如何提供相同数量的准确性在一个较小的区域有更多的功率效率。有一个量化的挑战32位8位,或者8位和16位的组合,也许几层。有多个摄像头和增加帧大小,数据移动是一个挑战。即使你把大量的繁殖,你如何移动数据有效吗?”

每次使用外部存储器,它影响性能和功耗。“你怎么把数据和最大化数据之前的美好,你必须去获得另一笔吗?最重要的是,这一趋势是更高水平的性能,”库珀说。“数百次浮点运算的性能是ADAS的起点。所有的ADAS是全方位的。我们看到雷达和激光雷达——人们使用变压器和卷积神经网络的点云。过去非常的DSP的问题,现在我们已经看到这是一个DSP /神经网络问题。”

结论
芯片设计迅速改变是由于ML / DL /人工智能,所以是芯片本身。

“ML的方式打开闸门,新创意不断,”Mitra说。“你不是另一个IP,别人能做的,添加一些更好的设计只是从设计的角度来看。船上的更多关于新创意和许多其他的设计,有自己的权衡。但闸门打开,因为每个人都会看这些东西,看到一个机会来构建自定义或一些新的设计技术。您可以启用一些别人不能的市场,并给予10倍或100倍的改善。再次,闸门打开,因为没有规范,没有做某件事的一种方式。使其复杂而且具有挑战性,同时允许扩展的边界的机会今天我们所知道的。”



留下一个回复


(注意:这个名字会显示公开)

Baidu