轻量级部署,腾讯优图开源深度学习推理框架TNN

2020 年 6 月 11 日 机器之心
机器之心发布

机器之心编辑部

6 月 10 日,腾讯优图实验室宣布正式开源新一代移动端深度学习推理框架 TNN。

从学界到工业界,「开源」已经成为 AI 领域的关键词。


一方面,它以「授人以渔」的方式为 AI 构建了一个开放共进的生态环境,帮助行业加速 AI 应用落地;另一方面,在解决行业实际问题时实现持续更新和迭代,源源不断地给 AI 领域输送重要的技术养料和创造力。可以说「开源」是 AI 落地和繁荣不可或缺的源动力。

6 月 10 日,腾讯优图实验室宣布正式开源新一代移动端深度学习推理框架 TNN,通过底层技术优化实现在多个不同平台的轻量级部署落地。该框架性能优异、简单易用。基于 TNN,开发者能够将深度学习算法轻松移植到手机端并高效执行,开发人工智能 APP,真正将 AI 带到指尖。

开源地址:https://github.com/Tencent/TNN

轻量级部署,TNN 助力深度学习提速增效

深度学习对算力的巨大需求一直制约着其更广泛的落地,尤其是在移动端:手机处理器性能弱、算力无法多机拓展、运算耗时长等因素常常导致发热和高功耗,并直接影响 app 等应用的用户体验。

腾讯优图基于自身在深度学习方面的技术积累,借鉴业内主流框架的优点,推出了针对手机端的高性能、轻量级移动端推理框架 TNN。

TNN 在设计之初便将「移动端」、「高性能」融入核心理念,对 2017 年开源的 ncnn 框架进行了重构升级。通过 GPU 深度调优、ARM SIMD 深入汇编指令调优、低精度计算等技术手段,TNN 在性能上取得了进一步提升。以下是 MNN、ncnn、TNN 框架在多款主流平台上的实测性能:
 




TNN 在麒麟 970、骁龙 835、骁龙 845、骁龙 615 平台上的实测性能数据。注:纵轴单位:ms  测试分支:MNN:1.0.0(2020.05.07), ncnn:20200413, TNN: master(2020.06.10)。测试模型:https://github.com/alohali/benchmark-models


低精度计算对 TNN 的性能提升起到了重要作用。

在神经网络计算中,浮点精度在许多研究和业务落地成果中都被证明存在一定冗余,而在计算、内存资源都极为紧张的移动端,消除这部分冗余变得极为必要。TNN 引入了 INT8、 FP16、 BFP16 等多种计算低精度的支持,相比大部分仅提供 INT8 支持的框架,TNN 不仅能灵活适配不同场景,还让计算性能大大提升。

TNN 通过采用 8bit 整数代替 float 进行计算和存储,使模型尺寸和内存消耗均减少至 1/4,计算性能提升 50% 以上。此外,TNN 还引入 arm 平台 BFP16 的支持。相比浮点模型,BFP16 使模型尺寸、内存消耗减少 50%,在中低端机上的性能提升约 20%。骁龙 615 平台实测结果如下所示:


  
通用、轻便是 TNN 框架的另一大亮点。 长久以来,不同框架间的模型转换是 AI 项目应用落地的痛点。TNN 设计了与平台无关的模型表示,为开发人员提供统一的模型描述文件和调用接口,支持主流安卓、iOS 等操作系统,适配 CPU、 GPU、NPU 硬件平台。

企业凭借一套流程即可部署到位,简单易用、省时省力。同时,TNN 通过 ONNX 可支持 TensorFlow、PyTorch、MXNet、Caffe 等多种训练框架。TNN 目前支持的 ONNX 算子超过 80 个,覆盖主流 CNN 网络。TNN 所有算子均为源码直接实现,不依赖任何第三方,且接口易用,切换平台时仅需修改调用参数即可。

开源文化兴起,AI 底层技术助推产业发展

事实上,作为腾讯旗下顶级 AI 实验室,腾讯优图长期致力于 AI 基础设施的研发和推进。此前,腾讯优图已开发了 Rapidnet 前向计算框架、RapidAIoT 边缘计算框架,实现了业界首个专注移动端的推断框架 ncnn 的开源,并在业界受到广泛推崇。从 2017 年开源至今,ncnn 在 GitHub 上的 star (8.9k) 数和 fork (2.3k) 数均领先于其它推理框架。

据悉,TNN 已于 3 月中旬在腾讯内部开源,为腾讯 QQ、QQ 空间、腾讯微视、腾讯云、天天 P 图等多款产品和服务持续提供技术能力,释放出更多效能。

「TNN 已在 GitHub 上开源,欢迎业界人士参与协同共建,共同打造更优的移动端推理框架。」腾讯优图实验室副总经理吴永坚介绍,腾讯优图后续将在现有 CV 业务的基础上研发更多的 AI 推理模型,涉及语音、NLP 等相关业务;同时开展针对 CPU、GPU 服务器端的服务,为业界公司提供更广泛的优化服务。「作为产业发展的高速公路,以深度学习框架、组件为代表的 AI 基础设施将是未来的主流趋势,腾讯优图也将以此为着力点,助推产业发展。」吴永坚表示,腾讯优图还将持续开发模型训练组件、模型压缩组件、基础算法组件,并择机开源,希望从框架到平台、到算法,打造一体化的 AI 基础设施,降低 AI 门槛,加速产业发展。

随着以开源为代表的新代码文化的兴起,腾讯近年来在开源领域表现亮眼:在全球最大的代码托管平台 GitHub 上,腾讯发布的开源项目已经超过一百个,涵盖云原生、大数据、AI、云计算、安全、硬件等多个热门技术方向。

通过开源协同,腾讯将各个事业群最底层和共性的技术能力进行梳理和拉通。在业务实践和海量用户检验下,优质的内部开源项目不仅在公司层面推广复用,同时也对外贡献给整个开源社区。仅在 GitHub 上,腾讯的开源项目就收获了 30w+ star 数,跻身国际有影响力的开源企业之一。
 
在开源的道路上,腾讯不仅将内部优质项目持续对外开放,也积极与开源社区协同合作,发挥中国企业的科技力量,推动开源和开放进一步升级。

机器之心联合 AWS 开设线上公开课,通过 6 次直播课程帮助大家熟悉 Amazon SageMaker 各项组件的使用方法,轻松玩转机器学习。


6 月 11 日 20:00,AWS解决方案架构师李强将带来第 6 课,详解如何使用 Amazon SageMaker 和 Nvidia Jetson 打造一个云+端结合的边缘推理的方案。


识别二维码或点击“阅读原文”,立即预约直播。


登录查看更多
0

相关内容

专知会员服务
219+阅读 · 2020年8月1日
深度学习目标检测方法综述
专知会员服务
273+阅读 · 2020年8月1日
【CVPR 2020-商汤】8比特数值也能训练卷积神经网络模型
专知会员服务
25+阅读 · 2020年5月7日
专知会员服务
44+阅读 · 2020年3月6日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
社区分享|如何让模型在生产环境上推理得更快
使用ONNX+TensorRT部署人脸检测和关键点250fps
极市平台
34+阅读 · 2019年10月22日
刚刚,阿里开源首个深度学习框架 X-Deep Learning!
阿里技术
4+阅读 · 2018年12月21日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
开源神经网络框架Caffe2全介绍
北京思腾合力科技有限公司
3+阅读 · 2017年12月12日
大规模知识图谱的构建、推理及应用
CSDN大数据
7+阅读 · 2017年9月7日
SlowFast Networks for Video Recognition
Arxiv
4+阅读 · 2019年4月18日
Parsimonious Bayesian deep networks
Arxiv
5+阅读 · 2018年10月17日
Arxiv
6+阅读 · 2018年2月24日
Arxiv
7+阅读 · 2018年1月24日
VIP会员
相关资讯
社区分享|如何让模型在生产环境上推理得更快
使用ONNX+TensorRT部署人脸检测和关键点250fps
极市平台
34+阅读 · 2019年10月22日
刚刚,阿里开源首个深度学习框架 X-Deep Learning!
阿里技术
4+阅读 · 2018年12月21日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
开源神经网络框架Caffe2全介绍
北京思腾合力科技有限公司
3+阅读 · 2017年12月12日
大规模知识图谱的构建、推理及应用
CSDN大数据
7+阅读 · 2017年9月7日
相关论文
SlowFast Networks for Video Recognition
Arxiv
4+阅读 · 2019年4月18日
Parsimonious Bayesian deep networks
Arxiv
5+阅读 · 2018年10月17日
Arxiv
6+阅读 · 2018年2月24日
Arxiv
7+阅读 · 2018年1月24日
Top
微信扫码咨询专知VIP会员