什么是DNN?它对AI发展意味着什么
为了让AI加速器在最短延迟内达到最佳精准度,特别是在自动驾驶车中,TFLOP已经成为许多所谓大脑芯片的关键指针,然而,有专家认为这种野蛮处理方式并不可持续……
本文引用地址:http://www.amcfsurvey.com/article/202207/435864.htm为了让人工智能(AI)加速器在最短延迟内达到最佳精准度,特别是在自动驾驶车(AV)中,TFLOP(兆次浮点运算)已经成为许多所谓大脑芯片的关键指针。这场竞赛的选手包括Nvidia的Xavier、Mobileye的EyeQ5、特斯拉(Tesla)的全自动驾驶(FSD)计算机芯片,以及NXP-Kalray芯片。
然而,有专家认为这种野蛮处理方式并不可持续。在EE Times的一次独家专访中,DeepScale执行长Forrest Iandola提出其不可持续的理由,是因为AI硬件设计师所持有的许多常见假设已经过时。随着AI应用日益增多,AI供货商从中积累更多的经验,这导致不同的AI任务开始需求不同的技术方法。如果事实的确如此,AI使用者购买AI技术的方式将会改变,供货商也必将做出回应。
DeepScale执行长Forrest Iandola
Iandola表示,就拿神经网络架构搜寻(NAS)为例,其快速发展不仅加快优化深度神经网络(DNN)的搜寻过程,并降低这一过程的成本。他相信有一种方法可以“在目标任务和目标运算平台上建立最低延迟、最高精准度的DNN,”而不是依赖于更大的芯片来处理所有的AI任务。
Iandola设想未来AI芯片或传感器系统(如计算机视觉、雷达或光达)供货商不仅提供硬件,而且还会提供自己的高速、高效的DNN——为应用而设计的DNN架构。任何供货商都会为不同的运算平台匹配各自所需的DNN,如果事实真是如此,那AI竞赛中的所有赌注都将失效。
需要明确的是,目前无论是芯片公司还是传感器供货商都没有提出上述前景。甚至很少有人在特定硬件上运作有针对性AI任务的可能性。
Iandola及其DeepScale团队最近设计了一系列DNN模型,称为“SqueezeNAS”。在最近的一篇报告中,他们声称,当在目标平台上搜寻延迟时,SqueezeNAS“可以建立更快、更准确的模型”。这篇报告推翻了AI小区先前对NAS、乘积累加(MAC)运算和将ImageNet精确度应用于目标任务时所做的一些假设。
DeepScale于2015年由Iandola和Kurt Keutzer教授共同创立,是一家位于加州山景城的新创公司,致力于开发“微型DNN”。两位联合创始人曾在加州大学柏克莱大学分校共事,DeepScale因其快速高效的DNN研究而在科学界备受推崇。
手工设计(Manual designs)
要想真正理解机器学习在计算机视觉方面的最新进展的意义,需要了解其发展历史。
还记得AlexNet网络结构模型在2012年赢得ImageNet影像分类竞赛吗?这为研究人员打开了竞争的大门,让他们专注于ImageNet研究,并寻找能够在计算机视觉任务上达到最高精准度的DNN,以此开展竞争。
ImageNet分类错误统计。(数据源:ResearchGate)
通常,这些计算机视觉研究人员依靠专家工程师,他们会手工设计快速且高精准度的DNN架构。
从2012年到2016年,他们提高了计算机视觉的准确性,但都是透过大幅增加执行DNN所需资源来实现这一目标。Iandola解释,例如,赢得2014年ImageNet比赛冠军的VGGNet,其使用的运算量是AlexNet的10倍,参数是AlexNet的2倍。
到2016年,学术研究界发现利用增加DNN的资源需求来提高准确性“不可持续”。SqueezeNet便是研究人员寻找的众多替代方案之一,由Iandola及其同事在2016年发表,它展示出在微小预算(低于5MB)参数下ImageNet的“合理的准确性”。
Squeezenet引发了两个重大变化。相对于SqueezeNet和其他早期运算而言,MobileNetV1能够大幅度减少MAC的数量,Shufflenetv1是为行动端CPU实现低延迟而优化的DNN。
利用机器学习改善机器学习
如前所述,所有这些先进DNN都是透过手工设计和调整神经网络架构开发而成。由于手工流程需要专业的工程师大量的除错,这很快就成为一个成本太高、耗时太久的提议。
因而基于机器学习,实现人工神经网络设计自动化的理念,NAS应运而生。NAS是一种搜寻最佳神经网络架构的算法,并改变了AI格局。Iandola称,“到2018年,NAS已经开始构建能够以较低延迟运行的DNN,并且比以前手工设计的DNN产生更高的准确性。”
强化学习(Reinforcement Learning)
随后,计算机视觉界开始使用基于机器学习的强化方法——强化学习。换句话说,“机器学习得到回馈来改善机器学习,”Iandola解释。在基于强化学习的NAS下,未经训练的强化学习获得建议,指定层数和参数来训练DNN架构。一旦对DNN进行训练,训练运作的结果将作为回馈,从而推动强化学习执行更多DNN来展开训练。
经证明,基于强化学习的NAS是有效的。Google MnasNet就是一个很好的例子,它在ImageNet延迟和准确性方面都优于ShuffleNet。但它也有一个关键的弱点:成本太高。基于强化学习的搜寻通常需要数千个GPU天(GPU day),以训练数百乃至数千个不同的DNN,才能生成理想的设计。“Google负担得起,”Iandola表示,但大多数其他公司负担不起。
现实地说,一个基于强化学习的NAS要训练一千个DNN,每个DNN通常需要一个GPU天。考虑到目前亚马逊(Amazon)云端服务平台的价格,Iandola估计,一个使用基于强化学习的NAS搜寻所花费的云端运算时间可能耗资高达7万美元。
超级网络(Supernetwork)
在这种情况下,去年底出现了一种新的NAS类型,称为基于“超级网络”的搜寻。它的典型代表包括FBNet(Facebook柏克莱网络)和SqueezNet。
搜寻时间减少100倍。(数据源:DeepScale)
Iandola解释:“超级网络采用一步到位的方法,而不是培训1,000个独立的DNN。”例如,一个DNN有20个模块,每个模块有13个选项。若为每个模块选择一个最喜欢的选项,“你正在以10个DNN训练运作花费为代价,一次性训练一个汇集了千兆种DNN设计的DNN,”Iandola解释。
结果显示,基于超级网络的NAS可以在10个GPU天的搜寻时间内建立DNN,其延迟和准确性优于MnasNet。“这让搜寻成本从7万多美元减少到大约700美元的亚马逊云端服务GPU时间,”Iandola说。
“10个GPU天”的搜寻时间相当于在一台如衣柜般大小的8 GPU机器上花费一天的时间,”Iandola解释。
基于强化学习与基于超级网络的NAS比较。(数据源:DeepScale)
过时的假设
机器学习的简短历史向我们展示神经结构搜寻的出现如何为计算机视觉研究奠定基础。但是在这个过程中,它也反驳了研究团体早期的一些假设,Iandola指出。
那么,哪些假设需要纠正呢?
Iandola称,大多数AI系统设计者认为,ImageNet分类中最精确的神经网络可以为目标任务提供最精确的骨干网络。但计算机视觉包括许多AI任务——从目标检测、分割和3D空间到目标追踪、距离估计和自由空间等。“并非所有任务都是平等的,”Iandola强调。
ImageNet的准确性与目标任务的准确性没有太紧密的关联。“这没法保证。”他说。
来看由Iandola团队创建的SqueezeNet。Iandola解释,这是一个小型的神经网络,它的ImageNet分类精准度明显低于VGG,但在“用于辨识一组影像中相似斑块的任务”时,它比VGG更准确。
随着分类任务达到极限,Iandola坚信是时候为不同的任务设计不同的神经网络了。
另一个普遍的假设是“在目标运算平台上减少MAC将产生更低的延迟。”然而,最近的研究说明,减少MAC与减少延迟并无太大关联。“拥有较少MAC的神经网络并不总是能够实现较低的延迟,”Iandola指出。
在Iandola的SqueezeNAS报告中,他坚持认为,不仅仅是不同的AI任务需要不同的DNN。为目标运算平台(如CPU、GPU或TPU的特定版本)选择合适的DNN也非常重要。
例如,他引用了为不同智能型手机优化网络的FBNet作者的话。他们发现DNN在iPhonex上运作得很快,但在三星Galaxy S8上执行得很慢。在报告中,Iandola的团队总结,“即使MAC的数量保持不变,不同的卷积维数也会根据处理器和核心实现决定运作得更快或更慢。”
对自动驾驶的影响
今天,DeepScale已经与多家汽车供货商建立了合作关系,包括Visteon、Hella Aglaia Mobile Vision GmbH和其他未透露名称的公司。DeepScale一直在开发微型DNN,该公司声称,他们在保证最先进的性能的同时,它们需要的运算量更少。
在SqueezNas的报告中,Iandola和他的同事解释,其团队使用基于超级网络的NAS来设计一个用于语义分割的DNN,用于辨识道路、车道、车辆和其他物体的精确形状等具体任务。“我们对NAS系统进行配置,以优化Cityscapes语义分割数据集的高精准度,同时在小型车辆级运算平台上实现低延迟。”
随着SqueezNAS的发展,DeepScale对自己的定位是:在优化DNN、AI硬件和特定AI任务之间的协同关系方面成为先行者。
随着AI芯片即将席卷市场,Iandola认为系统设计师必须明智地选择加速器。他们应该确切地考虑硬件应该执行哪种AI任务,以及硬件加速器应该在哪种神经网络上运作。
安全摄影机、自动驾驶车和智能型手机都将使用AI芯片。考虑到每个系统所需的速度、准确性、延迟和应用程序大不相同,确定合适的硬件和NAS就变得至关重要。
Iandola表示,对于OEM车厂来说,要把一个测试版自动驾驶车变成一个商业产品,必须把目前储存在自动驾驶车后行李箱中的刀锋服务器抽取出来。Iandola预测,汽车制造商可能会要求硬件芯片公司提供适合硬件平台的优化DNN。
对于Nvidia这样的公司来说,这可能不成问题,因为它的GPU得到了一个大型软件生态系统的支持。然而,大多数其他AI硬件供货商将会吓出一身冷汗。
此外,随着一系列新的传感器——摄影机、光达和雷达——被设计进自动驾驶车,汽车OEM将面临一些残酷的现实,例如,每个传感器可能使用不同类型的神经网络。另一个例子是,不同品牌设计的光达使用不同的AI硬件。Iandola指出,“今天,无论是传感器供货商还是AI处理器公司都没有提供针对其硬件进行优化推荐的神经网络。”
Iandola表示,OEM车厂和一级零组件供货商将开始要求优化DNN,以匹配特定硬件和AI任务,这将无法避免。“我们相信,使用NAS优化目标运算平台上的低延迟变得越来越重要。”
随着基于超级网络的NAS出现,NAS的成本已经在下降。因此,现在可能是时候让硬件供货商开始寻找自己的优化DNN。当被问及DeepScale是否计划透过合作、授权或为AI硬件公司开发优化DNN来填补这一缺口时,Iandola说,“我们还没有真正考虑过这个问题。”
评论