0人收藏分享:-->文章点评:(您需要登录后才能评论没有账号

导语:腾讯优图首个ai开源项目ncnn目前已正式加入onnx,现已支持将onnx文件转换为ncnn模型。腾讯优图实验室+4ai影响因子开发企业:腾讯操作:合作内容:腾讯优图首个开源项目ncnn加入onnx雷锋网ai科技评论消息,腾讯

【CIMIC】11 11 京东全球好物节

 腾讯ailab腾讯ailab腾讯ailab作为企业级ai实验室,依托腾讯丰富应用场景

分享到:

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

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

在此背景下,腾讯ailab机器学习中心研发了pocketflow开源框架,以实现自动化的深度学习模型压缩与加速,助力ai技术在更多移动端产品中的广泛应用。通过集成多种深度学习模型压缩算法,并创新性地引入超参数优化组件,极大地提升了模型压缩技术的自动化程度。开发者无需介入具体的模型压缩算法及其超参数取值的选取,仅需指定设定期望的性能指标,即可通过pocketflow得到符合需求的压缩模型,并快速部署到移动端应用中。pocketflow框架主要由两部分组件构成,分别是模型压缩/加速算法组件和超参数优化组件,具体结构如下图所示。开发者将未压缩的原始模型作为pocketflow框架的输入,同时指定期望的性能指标,例如模型的压缩和/或加速倍数;在每一轮迭代过程中,超参数优化组件选取一组超参数取值组合,之后模型压缩/加速算法组件基于该超参数取值组合,对原始模型进行压缩,得到一个压缩后的候选模型;基于对候选模型进行性能评估的结果,超参数优化组件调整自身的模型参数,并选取一组新的超参数取值组合,以开始下一轮迭代过程;当迭代终止时,pocketflow选取最优的超参数取值组合以及对应的候选模型,作为最终输出,返回给开发者用作移动端的模型部署。

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

a)通道剪枝(channelpruning)组件:在cnn网络中,通过对特征图中的通道维度进行剪枝,可以同时降低模型大小和计算复杂度,并且压缩后的模型可以直接基于现有的深度学习框架进行部署。在cifar-10图像分类任务中,通过对resnet-56模型进行5倍7%。

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

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