优图|腾讯优图开源深度学习推理框架TNN,助力AI开发降本增效

从学界到工业界 , “开源”已经成为AI领域的一个关键词 。一方面 , 它以“授人以渔”的方式为AI构建了一个开放共进的生态环境 , 帮助行业加速AI应用落地;另一方面 , 在解决行业实际问题时持续更新和迭代 , 源源不断地给AI领域输送重要的技术养料和创造力 , 可以说开源是AI落地和繁荣不可或缺的源动力 。
优图|腾讯优图开源深度学习推理框架TNN,助力AI开发降本增效
文章图片

文章图片

6月10日 , 腾讯优图实验室宣布正式开源新一代移动端深度学习推理框架TNN , 通过底层技术优化实现在多个不同平台的轻量部署落地 , 性能优异、简单易用 。基于TNN , 开发者能够轻松将深度学习算法移植到手机端高效的执行 , 开发出人工智能 APP , 真正将 AI 带到指尖 。
轻量级部署 , TNN助力深度学习提速增效
深度学习对算力的巨大需求一直制约着其更广泛的落地 , 尤其是在移动端 , 由于手机处理器性能弱、算力无法多机拓展、运算耗时长等因素常常导致发热和高功耗 , 直接影响到app等应用的用户体验 。腾讯优图基于自身在深度学习方面的技术积累 , 并借鉴业内主流框架优点 , 推出了针对手机端的高性能、轻量级移动端推理框架TNN 。
TNN在设计之初便将移动端高性能融入核心理念 , 对2017年开源的ncnn框架进行了重构升级 。通过GPU深度调优、ARM SIMD深入汇编指令调优、低精度计算等技术手段 , 在性能上取得了进一步提升 。以下是MNN, ncnn, TNN框架在多款主流平台的实测性能:
优图|腾讯优图开源深度学习推理框架TNN,助力AI开发降本增效
文章图片

文章图片

优图|腾讯优图开源深度学习推理框架TNN,助力AI开发降本增效
文章图片

文章图片

优图|腾讯优图开源深度学习推理框架TNN,助力AI开发降本增效
文章图片

文章图片

优图|腾讯优图开源深度学习推理框架TNN,助力AI开发降本增效
文章图片

文章图片

TNN在麒麟970、骁龙835、骁龙845 , 骁龙615平台实测性能数据
注:纵轴单位:ms 测试分支:MNN:1.0.0(2020.05.07), ncnn:20200413, TNN: master(2020.06.10)
低精度计算的运用对TNN的性能提升发挥了重要作用 。在神经网络计算中 , 浮点精度在许多研究和业务落地成果上都被证明存在一定冗余 , 而在计算、内存资源都极为紧张的移动端 , 消除这部分冗余极为必要 。TNN引入了INT8、 FP16、 BFP16等多种计算低精度的支持 , 相比大部分仅提供INT8支持的框架 , 不仅能灵活适配不同场景 , 还让计算性能大大提升 。TNN通过采用8bit整数代替float进行计算和存储 , 模型尺寸和内存消耗均减少至1/4 , 在计算性能上提升50%以上 。同时引入arm平台BFP16的支持 , 相比浮点模型 , BFP16使模型尺寸、内存消耗减少50% , 在中低端机上的性能也提升约20% 。骁龙615平台实测:
优图|腾讯优图开源深度学习推理框架TNN,助力AI开发降本增效
文章图片

文章图片

通用、轻便是TNN框架的另一大亮点 。长久以来 , 不同框架间的模型转换都是AI项目应用落地的痛点 。TNN设计了与平台无关的模型表示 , 为开发人员提供统一的模型描述文件和调用接口 , 支持主流安卓、iOS等操作系统 , 适配CPU、 GPU、NPU硬件平台 。企业一套流程就能部署到位 , 简单易用、省时省力 。同时 ,TNN通过ONNX可支持TensorFlow, PyTorch, MXNet, Caffe等多种训练框架 , 目前支持ONNX算子超过80个 , 覆盖主流CNN网络 。TNN所有算子均为源码直接实现 , 不依赖任何第三方 , 接口易用 , 切换平台仅需修改调用参数即可 。


推荐阅读