内容简介:ncnn是腾讯开源为手机端极致优化的高性能神经网络前向计算框架。 仰赖ncnn社区开发者的贡献,ncnn在2019年年初便已实现int8模型量化和推理。但因后来失去社区开发者的持续投入,ncnn的int8量化推理效率迟迟没有加...
ncnn是腾讯开源为手机端极致优化的高性能神经网络前向计算框架。
仰赖ncnn社区开发者的贡献,ncnn在2019年年初便已实现int8模型量化和推理。但因后来失去社区开发者的持续投入,ncnn的int8量化推理效率迟迟没有加速。
ncnn github issue区大家关于int8量化后速度的质疑:
引用zhihu用户John Hexa关于《如何看待国内开源项目的不可持续性?》的一段回答:
“开源的生命力并不在于“开源”,而在于为人类好好的、真正的解决掉一个问题。
不是自己提供一个半成品,指望别人完成成品。
而是自己要提供一个成品,让别人可以完成更好的成品。
不是自己提出一个问题,指望别人给你答案。
而是自己给出一个答案,让别人可以找到更好的答案。”
本以为,ncnn的开发者社区足够活跃,可以等到一位愿意为ncnn优化加速int8计算的贡献者。
这确实是我错了。
本次20210507版本,ncnn的int8量化 工具 和整个int8推理计算架构被进行了彻底重构,作者删除了老旧的kernel实现,亲自写了大量arm neon汇编,4w+行代码,用上armv8.2 dot指令加速。最终,在int8量化和推理加速上,ncnn提供了一个成品,给出了一个答案。
ncnn 20210507版本下载地址(linux/windows/macos/android/ios/webassembly,cpu+gpu)
https://github.com/Tencent/ncnn/releases/tag/20210507
继续保持优秀的接口稳定性和兼容性
-
API接口完全不变
-
量化校准table完全不变
-
int8模型量化流程完全不变
ncnn int8量化工具(ncnn2table)新特性
-
支持 kl aciq easyquant 三种量化策略
-
支持多输入的模型量化
-
支持RGB/RGBA/BGR/BGRA/GRAY输入的模型量化
-
大幅改善多线程效率
-
离线进行(反量化-激活-量化)->(requantize)融合,实现端到端int8量化推理
ncnn int8量化推理新特性
-
conv/convdw/fc 量化推理支持附带任意激活层
-
int8特征数据自动转换为elempack=8内存布局,提高访存效率
-
实现全部pack1/pack1to4/pack4/pack8to4等的int8 sgemm kernel优化
-
实现int8 winograd-f43的kernel优化
-
运行时检测armv8.2 dot指令支持,并调用优化的kernel
-
启用fp16/bf16的情况下,遇到非conv/convdw/fc层,自动回退到fp16/bf16而不是fp32计算
ncnn 20210507版本的其他更新
-
数学函数 log/exp/sin/cos/tanh 的 risc-v v 扩展指令优化
-
由社区贡献者贡献的 ncnn x86 卷积优化和 FAQ 文档
-
改善模型转换器兼容性,fp16和vulkan运算bugfix,等等
mobilenet int8模型,ncnn自带的benchncnn评测工具,测试手机:oneplus 7t(qcom855+)
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 关系推理水平超越人类:DeepMind展示全新神经网络推理预测技术
- 用于补丁生成自动推理代码转换
- CPU深度学习推理部署优化
- 浅谈机器学习模型推理性能优化
- 【强化学习】数据科学,从计算到推理
- 【邢不行|量化小讲堂系列05-Python量化入门】计算创业板平均市盈率
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
活着就为改变世界
[美] 杰弗里·扬、威廉·西蒙 / 蒋永军 / 中信出版社 / 2010-6 / 39.00元
内容简介 苹果公司CEO史蒂夫•乔布斯这个一直活在自己想象的世界里的创业奇才,经历过各种挫折与失落,但他那无所畏惧、敢于承担的个性让他一直努力实践着自己的价值观,总能为他的离奇想法找到解决问题的办法。 本书两位作者通过深入访谈和资料调查,揭秘了许多乔布斯个人的创业经历和家庭变故,为大家塑造了一个活生生的“乔布斯式”的鲜活人物,描述了一个个充满传奇色彩的商业奇迹,真实地再现了乔布斯几十年......一起来看看 《活着就为改变世界》 这本书的介绍吧!