前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【开源公告】腾讯 AI Lab 正式开源PocketFlow,让深度学习放入手机!

【开源公告】腾讯 AI Lab 正式开源PocketFlow,让深度学习放入手机!

作者头像
腾讯开源
修改于 2018-11-15 06:55:50
修改于 2018-11-15 06:55:50
9620
举报

11月1日,腾讯AI Lab在南京举办的腾讯全球合作伙伴论坛上宣布正式开源“PocketFlow”项目, 该项目是一个自动化深度学习模型压缩与加速框架,整合多种模型压缩与加速算法并利用强化学习自动搜索合适压缩参数,解决传统深度学习模型由于模型体积太大,计算资源消耗高而难以在移动设备上部署的痛点,同时极大程度的降低了模型压缩的技术门槛,赋能移动端AI应用开发。

这是一款适用于各个专业能力层面开发者的模型压缩框架,基于Tensorflow开发,集成了当前主流与AI Lab自研的多个模型压缩与训练算法,并采用超参数优化组件实现了全程自动化托管式的模型压缩。开发者无需了解具体模型压缩算法细节,即可快速地将AI技术部署到移动端产品上,实现用户数据的本地高效处理。

目前该框架在腾讯内部已对多个移动端AI应用模型进行压缩和加速,并取得了令人满意的效果, 对应用整体的上线效果起到了非常重要的作用。

随着移动互联网的普及和AI算法的愈加成熟,移动端AI的需求和应用场景也愈加丰富,如智能美颜,瘦身,手势识别,场景识别,游戏AI,视频检测,车载语音交互,智能家居,实时翻译等。将模型部署在移动端代替服务器端可以实现实时交互,在无网络环境的情况下也可正常运行,并且保护了数据的隐私和安全性,降低运维成本。而在移动端AI模型部署方面,小而快变成了模型推理最渴望的要求之一,因为小的模型可以使得整个应用的存储空间减小;而提高模型的推理速度则可以使得整个模型应用场景的反应速度加快,同时也可以在低配设备上取得很好的效果。因此,模型的推理速度逐渐已经成为了各大AI应用市场竞争力上最重要的评测指标之一。然而往往训练出来的模型推理速度或者尺寸大小不能满足需求,大部分开发者对极致的模型压缩和加速方法又感到困惑。

PocketFlow的出现就是为了解决这个令众多AI应用开发者头痛的问题。

框架开源内容

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

模型压缩/加速算法部分包括多种深度学习模型压缩和加速算法:

  • 通道剪枝(channel pruning): 在CNN网络中,通过对特征图中的通道维度进行剪枝,可以同时降低模型大小和计算复杂度,并且压缩后的模型可以直接基于现有的深度学习框架进行部署。PocketFlow还支持通道剪枝的分组finetune/retrain功能,通过实验我们发现此方法可以使原本压缩后的模型精度有明显的提升。
  • 权重稀疏化(weight sparsification):通过对网络权重引入稀疏性约束,可以大幅度降低网络权重中的非零元素个数;压缩后模型的网络权重可以以稀疏矩阵的形式进行存储和传输,从而实现模型压缩。
  • 权重量化(weight quantization):通过对网络权重引入量化约束,可以降低用于表示每个网络权重所需的比特数;我们同时提供了对于均匀和非均匀两大类量化算法的支持,可以充分利用ARM和FPGA等设备的硬件优化,以提升移动端的计算效率,并为未来的神经网络芯片设计提供软件支持。
  • 网络蒸馏(network distillation):对于上述各种模型压缩组件,通过将未压缩的原始模型的输出作为额外的监督信息,指导压缩后模型的训练,在压缩/加速倍数不变的前提下均可以获得0.5%-2.0%不等的精度提升。
  • 多GPU训练(multi-GPU training):深度学习模型训练过程对计算资源要求较高,单个GPU难以在短时间内完成模型训练,因此我们提供了对于多机多卡分布式训练的全面支持,以加快使用者的开发流程。无论是基于ImageNet数据的Resnet-50图像分类模型还是基于WMT14数据的Transformer机器翻译模型,均可以在一个小时内训练完毕。

超参数优化(hyper-parameter optimization)部分可以通过强化学习或者AutoML,在整体压缩率一定的情况下,搜索出每一层最合适的压缩比例使得整体的精度最高。多数开发者对模型压缩算法往往了解较少,调节压缩算法参数需要长期的学习和实验才能有所经验,但超参数取值对最终结果往往有着巨大的影。PocketFlow的超参数优化部分正是帮助开发者解决了这一大痛点,并且通过实验我们发现,其优化结果也要好于专业的模型压缩工程师手工调参的结果。其结构如下图:

PocketFlow性能

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

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

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

PocketFlow落地助力内部移动应用AI落地

在腾讯公司内部,PocketFlow框架正在为多项移动端业务提供模型压缩与加速的技术支持。例如,在手机拍照APP中,人脸关键点定位模型是一个常用的预处理模块,通过对脸部的百余个特征点(如眼角、鼻尖等)进行识别与定位,可以为后续的人脸识别、智能美颜等多个应用提供必要的特征数据。我们基于PocketFlow框架,对人脸关键点定位模型进行压缩,在保持定位精度不变的同时,大幅度地降低了计算开销,在本身已经十分精简的网络上取得了1.3 ~ 2倍不等的加速效果,压缩后的模型已经在实际产品中得到部署。

在人体体态识别项目中,PocketFlow更是在满足上线精度的要求下,使得模型推理速度有3倍以上的加速, 为项目的移动端落地起到了决定性的作用。

PocketFlow开源后展望

此次开源后,腾讯公司将继续致力于开发更多的模型压缩算法以及自动调参策略,支持更多的AI算法与应用场景,非常欢迎更多的外部开发者贡献代码,一起完善模型压缩与加速的生态!

Github开源地址:

https://github.com/Tencent/PocketFlow

(点击文末阅读原文直接访问)

请给 PocketFlow 一个 Star !  欢迎提出你的 issue 和 PR

 PocketFlow 国内镜像地址:

https://git.code.tencent.com/Tencent_Open_Source/PocketFlow

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯开源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
业界 | 腾讯 AI Lab 正式开源PocketFlow,让深度学习放入手机!
项目访问地址:https://github.com/Tencent/PocketFlow
机器之心
2018/12/06
7680
业界 | 腾讯 AI Lab 正式开源PocketFlow,让深度学习放入手机!
腾讯AI Lab开源世界首款自动化模型压缩框架PocketFlow:将深度学习装进口袋
导语:腾讯AI Lab机器学习中心今日宣布成功研发出世界上首款自动化深度学习模型压缩框架——PocketFlow,并即将在近期发布开源代码。这是一款面向移动端AI开发者的自动模型压缩框架,集成了当前主流(包括腾讯AI Lab自研)的模型压缩与训练算法,结合自研超参数优化组件实现了全程自动化托管式的模型压缩与加速。[1] 开发者无需了解具体算法细节,即可快速地将AI技术部署到移动端产品上,实现用户数据的本地高效处理。目前该框架正在为腾讯的多项移动端业务提供模型压缩与加速的技术支持,在多款手机APP中得到
腾讯技术工程官方号
2018/10/09
9.1K1
腾讯AI Lab开源世界首款自动化模型压缩框架PocketFlow:将深度学习装进口袋
轻量化神经网络综述
深度神经网络模型被广泛应用在图像分类、物体检测等机器视觉任务中,并取得了巨大成功。然而,由于存储空间和功耗的限制,神经网络模型在嵌入式设备上的存储与计算仍然是一个巨大的挑战。
SIGAI学习与实践平台
2018/10/18
1.1K0
轻量化神经网络综述
轻量化神经网络综述
深度神经网络模型被广泛应用在图像分类、物体检测等机器视觉任务中,并取得了巨大成功。然而,由于存储空间和功耗的限制,神经网络模型在嵌入式设备上的存储与计算仍然是一个巨大的挑战。
SIGAI学习与实践平台
2018/09/27
4.3K0
轻量化神经网络综述
深度学习模型压缩与优化加速(Model Compression and Acceleration Overview)
深度学习(Deep Learning)因其计算复杂度或参数冗余,在一些场景和设备上限制了相应的模型部署,需要借助模型压缩、系统优化加速、异构计算等方法突破瓶颈,即分别在算法模型、计算图或算子优化以及硬件加速等层面采取必要的手段:
全栈程序员站长
2022/11/10
2.1K0
深度学习模型压缩与优化加速(Model Compression and Acceleration Overview)
趣味深度学习系列(一):深度学习技术中的 “教师”与“学生”
提到深度学习、老师这两个关键词,第一时间是不是想到的是站在讲台上,写着复杂的损失函数和信息论的授课讲师,亦或是教学视频里面,带你劈哩叭啦一行一行敲代码的实践老师?
用户1386409
2019/09/17
3K0
趣味深度学习系列(一):深度学习技术中的   “教师”与“学生”
深度学习500问——Chapter17:模型压缩及移动端部署(2)
基于低秩分解的深度神经网络压缩与加速的核心思想是利用矩阵或张量分解技术估计并分解深度模型中的原始卷积核。卷积计算是整个卷积神经网络中计算复杂度最高的计算操作,通过分解4D卷积核张量,可以有效减少模型内部的冗余性。
JOYCE_Leo16
2024/10/01
1520
深度学习500问——Chapter17:模型压缩及移动端部署(2)
重磅!一文深入深度学习模型压缩和加速
近年来深度学习模型在计算机视觉、自然语言处理、搜索推荐广告等各种领域,不断刷新传统模型性能,并得到了广泛应用。随着移动端设备计算能力的不断提升,移动端AI落地也成为了可能。相比于服务端,移动端模型的优势有:
小白学视觉
2022/04/06
8721
重磅!一文深入深度学习模型压缩和加速
一文看尽飞桨PaddlePaddle最新升级:5大优势,更低门槛使用深度学习
从Paddle Fluid v1.0以来,飞桨致力于打造更好的用户体验,趁着百度开发者大会,也为用户精心准备了一份大礼,在开发、训练及部署全流程上进行了全新升级,发布了飞桨的五大优势,接下来将一一解读。
量子位
2019/07/09
1.4K0
专访 | 小白也能搭建深度模型,百度EasyDL的背后你知多少
随着机器学习,尤其是深度学习在复杂数据上的表现越来越优秀,很多开发者希望能将其应用到自己的服务或产品中。然而即使是使用预训练模型或开源框架,对于很多不太了解机器学习算法工程的开发者而言还是有非常大的挑战。此外,若机器学习不是产品的核心技术,额外维护机器学习算法团队的成本又非常高。因此,很多时候我们需要一种能快速使用高性能深度学习的方法。
机器之心
2018/09/20
8880
专访 | 小白也能搭建深度模型,百度EasyDL的背后你知多少
基础积累 | 一文看懂深度学习模型压缩和加速
地址:https://zhuanlan.zhihu.com/p/138059904
AI算法修炼营
2020/06/03
1.3K0
基础积累 | 一文看懂深度学习模型压缩和加速
深度学习模型压缩与加速综述
目前在深度学习领域分类两个派别,一派为学院派,研究强大、复杂的模型网络和实验方法,为了追求更高的性能;另一派为工程派,旨在将算法更稳定、高效的落地在硬件平台上,效率是其追求的目标。复杂的模型固然具有更好的性能,但是高额的存储空间、计算资源消耗是使其难以有效的应用在各硬件平台上的重要原因。所以,卷积神经网络日益增长的深度和尺寸为深度学习在移动端的部署带来了巨大的挑战,深度学习模型压缩与加速成为了学术界和工业界都重点关注的研究领域之一。本文主要介绍深度学习模型压缩和加速算法的三个方向,分别为加速网络结构设计、模型裁剪与稀疏化、量化加速。
OpenCV学堂
2019/06/14
8140
深度学习模型压缩与加速综述
边缘计算 | 在移动设备上部署深度学习模型的思路与注意点 ⛵
本文介绍AI模型适用于小型本地设备上的方法技术:压缩模型参数量,设计更小的模型结构,知识蒸馏,调整数据格式,数据复用等,并介绍移动小处理设备的类型、适用移动设备的模型框架等。
ShowMeAI
2022/08/26
1.6K0
边缘计算 | 在移动设备上部署深度学习模型的思路与注意点 ⛵
深度学习模型压缩与加速综述
http://www.tensorinfinity.com/paper_167.html
SIGAI学习与实践平台
2019/06/13
1.4K0
NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法
导读:AI领域顶会NeurIPS正在加拿大蒙特利尔举办。本文针对实验室关注的几个研究热点,模型压缩、自动机器学习、机器学习与最优化算法,选取23篇会议上入选的重点论文进行分析解读,与大家分享。Enjoy! NeurIPS (Conference on Neural Information Processing Systems,神经信息处理系统进展大会)与ICML并称为神经计算和机器学习领域两大顶级学术会议。今年为第32届会议,将于 12月3日至8日在加拿大蒙特利尔举办。腾讯AI Lab第三次参加Ne
腾讯技术工程官方号
2018/12/11
1.3K0
NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法
NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法
AI领域顶会NeurIPS正在加拿大蒙特利尔举办。本文针对实验室关注的几个研究热点,模型压缩、自动机器学习、机器学习与最优化算法,选取23篇会议上入选的重点论文进行分析解读,与大家分享。Enjoy!
marsggbo
2019/01/24
6710
NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法
最适合中国开发者的深度学习框架:走向成熟的PaddlePaddle 1.0
自深度学习以分层逐步学习的奇思妙想崛起以来,深度学习框架就在不停地发展。在 AlexNet 还没有携带深度学习亮相 ImageNet 之前,由蒙特利尔大学 LISA 实验室所编写的 Theano 框架就已经开源,它可用来支持高效机器学习算法。Theano 是目前 DL 框架中的元老,它开启了深度神经网络高效编程的先河,后来开源的框架都受益于 Theano 的先行探索。
机器之心
2018/12/17
6020
137% YOLOv3加速、10倍搜索性能提升!这样的惊喜,最新版PaddleSlim有10个
最新消息,历经一年四个版本打磨之后,百度推出最新深度学习模型压缩工具PaddleSlim1.0。
量子位
2020/03/12
9410
137% YOLOv3加速、10倍搜索性能提升!这样的惊喜,最新版PaddleSlim有10个
YOLO-v4目标检测、换脸、视频上色全部实时手机端实现,美国东北大学等提出全自动实时移动端AI框架
基于模式化稀疏度的剪枝方法能够使深度神经网络在图像识别任务中「看得」更清楚,同时减小了模型尺寸,使模型在移动端「跑得」更快,实现实时推理。
机器之心
2020/08/28
7840
YOLO-v4目标检测、换脸、视频上色全部实时手机端实现,美国东北大学等提出全自动实时移动端AI框架
深度学习500问——Chapter17:模型压缩及移动端部署(1)
模型压缩是指利用数据集对已经训练好的深度模型进行精简,进而得到一个轻量且准确率相当的网络,压缩后的网络具有更小的结构和更少的参数,可以有效降低计算和存储开销,便于部署再受限的硬件环境中。
JOYCE_Leo16
2024/10/01
1940
深度学习500问——Chapter17:模型压缩及移动端部署(1)
推荐阅读
业界 | 腾讯 AI Lab 正式开源PocketFlow,让深度学习放入手机!
7680
腾讯AI Lab开源世界首款自动化模型压缩框架PocketFlow:将深度学习装进口袋
9.1K1
轻量化神经网络综述
1.1K0
轻量化神经网络综述
4.3K0
深度学习模型压缩与优化加速(Model Compression and Acceleration Overview)
2.1K0
趣味深度学习系列(一):深度学习技术中的 “教师”与“学生”
3K0
深度学习500问——Chapter17:模型压缩及移动端部署(2)
1520
重磅!一文深入深度学习模型压缩和加速
8721
一文看尽飞桨PaddlePaddle最新升级:5大优势,更低门槛使用深度学习
1.4K0
专访 | 小白也能搭建深度模型,百度EasyDL的背后你知多少
8880
基础积累 | 一文看懂深度学习模型压缩和加速
1.3K0
深度学习模型压缩与加速综述
8140
边缘计算 | 在移动设备上部署深度学习模型的思路与注意点 ⛵
1.6K0
深度学习模型压缩与加速综述
1.4K0
NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法
1.3K0
NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法
6710
最适合中国开发者的深度学习框架:走向成熟的PaddlePaddle 1.0
6020
137% YOLOv3加速、10倍搜索性能提升!这样的惊喜,最新版PaddleSlim有10个
9410
YOLO-v4目标检测、换脸、视频上色全部实时手机端实现,美国东北大学等提出全自动实时移动端AI框架
7840
深度学习500问——Chapter17:模型压缩及移动端部署(1)
1940
相关推荐
业界 | 腾讯 AI Lab 正式开源PocketFlow,让深度学习放入手机!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档