中文 英语

机器学习的增长鸿沟

在机器学习领域,这个行业是否正走向另一个硬件/软件的鸿沟?双方都有不同的目标。

受欢迎程度

机器学习是最热门的开发领域之一,但到目前为止,人们的注意力主要集中在云计算、算法和gpu上。对于半导体行业来说,真正的机会在于优化解决方案并将其包装成可用的形式,例如在汽车行业或电池驱动的消费者或电子产品中物联网产品。

效率低下往往是因为现成的东西,这在机器学习中肯定是如此。例如,gpu已被证明是最高性能的训练解决方案。因为这些设备是基于浮点数的,所以机器学习算法是基于浮点数开发的。

边缘器件的推理不能使用浮点数,必须将系数转化为不动点。但是训练可以用定点吗?很有可能,尽管专门用途的硬件才刚刚开始被考虑。目前尚不清楚算法开发和工具是否过于根深蒂固,以至于无法改变,迫使该行业继续沿着与通用软件类似的低效道路前进。

最大的问题是,这个行业是否会走向另一个硬件和软件的鸿沟。这一次,它可能会表现为云/嵌入式的分歧,除非能做些什么来让双方走到一起。

Babblabs的首席执行官说:“在任何给定的时刻,都可能有数万或数十万个网络正在接受训练,但我们很快就会生活在一个有数百亿个网络进行推理的世界。”

我们今天的处境
大多数算法的开发都集中在云计算上,其中很大一部分假设推理也会发生在云计算上。推理所需的计算能力是训练所需的一小部分,因此很少受到关注。


图1:训练推理划分。来源:英伟达

这种分歧是真实存在的吗?“你面对的是一个饱受算法设计者和实现者分歧之害的群体,”微软嵌入式系统部高级研究主管兰迪·艾伦(Randy Allen)说Mentor是西门子旗下的企业.“那些做设计的人使用Matlab和Python,对底层的实现毫无头绪。他们不懂定点,也不想去定点。他们只想让它运行起来,而不是担心如何优化它。”

其他人也同意。“如果你在谷歌级别的空间进行人工智能或机器学习,你将使用一个gpu服务器库,而不用担心这一点,”英特尔嵌入式视觉处理器的产品营销经理戈登·库珀(Gordon Cooper)说Synopsys对此.“但如果你的车里有一个谷歌手机或其他东西,现在你关心的是功率和成本,所以芯片的面积直接影响到这一点。现在你想要的是低功率、低面积的所有性能。”

在嵌入式层面,将利用所有可用的技术。“机器学习是一个广义的术语,包括许多非神经网络方法(例如支持向量机,随机森林)以及深度学习方法,特别是神经网络,”Rowen说。“这些‘不太深度’的学习方法不像深度神经网络那样需要大量计算,因此gpu的理论效率优势和深度神经网络的优势并不明显fpga可能相当无关紧要。”

总的来说,真正的应用程序——即使是那些大量利用机器学习方法的应用程序——由许多其他部分组成。Rowen的列表包括图像预处理、图像缩放、MPEG解码、图像和视频剪辑、感兴趣区域选择、运动检测、背景删除、直方图、转码、分割、数据库访问、数据格式化、平滑、噪声去除、数据增强、人脸检测、FFT、帧对帧跟踪、I/O处理,以及完整处理管道的各种拼接。

硬件解决方案利用历史。Cooper说:“在嵌入式计算机视觉领域,使用传统计算机视觉的工作已经进行了多年,在传统计算机视觉中,你编写一个程序来确定这是否是行人。”“梯度直方图是一种寻找人周围边缘的程序,然后试图确定模式及其对应的内容。这就是矢量dsp使用跨一行像素的大SIMD乘法进行像素处理的地方。”

这意味着今天的许多硬件解决方案是技术的组合,将向量处理和神经网络紧密耦合到一个组合加速器引擎中。而且,像许多其他硬件解决方案一样,需要做出很多权衡。你可以在ASIC中做一些事情,这将提供最低的功率和最小的面积。但如果你想让你的产品经得起未来的考验呢?现在您需要可编程性。油气行业正在快速变化的环境中寻找理想的解决方案。

指标
要优化任何东西,就必须有可以对解决方案进行分级的指标。“目前,对于机器学习性能,我们没有行业基准来衡量,”微软视觉和人工智能产品经理弗朗西斯科·索尔(Francisco Socal)指出想象力的技术.“以图像为例,我们有曼哈顿和霸王龙的得分。现在出现了一些神经网络模型,但它们绝不具有代表性。我预计明年就能看到行业一致认可的基准。”

在硬件领域,功率、性能和面积一直是关键指标。“延迟、吞吐量和功率与机器学习非常相关,”罗文说。“吞吐量通常可以通过简单地应用更多并行硬件来提高,但延迟有点棘手。并行硬件在某些情况下有很大帮助,但由于处理窗口等原因,延迟可能存在基本限制。”

南加州大学在这方面走得更远。“在非常高的水平上,吞吐量(性能)和功率是衡量机器学习性能的正确指标,就像任何其他硬件设计一样,因为它们才是真正重要的。低延迟并不是一个真正的指标,而是一个需求。”

延迟取决于应用程序域,对于某些实时应用程序,可能会有较长的延迟(以秒为单位)——只要吞吐量足够。在其他应用程序中,特别是直接人机交互或汽车和机器人等安全关键系统中,您可能需要以毫秒或数十毫秒为单位的延迟。

对于机器学习来说,可能需要考虑一些额外的指标。这些包括准确性和未来的打样。

权力
考虑到所需的计算能力,计算能力是最大的问题之一。“功率通常与成本密切相关,而成本确实很重要,”罗文说。随着技术的成熟和广泛应用,这一点也变得更加重要。能力也与移动性密切相关,毫无疑问,我们想要把处理能力带到我们去的地方。最先进的神经网络引擎(处理器、可重构阵列、协处理器)由于对神经网络推理所需的计算模式和数据类型的专业化,每操作大约具有100倍的能量优势。”

但这还不够。Mentor Calypto系统部门营销总监埃莉•伯恩斯(Ellie Burns)表示:“许多自动驾驶汽车配备了相当于100台笔记本电脑在卡车上全天候运行的设备。”“这就是它消耗的能量。你不能让雪佛兰伏特装上100台笔记本电脑。电力必须大幅下降。目前,整个行业都在努力解决这个问题,而GPU是目前唯一能在大多数时间里跟上速度的东西。这就是为什么许多人都在考虑使用高级合成来生成定制硬件。”

更低的功耗也可以实现新的应用。“北京有100万个摄像头,每个摄像头每秒产生2.5Mb的数据。OneSpin解决方案.“想象一下,如果在云端进行处理,所需要的能力和数据传输。他们需要更小的设备,更便宜的设备,不消耗太多能量的设备。这就是新架构的用武之地。由于数据移动,标准架构在功率方面存在瓶颈。他们正试图提出改变这种情况或优化网络的架构,使其不那么饥渴。”

功率是机器学习中最大的权衡之一,带宽要求带来了限制。

“神经网络非常需要带宽,因为需要将大量数据加载到加速器中才能运行单个网络推理,”Socal补充道。“内存带宽需求也随着神经网络模型大小的增加而增加,就系数(权重)、输入和输出数据大小而言,这是由今天所看到的端到端和一体化网络模型的使用所驱动的。这对SoC设计师和原始设备制造商。更高的外部内存带宽需要更快的内存模块,这是非常昂贵和耗电的。许多解决方案在性能上受到限制,不是受到推理引擎的计算能力的限制,而是受到系统为神经网络加速器提供所需带宽的能力的限制。”

Lanza TechVentures董事总经理Lucio Lanza补充道:“优化的主要指标是保持处理单元的能力,即占用率。这涉及到延迟和吞吐量。随着摩尔定律被打破,我们应该会看到更多单任务设计的芯片,通常会转向单指令多数据(SIMD),而不是多指令多数据(MIMD)。”

权力也有影响设计的许多方面的习惯。“由于电池功率和低成本冷却系统的限制,能源消耗受到严格限制,”莱迪思半导体(Lattice Semiconductor)高级营销总监迪帕克•博帕纳(Deepak Boppana)表示。“低成本和小尺寸要求使得很难使用带有大量引脚的封装,这限制了外部带宽动态随机存取记忆体.即使存在这些限制,大多数应用程序仍需要实时操作。”

精度
统计过程的准确性意味着什么?Mentor的艾伦说:“在视觉方面,没有明确的算法。“你可以观察一种视错觉,很明显,它可以用不同的方式来解释一些东西。人类可以看到不同的东西。没有百分百正确的答案。它是归纳的,而不是演绎的。如果你能在训练数据上获得97%的准确率,那你就做得很好了。”

与其他指标一样,绝对指标可能并不适用。Tensilica Vision DSP产品线产品营销总监Pulin Desai指出:“在精度方面,汽车和消费者的最终目标非常不同节奏.“我们都想确保这是一个安全的设备,所以汽车可能需要很高的精度。但在消费类设备中,你可能需要低功耗唤醒模式和使用模式。对于永远开机,你想要最大限度地节省能源,但在运行时,你可以使用更多的能源来获得更好的结果。”

能否经得住时间的考验
机器学习正在迅速发展。库珀说:“事情发展得很快,我们必须考虑易用性和未来的可靠性。”“如果你现在做了一些伟大的事情,你可能落后于目标,所以我们必须确保我们所做的一切都是为了未来。在我们所做的工作和设备在产品中发布之间有一个管道,所以我们处于这个过程的早期。从软件的角度来看,我们所做的任何事情都必须持续一段时间。”

德赛也持类似观点。“今天制造的设备将在2019年投入生产。对于汽车行业来说,这可能是2021年。所以这取决于细分市场。可编程性有助于提高灵活性。您可以开发一个硬件加速器,它可能会提供最好的解决方案,但它不能随着技术的发展而发展。专用加速器核心将提供比CPU/GPU组合更好的性能/功耗选择。”

有些应用程序负担不起这种奢侈。伯恩斯说:“当你需要更高的性能或更低的功耗时,你就会制造硬件。“随着时间的推移,我们将看到这些解决方案的组合。”

缩小分歧

硬件社区有责任帮助缩小这种差距。软件已经占据主导地位,该行业可以在不考虑边缘处理的情况下证明他们的投资是合理的。硬件行业可能不习惯这种情况,但如果他们希望看到改变,就必须开始投资。

有关的故事
EDA挑战机器学习
EDA中的许多任务都可以成为机器学习的完美目标,除非缺乏训练数据。怎样才能解决这个问题呢?
在EDA中使用机器学习
这种方法可以使设计更好,更便宜,但它需要大量的工作和更多的数据共享。
机器学习与集成电路设计
机器学习可以在多个层面上帮助半导体的创造,但实现这一点并不像其他应用领域那么简单。
CCIX启用机器学习
系统的普通方面可以成就或破坏解决方案,而接口通常定义了什么是可能的。
机器学习越来越受欢迎
经过20年的试验,半导体行业正争相采用这种方法。



7评论

凯文 说:

就我个人而言,我看到更多的是我所熟悉的东西的融合——很多神经网络处理是类似于电路模拟的代码模式(行为模拟,快速spice)。

像Verilog-AMS这样的语言可以很容易地用于描述神经网络。你甚至可以使用“流”作为强化反馈。

以上这些人有一种认知失调,因为他们都是数字的,可能讨厌模拟的,看不到两者之间的联系。我看不出他们有什么分歧。

布莱恩•贝利 说:

我不得不笑了——是的,自从晶体管发明以来,模拟/数字鸿沟就存在了。我很想看到一些模拟机器学习的工作。我相信这只是能量的一小部分。

布莱恩•贝利 说:

我不得不笑了——是的,自从晶体管发明以来,模拟/数字鸿沟就存在了。我很想看到一些模拟机器学习的工作。我相信这只是能量的一小部分。

凯文 说:

你很幸运,这些家伙正在做RISC-V -封装的模拟乘法器

https://www.mythic-ai.com/technology/

Benoit B。 说:

CNN/DNN的研究发展得如此之快,以至于面向未来的硬件是基础。一个完全硬编码的神经网络很快就会过时,这不是我们要走的路。

可编程硬件加速器提供了更大的灵活性,但即使是它们也无法预测未来网络的结构和操作。这就是为什么硬件加速器需要通过软件进行扩展,以处理硬件中不支持的操作。

最后,也许是最重要的,我很惊讶fpga没有在这个讨论中被提及。它们在数据中心(微软、亚马逊、华为……)获得了增长势头,并且出现在许多嵌入式/物联网产品中。它们提供了最大的灵活性,包括能够重新编程神经网络加速器,以利用神经网络研究的最新进展。推断精度迅速从32位提升到16位,现在是8位。4位及以下都在视线之内。cpu / gpu /HW加速器有固定的数据路径,不像fpga那样容易利用这种进化。

*注意:以上所有内容都适用于推理,而不是训练。

布莱恩•贝利 说:

你对fpga的看法是对的。对于推断,efpga更有可能是人们想要去的方向,我将在2月份的一篇关于映射的文章中讨论这一点。我确实希望今年能看到eFPGA芯片的大量发布。

布莱恩•贝利 说:

你对fpga的看法是对的。对于推断,efpga更有可能是人们想要去的方向,我将在2月份的一篇关于映射的文章中讨论这一点。我确实希望今年能看到eFPGA芯片的大量发布。

留下回复


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

Baidu