6 月 10 日,腾讯优图实验室宣布正式开源新一代移动端深度学习推理框架 TNN。
从学界到工业界,「开源」已经成为 AI 领域的关键词。
一方面,它以「授人以渔」的方式为 AI 构建了一个开放共进的生态环境,帮助行业加速 AI 应用落地;另一方面,在解决行业实际问题时实现持续更新和迭代,源源不断地给 AI 领域输送重要的技术养料和创造力。可以说「开源」是 AI 落地和繁荣不可或缺的源动力。
6 月 10 日,腾讯优图实验室宣布正式开源新一代移动端深度学习推理框架 TNN,通过底层技术优化实现在多个不同平台的轻量级部署落地。该框架性能优异、简单易用。基于 TNN,开发者能够将深度学习算法轻松移植到手机端并高效执行,开发人工智能 APP,真正将 AI 带到指尖。开源地址:https://github.com/Tencent/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 引入了 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 基础设施的研发和推进。此前,腾讯优图已开发了 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 打造一个云+端结合的边缘推理的方案。
识别二维码或点击“阅读原文”,立即预约直播。
