MIT 韩松专访:Once for All 神经网络高效适配不同硬件平台

ICLR,全称为“International Conference on Learning Representations”,即国际学习表征会议。虽然其官网非常简洁,但是 ICLR 本身包括了无监督、半监督和监督表示学习、计划学习、强化学习机器学习技术在多个领域的应用,可以说是人工智能学术界的一场盛宴。

来自麻省理工学院的韩松曾在 ICLR 多次发表论文,他的论文 Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding 获得了 2016 年 ICLR 的最佳论文奖。

而在 2020 年,他的团队又带来了一项名为 Once-for-All: Train One Network and Specialize it for Efficient Deployment 的突破性研究。

Once-for-All: Train One Network and Specialize it for Efficient Deployment 论文详情(来源:AMiner 会议智图开放平台 ICLR 2020 专题全析图)

这篇论文的主要内容,是通过一种 Once for All 网络,可高效生成 10^19 独立工作的子网络以便适配到不同的硬件平台,比如包含了服务器端各种不同的 GPU(例如英伟达 1080Ti, 2080Ti, V100), CPU (例如英特尔 Xeon 系列)以及移动端各种不同的边缘设备。

为了提高硬件平台上的推理效率,需要改变神经网路的结构(例如深度,宽度,卷积核大小,输入分辨率等)来适配具体的硬件。在同一个平台上,研究人员也设置了不同的效率限制,目的是在算力不同的平台运行时达到平衡。

一个通用的 OFA 网络支持在大量不同的结构设置下通过截取 OFA 网络的不同部分来进行高效推理。对于计算资源丰富的云端设备,可以截取一个大的子网;而对于计算资源短缺的边缘设备,则可以截取一个较小的子网。

按照传统方法,开发者往往会考虑手动设计或使用神经体系结构搜索(Neural Architecture Search,NAS)的方法,但是这需要大量的 GPU hours 和能源消耗(见下图)。

为了在跨平台的模型部署中降低成本,顺便还能提升运算效率,韩松团队尝试建立更小,更绿色的神经网络。为此,他们训练了一种支持所有体系结构设置(深度,宽度,内核大小和分辨率)的“全包式”网络,称其为“一劳永逸网络”( Once-For-All Network,简称 OFA)。

借鉴这篇论文的方法,韩松朱俊彦团队将在 CVPR’20 发表了题为 GAN Compression: Efficient Architectures for Interactive Conditional GANs 的新成果。这是一篇关于如何压缩条件生成对抗网络(cGAN)算力消耗量过大的论文,提出了一种通用的压缩框架,以减少 cGAN 在运算过程中的推理时间和模型大小。

当然,凡是出现压缩这个关键词,准确率的补偿就势必会成为大家关注的重点。论文提到,对于 CycleGAN 之类的 unpaired(训练数据给定输入没有对应的真实输出)模型,由于输入图片没有与之对应的真实图片,因此直接将输入图片喂给一个已经训练好的 teacher 模型,将其输出当成与输入对应的真实图片。由此一来,unpaired 情况也统一成 paired 的情况。同时也降低了模型建模的难度,这使得小模型能够更好得学习输入图片到目标图片的转换。

其次,无论是 paired 模型还是 unpaired 模型,都让小模型的中间层 activations 和 teacher 模型的中间层 activations 尽可能的相匹配,以此来学习隐藏在潜藏在 Teacher 模型中的一些知识,提升小模型的性能。与此同时,和 teacher 模型协同训练的 discriminator 也保有大量的知识,因此在训练小网络的过程中,继续沿用 teacher 的 discriminator,与小网络进行协同训练。

最后,考虑到模型可能还存在许多冗余的计算量,进而使用 NAS 方法,自动检测生成器网络每层的通道数的冗余度,以此让网络更加高效。

交互式图像生成目前已经产生了很多的应用,比如用户可以实时地把自己的绘画转换成真实的图片,此类应用可用在教育领域,培养孩子创造力;或者 VR 场景和设备,可以把眼前的景象转换卡通或者油画风格的,满足场景体验的需求。但这些应用都要求 Conditional GANs 在在一些硬件资源有限移动设备上进行部署,这样才能将这些应用真正地为人所用。这是这项工作的动机之一。

以下为学术君与韩松团队的博士生蔡涵的部分交流内容:

学术君: Once-for-All: Train One Network and Specialize it for Efficient Deployment提到了一种可以在多种不同硬件平台上通用的神经网络,我是否可以把他理解成客户端和服务器端通用?那么 PC 端和手机端是否也能通用?如何实现?

蔡涵: 是的。一个通用的 OFA 网络可以衍生出 10^19 个专用的子网络来适配多种不同硬件平台,包含了服务器端各种不同的 GPU(例如英伟达 1080Ti, 2080Ti, V100), CPU (例如英特尔 Xeon 系列)以及客户端各种不同的边缘设备(高端手机例如三星 Note10;低端手机例如三星 S7,谷歌 Pixel1;专用硬件例如赛灵思 FPGA)。不同的硬件平台有不同的特性和硬件资源。在同一个平台上,我们也会有不同的效率限制。为了提高硬件平台上的推理效率,我们需要改变神经网路的结构(例如深度,宽度,卷积核大小,输入分辨率等)来适配具体的硬件。一个通用的 OFA 网络支持在大量不同的结构设置下通过截取 OFA 网络的不同部分来进行高效推理。对于计算资源丰富的云端设备,我们可以截取一个大的子网。而对于计算资源短缺的边缘设备,我们则可以截取一个较小的子网。

学术君为什么我们需要这样的不同硬件平台通用的 OFA 网络?

蔡涵: 如果我们直接在所有硬件平台上使用同一个神经网络,这会导致大量性能和效率上的损失,因为同样的神经网络并不能适配所有场景。如果我们针对每个硬件平台和效率约束都重头设计并训练一个新的神经网络,这会导致大量的计算资源的消耗,因为这种方式计算资源的需求是随着部署场景数线性增长的。这同样也会导致严重的环境问题,因为大量的计算资源消耗直接可以转化为大量的二氧化碳排放。因此我们需要这样的通用的 OFA 网络,既可以针对不同硬件平台进行适配而不损失性能和效率,同时不需要额外的计算资源来从头训练一个新的神经网络

学术君在训练这样一个通用的 OFA 网络的时候,你们遇到了什么挑战?是如何处理的?

蔡涵: 主要的难点在于,一个 OFA 网络需要同时支持大量不同的子网(>10^19)。它们之间会相互干扰,这使得 OFA 网络比一般结构确定的神经网络要更难优化。为了解决这个问题,我们提出 progressive shrinking 算法来训练 OFA 网络。我们注意到各种不同的子网是一层层嵌套在最大的神经网络中的。因此我们将 OFA 网络的训练过程建模为一个逐渐缩小与微调的过程。我们首先会训练最大的网络。然后逐渐缩小网络的各个维度(输入分辨率,卷积核大小,深度,宽度)来支持较小的子网。同时我们会微调网络的权重使其在支持较小的子网的同时不会丢失在较大子网下推理的能力。某种程度上,progressive shrinking 也可以看作是一种广义上的剪枝方法。

学术君: OFA 和 NAS 的方法相比有什么优势?

蔡涵: 从计算资源的角度,NAS 方法的总计算资源是随着部署场景数量的增加而线性增长的。当有多个部署场景的时候,OFA 会比 NAS 方法高效得多。具体上,在 40 个部署场景的情况下,OFA 的总计算资源消耗是 ProxylessNAS1/16MnasNet1/1300。从准确率的角度,我们发现 OFA 中的子网在经过微调后可以达到比单独从头训练更好的准确率。在 ImageNet 上,OFA 在大量的硬件平台和效率约束下都达到了远好于 EfficientNet 和 MobileNetV3 的准确率。在 ImageNet 移动设置下(< 600M MACs),OFA 达到了最新的 80.0% SOTA 准确率。使用 OFA 网络,我们在第三届和第四届低功耗计算机视觉比赛(Low-Power Computer Vision Challenge)中都取得了第一。

学术君你们有开源代码的计划吗?

蔡涵: 我们已经在 Github 上开源了我们的训练代码,以及 50 个用于各种硬件平台的 ImageNet 预训练模型,其中包括了我们在 600M MACs 约束下达到 80.0%ImageNet 准确率的模型。我们还提供了预训练的 OFA 网络,支持以 0 训练成本得到大量不同的子网。

韩松清华大学电子系本科,斯坦福大学电子系博士,师从 NVIDIA(英伟达)首席科学家 William J. Dally 教授。现任麻省理工学院(MIT)电气工程和计算机科学系助理教授。他是深鉴科技的联合创始人、首席科学家,该公司被 Xilinx(赛灵思)收购。

2019 年,韩松被《麻省理工科技评论》评选为全球 “35 岁以下科技创新 35 人” ,2020 年获得 AI 2000 机器学习全球最具影响力学者提名奖(2020 AI 2000 Most Influential Scholar Award Honorable Mention in Machine Learning)。

韩松的研究广泛涉足深度学习和计算机体系结构,他提出的 Deep Compression 模型压缩技术曾获得 ICLR2016 最佳论文,论文 ESE 稀疏神经网络推理引擎 2017 年曾获得芯片领域顶级会议——FPGA 最佳论文奖,引领了世界深度学习加速研究,对业界影响深远。

近两年,韩松博士的一系列论文获得了工业界与学术界的广泛关注,加州伯克利大学和纽约大学均把论文内容纳入专题课程。而工业界中,Google, Facebook, Baidu, Xilinx, NVIDIA 等诸多大型科技公司也开始采用“深度压缩”技术,应用于云端和移动端的人工智能产品中;Facebook 和 Amazon 也将韩松团队的 ProxylessNAS 高效小模型加入了 PytorchHub 和 AutoGluon。

参考资料:
https://arxiv.org/pdf/1908.09791.pdf
https://www.aminer.cn/pub/5e5e189c93d709897ce1f260/once-for-all-train-one-network-and-specialize-it-for-efficient-deployment
https://www.aminer.cn/profile/song-han/542a5aeadabfae646d5557e9

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
理论神经网络韩松MIT
相关数据
英特尔机构

英特尔(NASDAQ: INTC)是全球半导体行业的引领者,以计算和通信技术奠定全球创新基石,塑造以数据为中心的未来。我们通过精尖制造的专长,帮助保护、驱动和连接数十亿设备以及智能互联世界的基础设施 —— 从云、网络到边缘设备以及它们之间的一切,并帮助解决世界上最艰巨的问题和挑战。

https://www.intel.cn/content/www/cn/zh/homepage.html
相关技术
深鉴科技机构

深鉴科技成立于2016年3月,定位为深度学习硬件解决方案公司,将以自主研发的深度压缩与深度学习处理器(DPU)为核心,打造最好用的解决方案和最高效的整体系统,提供硬件+芯片+软件+算法的完整方案,方便所有人使用。同时,深鉴主要瞄准智慧城市和数据中心两大市场,可帮助用户为多种智能安防场景打造稳定高效的解决方案。

相关技术
韩松人物

2017 年斯坦福大学电子工程系博士毕业,师从 NVIDIA 首席科学家 Bill Dally 教授。他的研究也广泛涉足深度学习和计算机体系结构,他提出的 Deep Compression 模型压缩技术曾获得 ICLR'16 最佳论文,ESE 稀疏神经网络推理引擎获得 FPGA'17 最佳论文,对业界影响深远。他的研究成果在 NVIDIA、Google、Facebook 得到广泛应用,博士期间创立了深鉴科技,现为麻省理工学院电气工程和计算机科学系的助理教授。

朱俊彦人物

MIT电气工程与计算机科学系计算机科学与人工智能实验室博士后。研究重点:计算机视觉、计算机图形学、机器学习。CycleGAN的作者,曾获得ACM SIGGRAPH 2018最佳博士论文奖。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

剪枝技术

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

图像生成技术

图像生成(合成)是从现有数据集生成新图像的任务。

深度压缩技术

韩松等人提出的深度压缩(Deep Compression)由剪枝、量化训练和可变长度编码(variable-length coding)组成,它可以压缩深度神经网络数个量级而没有什么预测准确度损失。「深度压缩」是一种三阶段流程,它可以在保留原始准确度的情况下减小深度神经网络的模型大小。

CycleGAN技术

GAN的一个变种

推理引擎技术

推理机是实施问题求解的核心执行机构,常见于专家系统。它是对知识进行解释的程序,根据知识的语义,对按一定策略找到的知识进行解释执行,并把结果记录到动态库的适当空间中去。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

三星机构

三星集团是韩国最大的跨国企业集团,同时也是上市企业全球500强,三星集团包括众多的国际下属企业,旗下子公司有:三星电子、三星物产、三星航空、三星人寿保险、雷诺三星汽车等,业务涉及电子、金融、机械、化学等众多领域。 三星集团成立于1938年,由李秉喆创办。三星集团是家族企业,李氏家族世袭,旗下各个三星产业均为家族产业,并由家族中的其他成员管理,集团领导人已传至 李氏第三代,李健熙为现任集团会长,其子李在镕任三星电子副会长。

赛灵思机构

赛灵思作为FPGA、可编程SoC的发明者,一直坐稳全球最大的FPGA芯片供应商头把交椅。赛灵思的产品线覆盖45/28/20/16nm四个系列的FPGA以及Zynq SoC,旗下拥有着超过4400项技术专利、60多项行业第一的技术产品,服务着全球超过60000的客户。赛灵思耗时4年,超过1500名工程师的研发参与,超过10亿美元的研发投资,推出高度集成的多核异构自适应计算加速平台——ACAP!10月赛灵思发布了统一软件平台Vitis,成功“打破软硬件壁垒”。

https://china.xilinx.com/
相关技术
结构搜索技术

深度学习提供了这样一种承诺:它可以绕过手动特征工程的流程,通过端对端的方式联合学习中间表征与统计模型。 然而,神经网络架构本身通常由专家以艰苦的、一事一议的方式临时设计出来。 神经网络架构搜索(NAS)被誉为一条减轻痛苦之路,它可以自动识别哪些网络优于手工设计的网络。

暂无评论
暂无评论~