0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

腾讯 AI Lab 开源世界首款自动化模型压缩框架PocketFlow

罗欣 ? 来源:AI科技评论 ? 作者:佚名 ? 2018-09-18 11:51 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

AI科技评论按:腾讯 AI Lab 机器学习中心今日宣布成功研发出世界上首款自动化深度学习模型压缩框架—— PocketFlow,并即将在近期发布开源代码。根据雷锋网AI科技评论了解,这是一款面向移动端AI开发者的自动模型压缩框架,集成了当前主流的模型压缩与训练算法,结合自研超参数优化组件实现了全程自动化托管式的模型压缩与加速。开发者无需了解具体算法细节,即可快速地将AI技术部署到移动端产品上,实现用户数据的本地高效处理。

随着AI技术的飞速发展,越来越多的公司希望在自己的移动端产品中注入AI能力,但是主流的深度学习模型往往对计算资源要求较高,难以直接部署到消费级移动设备中。在这种情况下,众多模型压缩与加速算法应运而生,能够在较小的精度损失(甚至无损)下,有效提升 CNN 和 RNN 等网络结构的计算效率,从而使得深度学习模型在移动端的部署成为可能。但是,如何根据实际应用场景,选择合适的模型压缩与加速算法以及相应的超参数取值,往往需要较多的专业知识和实践经验,这无疑提高了这项技术对于一般开发者的使用门槛。

在此背景下,腾讯AI Lab机器学习中心研发了 PocketFlow 开源框架,以实现自动化的深度学习模型压缩与加速,助力AI技术在更多移动端产品中的广泛应用。通过集成多种深度学习模型压缩算法,并创新性地引入超参数优化组件,极大地提升了模型压缩技术的自动化程度。开发者无需介入具体的模型压缩算法及其超参数取值的选取,仅需指定设定期望的性能指标,即可通过 PocketFlow 得到符合需求的压缩模型,并快速部署到移动端应用中。

框架介绍

PocketFlow 框架主要由两部分组件构成,分别是模型压缩/加速算法组件和超参数优化组件,具体结构如下图所示。

开发者将未压缩的原始模型作为 PocketFlow 框架的输入,同时指定期望的性能指标,例如模型的压缩和/或加速倍数;在每一轮迭代过程中,超参数优化组件选取一组超参数取值组合,之后模型压缩/加速算法组件基于该超参数取值组合,对原始模型进行压缩,得到一个压缩后的候选模型;基于对候选模型进行性能评估的结果,超参数优化组件调整自身的模型参数,并选取一组新的超参数取值组合,以开始下一轮迭代过程;当迭代终止时,PocketFlow 选取最优的超参数取值组合以及对应的候选模型,作为最终输出,返回给开发者用作移动端的模型部署。

具体地,PocketFlow 通过下列各个算法组件的有效结合,实现了精度损失更小、自动化程度更高的深度学习模型的压缩与加速:

a) 通道剪枝(channel pruning)组件:在CNN网络中,通过对特征图中的通道维度进行剪枝,可以同时降低模型大小和计算复杂度,并且压缩后的模型可以直接基于现有的深度学习框架进行部署。在CIFAR-10图像分类任务中,通过对 ResNet-56 模型进行通道剪枝,可以实现2.5倍加速下分类精度损失0.4%,3.3倍加速下精度损失0.7%。

b) 权重稀疏化(weight sparsification)组件:通过对网络权重引入稀疏性约束,可以大幅度降低网络权重中的非零元素个数;压缩后模型的网络权重可以以稀疏矩阵的形式进行存储和传输,从而实现模型压缩。对于 MobileNet 图像分类模型,在删去50%网络权重后,在 ImageNet 数据集上的 Top-1 分类精度损失仅为0.6%。

c) 权重量化(weight quantization)组件:通过对网络权重引入量化约束,可以降低用于表示每个网络权重所需的比特数;团队同时提供了对于均匀和非均匀两大类量化算法的支持,可以充分利用 ARMFPGA 等设备的硬件优化,以提升移动端的计算效率,并为未来的神经网络芯片设计提供软件支持。以用于 ImageNet 图像分类任务的 ResNet-18 模型为例,在8比特定点量化下可以实现精度无损的4倍压缩。

d) 网络蒸馏(network distillation)组件:对于上述各种模型压缩组件,通过将未压缩的原始模型的输出作为额外的监督信息,指导压缩后模型的训练,在压缩/加速倍数不变的前提下均可以获得0.5%-2.0%不等的精度提升。

e) 多GPU训练(multi-GPU training)组件:深度学习模型训练过程对计算资源要求较高,单个GPU难以在短时间内完成模型训练,因此团队提供了对于多机多卡分布式训练的全面支持,以加快使用者的开发流程。无论是基于 ImageNet 数据的Resnet-50图像分类模型还是基于 WMT14 数据的 Transformer 机器翻译模型,均可以在一个小时内训练完毕。[1]

f) 超参数优化(hyper-parameter optimization)组件:多数开发者对模型压缩算法往往不甚了解,但超参数取值对最终结果往往有着巨大的影响,因此团队引入了超参数优化组件,采用了包括强化学习等算法以及 AI Lab 自研的 AutoML 自动超参数优化框架来根据具体性能需求,确定最优超参数取值组合。例如,对于通道剪枝算法,超参数优化组件可以自动地根据原始模型中各层的冗余程度,对各层采用不同的剪枝比例,在保证满足模型整体压缩倍数的前提下,实现压缩后模型识别精度的最大化。

性能展示

通过引入超参数优化组件,不仅避免了高门槛、繁琐的人工调参工作,同时也使得 PocketFlow 在各个压缩算法上全面超过了人工调参的效果。以图像分类任务为例,在 CIFAR-10 和 ImageNet 等数据集上, PocketFlow 对 ResNet 和 MobileNet 等多种 CNN 网络结构进行有效的模型压缩与加速。[1]

在 CIFAR-10 数据集上,PocketFlow 以 ResNet-56 作为基准模型进行通道剪枝,并加入了超参数优化和网络蒸馏等训练策略,实现了2.5倍加速下分类精度损失0.4%,3.3倍加速下精度损失0.7%,且显著优于未压缩的ResNet-44模型; [2] 在 ImageNet 数据集上,PocketFlow 可以对原本已经十分精简的 MobileNet 模型继续进行权重稀疏化,以更小的模型尺寸取得相似的分类精度;与 Inception-V1 、ResNet-18 等模型相比,模型大小仅为后者的约20~40%,但分类精度基本一致(甚至更高)。

相比于费时费力的人工调参,PocketFlow 框架中的 AutoML 自动超参数优化组件仅需10余次迭代就能达到与人工调参类似的性能,在经过100次迭代后搜索得到的超参数组合可以降低约0.6%的精度损失;通过使用超参数优化组件自动地确定网络中各层权重的量化比特数,PocketFlow 在对用于 ImageNet 图像分类任务的ResNet-18模型进行压缩时,取得了一致性的性能提升;当平均量化比特数为4比特时,超参数优化组件的引入可以将分类精度从63.6%提升至68.1%(原始模型的分类精度为70.3%)。

深度学习模型的压缩与加速是当前学术界的研究热点之一,同时在工业界中也有着广泛的应用前景。随着PocketFlow的推出,开发者无需了解模型压缩算法的具体细节,也不用关心各个超参数的选择与调优,即可基于这套自动化框架,快速得到可用于移动端部署的精简模型,从而为AI能力在更多移动端产品中的应用铺平了道路。

参考文献

[1] Zhuangwei Zhuang, Mingkui Tan, Bohan Zhuang, Jing Liu, Jiezhang Cao, Qingyao Wu, Junzhou Huang, Jinhui Zhu, “Discrimination-aware Channel Pruning for Deep Neural Networks", In Proc. of the 32nd Annual Conference on Neural Information Processing Systems, NIPS '18, Montreal, Canada, December 2018.

[2] Jiaxiang Wu, Weidong Huang, Junzhou Huang, Tong Zhang, “Error Compensated Quantized SGD and its Applications to Large-scale Distributed Optimization”, In Proc. of the 35th International Conference on Machine Learning, ICML ’18, Stockholm, Sweden, July 2018.

本文来源:AI科技评论

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    88

    文章

    35501

    浏览量

    281360
  • 腾讯
    +关注

    关注

    7

    文章

    1678

    浏览量

    50377
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自动化测试平台ATECLOUD推出AI算法功能

    作为纳米软件自主研发的自动化测试平台,ATECLOUD 始终致力于为用户提供高效优质的测试解决方案。面对5G、AI等前沿技术的迭代发展,平台深度融合新技术持续升级测试能力,最新推出的AI算法功能更在
    的头像 发表于 07-22 16:10 ?142次阅读
    <b class='flag-5'>自动化</b>测试平台ATECLOUD推出<b class='flag-5'>AI</b>算法功能

    Nordic收购 Neuton.AI 关于产品技术的分析

    生成比传统框架(如 TensorFlow、PyTorch 等)小 10 倍的模型模型体积可低至个位数 KB,并且推理速度更快、功耗更低。此次收购将 Neuton 的自动化 TinyM
    发表于 06-28 14:18

    APP自动化测试框架

    APP自动化测试框架是一套结合工具链、设计模式和技术规范的集成解决方案。以下是基于主流技术实践的核心要点总结: 一、核心模块构成 环境管理? 支持物理机/虚拟机/容器部署,集成ADB、Appium
    的头像 发表于 05-07 07:35 ?192次阅读
    APP<b class='flag-5'>自动化</b>测试<b class='flag-5'>框架</b>

    首创开源架构,天玑AI开发套件让端侧AI模型接入得心应手

    Studio提供了最优解。Neuron Studio可针对模型到应用,提供一站式、全链路、自动化的开发协助,不仅让AI应用开发的全流程可视,更带来整个多种工具的一站式开发能力,还支
    发表于 04-13 19:52

    销售易在腾讯云城市峰会上发布中国首AI CRM

    各行各业的200余位来宾共同探讨AI时代下客户数字转型的新路径。 会上,销售易发布 中国首AI CRM——NeoAgent?产品矩阵和Customer Data Cloud,Neo
    的头像 发表于 03-24 11:16 ?369次阅读

    自动化标注技术推动AI数据训练革新

    标贝自动化数据标注平台在全栈数据标注场景式中搭载了大模型预标注和自动化标注能力,并应用于3D点云、2D图像、音频、文本等数据场景的大规模、复杂任务和常规任务的标注中。在保证高效处理的前提下,确保标注
    的头像 发表于 03-14 16:46 ?748次阅读

    FPGA+AI王炸组合如何重塑未来世界:看看DeepSeek东方神秘力量如何预测......

    ”“大模型圈的大黑马”“硅谷震惊了”“来自中国的学霸级AI”…… 从智能手机到自动驾驶,从数据中心到物联网,FPGA 正悄然改变着我们的生活。未来,FPGA 又将如何塑造世界?Dee
    发表于 03-03 11:21

    开源技术在工业自动化领域的作用

    在对互操作性、可互换性和便携性需求不断增长的推动下,工业自动化领域正在经历一场重大变革。这场变革的起点是开源技术的采用,从基于树莓派的工业控制器到Linux边缘设备,不一而足。这一转变重塑了各行业实现自动化的方式,带来了前所未有
    的头像 发表于 02-19 11:28 ?659次阅读

    AI工作流自动化是做什么的

    AI工作流自动化是指利用人工智能技术,对工作流程中的重复性、规则明确的任务进行自动化处理的过程。那么,AI工作流自动化是做什么的呢?接下来,
    的头像 发表于 01-06 17:57 ?798次阅读

    通用自动化测试软件 - TAE

    INTEWORK-TAE(Test Automation Executor) 是一通用的测试用例自动化执行框架,用于汽车电子自动化测试,可支持仿真( MIL/SIL/HIL)、故障注
    的头像 发表于 01-02 13:42 ?814次阅读
    通用<b class='flag-5'>自动化</b>测试软件 - TAE

    腾讯混元大模型开源成绩斐然,GitHub Star数近1.4万

    近日,在2024年12月24日举办的开放原子开发者大会暨首届开源技术学术大会上,腾讯云副总裁、腾讯混元大模型负责人刘煜宏发表了重要演讲。他强调,腾讯
    的头像 发表于 12-26 10:30 ?782次阅读

    开源AI模型库是干嘛的

    开源AI模型库是指那些公开源代码、允许自由访问和使用的AI模型集合。这些
    的头像 发表于 12-14 10:33 ?827次阅读

    大语言模型开发框架是什么

    大语言模型开发框架是指用于训练、推理和部署大型语言模型的软件工具和库。下面,AI部落小编为您介绍大语言模型开发
    的头像 发表于 12-06 10:28 ?568次阅读

    语言模型自动化的优点

    语言模型自动化不仅优化了信息处理流程,提高了工作效率,还促进了跨文化交流,增强了人机交互的智能水平。以下,是对语言模型自动化优点的梳理,由
    的头像 发表于 11-26 11:17 ?462次阅读

    自动化AI开发平台功能介绍

    自动化AI开发平台集成了多种算法、工具和框架,旨在帮助开发者更快速、高效地设计、训练、部署和管理AI模型。以下,
    的头像 发表于 11-14 09:29 ?839次阅读