中文 英语

弥合机器学习的鸿沟

为什么需要新的方法来结合训练和推理。

受欢迎程度

有一个日益增长的划分在这些研究之间机器学习(ML)和那些试图使用有限的资源和电力预算执行推理的人。

研究人员正在使用最具成本效益的硬件,这恰好是充满浮点运算单元的gpu。但对于嵌入式推理来说,这是一个站不住脚的解决方案,其中存在诸如权力更重要。半导体行业正在使用更量身定制的硬件结构和映射技术来弥合这一鸿沟,这些技术可以在基于云的学习结构和可以部署在自动驾驶汽车上的学习结构之间进行转换。物联网设备和消费产品。

虽然该行业非常成功地使用了映射技术,但需要在算法开发中引入更多的推理含义,以确保差距不会扩大。Babblabs的首席执行官说:“更深入的网络,拥有更多更厚的层,将需要更多的计算周期,更多的内存带宽和更大的内存容量来训练和运行推理。”“对于任何给定的问题,可能的网络架构空间都是巨大的,因此人们需要致力于开发更小、计算密集型更低、数据分辨率更低的网络,这些网络的性能与早期的网络一样好,或几乎一样好。”

对终端应用程序的深入了解对于这种情况来说多少精度才足够,以及需要多少吞吐量是至关重要的。我们的目标是建立一个足够强大的网络来解决手头的问题。“权衡,从映射的角度来看,是与精度有关,而不是吞吐量,”Gordon Cooper说,嵌入式视觉处理器的产品营销经理Synopsys对此.“直到9个月或12个月前,所有的研究似乎都集中在提高精度上,而现在的研究是如何用更少的计算量获得同样的精度。”


图1:英特尔深度学习SDK工作流程。来源:英特尔/ Codemotion

映射
云学习并非完全无视嵌入式推理的需求。“像Caffe、Tensorflow和Khronos神经网络交换格式这样的标准,对于在一系列系统上训练的系统实现高度优化的推理大有帮助,”Rowen说。“这对于开辟在手机、汽车、相机和其他物联网设备中利用优化的大容量推理引擎的道路非常有价值。这种更高级别的健壮接口集打破了指令集兼容性作为交换标准的暴政,并允许随着推理执行硬件的发展而进行更高级别的重新优化。”

训练的结果是一个浮点模型。的总裁兼首席执行官说:“你可以在这方面做很多优化OneSpin解决方案.“有些公司正在考虑进行深度神经网络优化,首先要尝试降低网络的精度。你去到固定的点,甚至二进制权重和激活,虽然这对学习不起作用,但对推理很有效。这个优化步骤的结果是减小网络的大小,也许减少了一些具有不重要权重的边,使其更稀疏,并降低了精度。然后你再根据训练数据或测试数据进行模拟,以检查准确性是否仍然可以接受。”

网络中的许多系数最终为零或非常接近于零。“神经网络设计师正在密切关注如何最好地利用许多神经网络中频繁稀疏的系数集,”Rowen补充道。“网络开发人员和架构师正在非常努力地利用这一趋势,他们的计算架构在这些不规则稀疏集上运行得特别好。它们有效地跳过了完全的零乘法,或者那些利用更智能的训练来减少稀疏性和通过压缩到更小的集来减少总计算的集,或者具有更结构化稀疏性的集,其中零主要出现在数据集的行、列和面中。”

零可以做很多事情。布林克曼补充说:“零权重意味着你可以从网络中完全删除边,因为没有任何东西可以传播,所以MAC节点上的输入更少。”“然后是零激活,这不是静态确定的,取决于数据。有时候节点不会被激活,你可以尝试在一个架构上运行时动态优化。”

流程中的一个问题是验证.“从验证的角度来看,量化是困难的,”布林克曼继续说。“有一种叫做量化感知训练的新技术,你可以试着把它纳入训练阶段。通过这种方式,您可以提供一些关于系统对这类问题的易感程度的数值答案。这是一种统计的工作方式。ML是统计的,为了验证,我们可能需要使用一些统计方法。形式验证可能会发挥作用,有些事情可以通过静态分析与统计相结合来完成。它不是决定性的。”

定制,FPGA或处理器
可能实现体系结构的范围与任何硬件相同,从通用处理器扩展到完全自定义硬件。每一种都有相关的权衡,最终产品需求可能会定义其中哪一种是可接受的。

当目标是处理器时,工具可以完成大部分工作。Synopsys的Cooper说:“训练环境的输出可以从32位浮点系数转换为12位或8位分辨率映射到我们的硬件中。”“理论上应该是这样,按下按钮。实际上,这是一个持续的软件维护问题,因为它是一个移动的目标。我们支持Caffe中的每一个图,直到有人提出一个新的图。越来越多地,客户可能有一个自定义层,然后一些映射必须手动完成。要完全实现按键式操作几乎是不可能的,但我们的目标是限制所需的触摸量。”

库还有助于生成最佳代码。Tensilica Vision DSP产品线产品营销总监Pulin Desai补充说:“如果你的网络包含3X3卷积、1X1卷积或归一化过程,我们已经为大多数常见功能开发了一个软件库。节奏.“编译器将调用这些函数,我们用C代码生成一个为处理器高度优化的工作空间。”

有时候你需要一个更有效的解决方案。“它是图像处理的类固醇,这使得它非常适合高级综合(HLS)的Calypto系统部市场总监Ellie Burns说Mentor是西门子旗下的企业.“推理需要低功耗、低延迟、高性能和吞吐量。这就是硬件。因为HLS是C语言,你可以保留所有的模型,你可以重新测试,你可以确保浮点和整数转换是好的。这是一个完美的组合,并且开发环境保持不变。内存需求巨大,这带来了一些有趣的挑战。”

这里也有一些重要的权衡。Mentor公司Calypto系统部的高级合成技术专家Mike Fingeroff解释说:“如果你拿一个给定的网络,开始摆弄它的拓扑结构,硬件必须改变,除非你有一个通用加速器。”“一种方法是FPGA用作数据加速引擎,并且可以在一定的最大限度上重用任何网络层拓扑。你可以在Tensorflow或Caffe中进行实验,改变拓扑结构、删除层或修剪系数。问题是它不是一个高性能的系统——特别是对于汽车应用,你有高帧率和大量的图像数据要处理。如果你确定了网络和架构,那么你可以再培训。这就意味着你的权重改变了你可以把它们加载回去内存.但是您不能对网络进行重大更改,然后应用于固定的体系结构。使用FPGA,您可以重新设计以匹配新的实现。”

那么fpga是自然的选择吗?Mentor公司嵌入式系统部高级研究主管Randy Allen指出:“使用fpga可以获得极大的加速,但矩阵乘法的关键问题一直是内存访问时间有限。”“你正在以内存速度而不是CPU速度运行。此外,有很多方法可以将矩阵乘法映射到FPGA上,但很多人都不知道如何计算出正确的矩阵乘法。”

体系结构权衡
一个重要的架构决策是数据宽度。德赛说:“对于推理来说,8位在大多数情况下已经足够好了,在某些情况下16位也足够了。”“我们已经建立了一个针对卷积优化的架构。其他类型的网络可以在上面运行,但这是重点。这需要在一个周期内使用大量的mac。该块可以在一个周期内处理1024个8位mac。然后还有其他块,比如DMA,从外部内存中引入数据来帮助交通管理。”

这是一种方法。还有其他的。Synopsys的库珀说:“我们的cnn使用12位乘法器。这是因为作为硬件块,12位乘法器的大小是16位乘法器的一半。我们相信,我们可以让任何32位FP在12位定点工作,并达到相同的精度水平。也有新的量化技术被开发出来,谷歌正在积极推广8位。我们可以支持这一点,它节省了带宽和电力,因为你不需要过多地使用外部DDR。8位固定点似乎是目前的情况,但有论文在讨论未来可能会变成4位、2位甚至1位。”

EDA行业在这个领域有丰富的经验,处理过非常类似的DSP系统映射问题。Mentor的Fingeroff指出:“高级合成流程通常以浮点算法开始。“然后你量化算法,看看信噪比(SNR)之类的东西。当你从一个训练好的FP模型中量化系数时也是一样的。当您通过推理引擎运行图像时,您将看到匹配率百分比。研究表明,8位及以下提供了非常可靠的结果。”

无处不在的培训
机器学习有三种方法。布林克曼指出:“分类和回归是目前使用的两种方法。“第三种技术将对架构产生重大影响——强化学习。通过分类和回归,您可以将学习阶段和推理阶段分开。你可以在云端进行训练,在边缘进行推理。有了强化学习,你想把它应用到现场,你需要在飞行中学习。这意味着你可能需要在边缘做一些训练。”

今天,在汽车上,图像识别系统要么得到正确的答案,要么得到错误的答案。库珀解释说:“CNN只是告诉你一个物体的位置,但除此之外的任何东西都不会内置到CNN中。”“这就是使用信息的系统的作用。除非它有一个冗余系统,否则它怎么知道它没有正确地识别某些东西呢?部署的引擎只和训练的引擎一样好。视觉块总是提供一个是或否,所以可能必须在更高的级别上跟踪错误。”

自我修正的网络产生了一系列新的问题。布林克曼补充说:“数据定义了你的功能,这与关键应用的工程设计方式不同。”“如果数据不具有代表性或不包含正确的情况,那么您的网络将在现场出现故障。可能存在数据欺骗问题。想想自动驾驶。他们现在在云端进行培训,结果被部署。汽车收集数据,这些数据可能会被传输回云端,重新训练网络,然后再进行重复。验证变得连续。当您设计系统时,它不再是一次性的活动。你必须注意数据的完整性,以确保没有人会破坏数据或歪曲数据。”

如果在飞行中进行再培训,这个问题会变得更糟,但这似乎是最终需要的方向。“机器学习已经达到了一个临界点,技术进步使机器变得更聪明成为可能,”莱迪思半导体(Lattice Semiconductor)市场营销高级总监Deepak Boppana说。“我们只是对未来机器能做的事情进行了采样。展望未来,我们将继续关注边缘的低功耗推理,以使能够以超低延迟执行机器学习的智能系统成为可能。我们也看到越来越多的人使用无监督学习技术,不需要标记训练数据。”

如果学习是分布式的,谁拥有数据?”安全例如,网络模型的加密和保护是一个有趣的问题,我们可能会在不久的将来看到,”Imagination Technologies的视觉和人工智能产品经理弗朗西斯科·索尔(Francisco Socal)补充道。“网络模型正以知识产权的形式出现,可以预见,在没有严格保护机制的情况下,开发人员对将它们部署到多个边缘设备非常敏感。”

预测该行业的发展方向是一项不可能完成的任务。“我们可以预见,这一领域将发生重大变化,”罗文说。“今天流行的神经网络结构在理论上没有什么是最优的。它们只是在许多不同的任务中比已知的替代品工作得更好。因此,我们可以合理地期待不断发明新的算法原理、新的网络结构、新的训练方法和新的方法,以使网络适应应用程序的核心。”

至于分歧呢?Mentor的Allen总结道:“算法和实现者之间绝对存在鸿沟。“考虑到你必须采用gpu类型的架构,人们只是把它们拿出来,而不是专注于优化。这确实是一个软件问题,到目前为止人们还没有专注于优化。”

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



Baidu