layout |
---|
default |
关注模型压缩、低比特量化、移动端推理加速优化、部署
导读:本次17条。【新闻】nVIDIA下一代GPU Hopper开启5nm,GraphCore IPU-M2000 benchmark发布性能领先nVIDI A100,谷歌MediaPipe Holistic实现移动端多模型同时工作;【论文】微软RNNPool在内存256KB设备上取代CNN的人脸检测,商汤手机端实时单目三维重建系统Mobile3DRecon,基于Hessian矩阵的全自动混合精度量化方法HAWQv2;【开源】OneFlow发布0.3.2性能更优体验率先支持CUDA11.1,Paddle飞桨发布2.0RC加入高层API且动静统一,细数DeepMind Jax生态工具,清华Jittor发布1.2.2支持Transform性能超Pytorch,OpenCV4.5.1发布DNN模块改进;【博文】微信AI超分辨率扫码从算法到落地,Pytorch多级多卡数据并行训练实践及技巧,APP启动提速的想法,如何阅读NCNN框架代码。
好了,先是一些热身小新闻ヽ(✿゜▽゜)ノ:
- 云从:冲刺科创板IPO!3年营收15.77亿净亏23亿,通过「云-边-端」一体设备,赋能金融/治理/出行/商业等场景;
- GraphCore:在E轮融资中筹得2.22亿美元,将进一步加速未来IPU芯片、系统和软件的开发;
- 骁龙/三星:5nm的骁龙888和Exynos 1080开始量产;
- 骁龙:骁龙480 5G SoC,Kryo 460 CPU,Cortex A76@2.0GHz + A55@1.8GHz,GPU方面为Adreno 619,AI方面Hexagon 686处理器同时集成传感器中枢让骁龙4系列能够支持语音助理;
华为:2021 年将有超过 1 亿台设备成为华为鸿蒙新入口; - 华为:2021 年将有超过 1 亿台设备成为华为鸿蒙新入口;
- 微软:将仿效苹果自研ARM芯片,用于Surface和服务器;
- 地平线:计划 C 轮融资总额超 7 亿美元完成 C1 轮融资。用于加速车载芯片和智能驾驶方案研发和商业化;
- deci.ai:初创公司Deci宣布获得种子轮融资,金额910万美元,用于自动驾驶AI算法研发(见后文)。
注:个别链接打不开,请点击文末【阅读原文】跳转
- 取代安培!nVIDIA下一代GPU曝光:终于5nm | 硬件世界
摘要:NVIDIA的下一代GPU,继图灵(Turing)和安培(Ampere)之后,将以“Hopper(赫柏)”命令,Hopper被誉为编译之母,是伟大的女性程序员。不过,爆料好手kopite7kimi意外透露,Hopper似乎被NVIDIA延后了,接替Ampere的另有其人。
NVIDIA正规划的5nm GPU,将以“Ada Lovelace”为名,资料显示,她是诗人拜伦唯一合法的女儿,被誉为第一位计算机科学家、编写了历史上第一个计算机程序。传言Hopper采用的是MCM多芯设计,可能是复杂度更高,但也有一种可能是,Hopper会用于专业级、企业级产品,Ada Lovelace是消费级游戏类产品。 - GraphCore IPU-M2000性能Benchmark发布:领先nVIDIA A100,已开始面向全球出货 | Graphcore
摘要:2020年12月,Graphcore为其最新的AI计算系统——IPU-M2000和纵向扩展的IPU-POD64发布了第一套性能benchmark。在各种流行的模型中,Graphcore技术在训练和推理方面均显著优于NVIDIA的A100(基于DGX)。亮点包括训练和推理方面的极致性能。 训练方面:EfficientNet-B4:吞吐量高18倍,ResNeXt 101:吞吐量高3.7倍,BERT-Large:与DGX A100相比,在IPU-POD64上的训练时间快5.3倍(比双DGX系统缩短2.6倍); 推理推理:LSTM:以更低时延实现吞吐量提升超过600倍,EfficientNet-B0:吞吐量提升60倍/时延缩短超过16倍,ResNeXt-101:吞吐量提升40倍/时延缩短10倍,BERT-Large:以更低的时延实现吞吐量提升3.4倍。 - 深度学习初创公司Deci:融资910万美元以自动优化AI算法 可应用于自动驾驶等行业 | 盖世汽车智能网联
主页:https://deci.ai/
摘要:深度学习初创公司Deci宣布,其在种子轮融资中筹集了910万美元,该轮融资由以色列公司Emerge领投。
Deci的竞争对手是初创公司OctoML(注:TVM团队成立,陈天奇任CTO),后者也表示可以通过专有工具和流程自动优化机器学习。该公司的其他竞争对手还包括DeepCube,后者将其解决方案描述为“基于软件的推理加速器”;还有Neural Magic公司,该公司则会重新设计AI算法,通过利用芯片的可用内存,在现有的处理器上更高效地运行。而Deci的另一个竞争对手DarwinAI则采用称作“生成合成”(generative synthesis)的技术来消化模型,然后再吐出得到高度优化的版本。
Deci表示,在测量深度学习性能的基准套件MLPerf上进行测试时,其平台将流行的ResNet神经网络在英特尔处理器上的推理速度提高了11.8倍,同时也实现了精度目标。该公司表示,其已经有众多自动驾驶汽车、制造业、通讯业、视频和图像编辑以及医疗保健公司客户。 - 谷歌MediaPipe Holistic,实现移动端多模型同时工作:人脸、手部和人体关键点检测跟踪 | 新智元
代码:https://github.com/google/mediapipe
原文:https://ai.googleblog.com/2020/12/mediapipe-holistic-simultaneous-face.html
演示:https://mediapipe.dev/demo/holistic_remote/
摘要:谷歌之前发布的 MediaPipe 就是一个专门为端上CPU/GPU而设计的开源框架,已经为这些单个任务提供了快速、准确而又独立的解决方案。
此次为突破性的 540 多个关键点(33 个姿势、21 个手和468 个人脸关键点)统一结构,并在移动设备上实现了近实时性能。对人体姿势、人脸关键点和手部追踪的实时同步感知,可以实现各种有趣的应用,如健身和运动分析、手势控制和手语识别、增强现实效果等。
- [NIPS 2020] 微软:内存256KB设备上的人脸检测,用RNN代替CNN | 量子位
文章:https://www.microsoft.com/en-us/research/publication/rnnpool-efficient-non-linear-pooling-for-ram-constrained-inference/
代码1:https://github.com/microsoft/EdgeML/blob/master/pytorch/edgeml_pytorch/graph/rnnpool.py
代码2:https://github.com/microsoft/EdgeML/tree/master/examples/pytorch/vision
摘要:微软提出了一种RNNPool方法,甚至可在内存只有256 KB的STM32开发板上运行人脸检测模型,由于RNNPool与池化算子等价,可用于替换CNN中的所有池化运算符,降低对内存需求。在大多数情况下,研究人员发现基于RNNPool的模型所需的内存可以减少至原来的10~20%。同时,仍能保持几乎相同的准确度。RNNPool-Face-M4在Arm Cortex-M4的STM32F439-M4器件上,推理性能为10.45秒/单张图,峰值内存为188KB。而EagleEye模型(小型设备的SOTA模型)的峰值内存为1.17MB。 - [ISMAR 2020] 商汤提出手机端实时单目三维重建系统 | 商汤汤泰坦公开课
标题:Mobile3DRecon: Real-time Monocular 3D Reconstruction on a Mobile Phone
文章:https://ieeexplore.ieee.org/document/9201064
摘要:作者提出了一个实时的单目三维重建系统,该系统允许用户在一些中端的手机平台上使用单目摄像头提供在线网格生成功能。与现有的基于点云或 TSDF 的在线重建方法不同,Mobile3DRecon 系统可以根据单目摄像头图像鲁棒地估计场景深度,同时将估计的关键帧深度实时增量地融合到稠密网格表面。本文在两个中端手机平台上验证了 Mobile3DRecon 系统的重建结果,通过定量和定性的实验验证了所提出的实时单目三维重建系统的有效性。Mobile3DRecon 系统能够正确处理虚拟物体与真实场景之间的遮挡和碰撞,从而达到逼真的AR效果。 - [NIPS 2020] HAWQv2:伯克利人工智能实验室提出基于Hessian矩阵的全自动混合精度量化方法 | 将门创投
代码:https://github.com/Zhen-Dong/HAWQ
文章:https://papers.nips.cc/paper/2020/file/d77c703536718b95308130ff2e5cf9ee-Paper.pdf
视频:https://neurips.cc/virtual/2020/protected/poster_d77c703536718b95308130ff2e5cf9ee.html
摘要:混合精度量化 (Mixed-Precision Quantization) 是模型压缩领域的重要方法。HAWQ (音同Hawk,鹰) 提出了一种基于Hessian矩阵的可以全自动确定混合精度的方法。其核心思想是使用敏感度分析,对神经网络中特别敏感的层使用高量化位宽,对不敏感的层使用低量化位宽。
本文是伯克利人工智能实验室 (BAIR) 发表于NeurIPS 2020的一项工作,提出Hessian矩阵的迹是衡量敏感程度的重要指标,并且基于此进行了组合优化。HAWQ的方法在不同模型和不同任务上泛化很好,取得了SOTA的量化结果(ImageNet Top1:8MB ResNet50 75.9%,1MB SqueezeNext 68.7%) 。 - [ICCV 2019] YolactEdge:边缘设备上的实时实例分割(Xavier: 30 FPS | AI人工智能初学者
链接:https://www.researchgate.net/publication/339559274_YOLACT_Real-Time_Instance_Segmentation
摘要:YolactEdge是一个带有ResNet-101的网络,在550x550分辨率的图像上,其在Jetson AGX Xavier上的速度高达30.8 FPS,在RTX 2080 Ti上的速度为172.7 FPS,AP性能超强!速度是目前主流方法的3-5倍,代码刚刚开源! 作者对基于图像的最新实时方法YOLACT进行了两项改进:1. 优化TensorRT,同时谨慎权衡速度和准确性;2.利用视频中时间冗余的新型特征扭曲模块。
在YouTube VIS和MS COCO数据集上进行的实验表明,与现有的实时方法相比,YolactEdge的速度提高了3-5倍,同时具有极好的mask和box检测精度。
- oneflow-inc/oneflow:发布了新版本 0.3.2,大版本 0.3 加入了诸多特性,性能更优,用户体验更友好,且率先支持了 CUDA 11.1
摘要:除了率先支持了 CUDA 11.1。在内存亚线性优化在省的基础上更省,保持训练速度的前提下,大幅节省内存;提供了新版 Checkpoint,让用户可以用 Numpy 初始化权重,想试验下新的初始化方法又不会开发算子的同学,现在可以用 Numpy 自己拼啦;新增 Python Kernel,让用户可以用 Python 为 OneFlow 实现自定义算子。更详细的就点击原文阅读吧! - PaddlePaddle/Paddle:飞桨发布开源框架2.0 RC版“编程一致、动静统一”及生物计算平台PaddleHelix
摘要:飞桨开源框架2.0RC版,把API分成19个大类,新增了200多个API。2.0RC版加入了高层API,与基础API一体化设计,称为“高低融合”,可以交叉使用。使用高层API以后,很多模型甚至只用10行代码就可以写训练程序,可以做到低代码开发。伴随着2.0RC版的发布,飞桨正式推出大规模分布式训练的升级,发布业内首个通用异构参数服务器架构。开源算法库全面升级,官方算法数量从140+扩展至200+。
螺旋桨的开源工具集包括:RNA二级结构预测、大规模的分子预训练、DTI药物靶点亲和力预测、ADMET成药性预测等。这些工具集能为生物研究者提供新药研发和疫苗设计环节的核心能力,帮助生物信息学、计算机交叉学科背景的学习者、研究者和合作伙伴,更便利地构建AI算法模型。 - Jittor/jittor:清华「计图」发布1.2.2版本,推出了JRender 可微渲染库,并支持Vision Transformer模型,性能超Pytorch | 图形学与几何计算
摘要:「渲染」通常是指将3D场景,转变为2D图像的过程。可微分渲染,则是「渲染」的“反向操作”,从2D图像中,生成所需的3D场景信息,包括3D几何、灯光、材质、视角等。
此次,部分模型训练速度较PyTorch更快,继在NLP领域取得最优性能后,Transformer又进入了图像领域,目前Vision Transformer也已经在视觉分类上取得了最佳效果。目前「计图」已经实现了复现,训练速度相比于PyTorch还要快上20%。MobileNet的训练和推理速度,在不同的图像及batchsize大小上,速度提升从10%~50%不等。 - deepmind/jax:DeepMind力荐的JAX到底有多强大 | 将门创投
摘要:随着越来越多项目的使用,由谷歌研究开发的 JAX 工具包逐渐得到研究和工程领域人员的喜爱。JAX 是一个用于高性能数值计算的 Python 库,特别为机器学习领域的高性能计算设计。它的 API 基于 Numpy 构建,包含丰富的数值计算与科学计算函数。
JAX 工具包具有良好的工程哲学和便捷的使用方法,DeepMind 的研究人员在充分地使用后整理出了详细的分析,并汇总了JAX的整个生态系统介绍,为想要入坑的小伙伴们提供了详细的参考。 - OpenCV/OpenCV:新版 4.5.1 发布 | OpenCV中文网
项目地址:www.opencv.org
摘要:集成更多的GSoC 2020 项目的结果,包括:- 开发了OpenCV.js DNN 模块,以方便再网页中使用,并提供了相关教程。目标检测/分类/风格迁移/语义分割等;
- OpenCV.js WASM SIMD 优化 2.0,网页端调用OpenCV更快;
- 新增文本检测和识别高级API;
- SIFT算法优化,主要是16位整型高斯滤波指令加速
- DNN模块的改进:1. 改进层/激活函数支持更多模型:1D卷积,1D池化;2. 修复Resize, ReduceMean,多输出收集,导入Faster RCNN ONNX模型;3. 支持INT32 ONNX张量;4. 英特尔®推理引擎后端(OpenVINO™);5.增加了对OpenVINO 2021.2版本的支持,添加了对HDDL的预览支持。
- 微信AI设计了一种超分辨率技术,让扫二维码更方便 | 微信AI
摘要:对于微信扫码识别中分辨率低、小分辨率低质量的码图像,综合考虑性能与效率,设计了适用于移动端的超分算法,在保证速度的同时提高了扫码算法的识别成功率。经过一系列的精心设计,最终模型量化后体积仅有13K。在困难验证集上的实验测试中,与普通的bicubic插值相比,超分算法的将识别率由39.69%提高到了60.31%,在iPhone7上真机单帧耗时6.39ms(100x100),完全可以满足移动端的需求。 - PyTorch 多机多卡训练:分布式数据并行(DDP)实战与技巧 | 极市平台
摘要:DistributedDataParallel(DDP)是一个支持多机多卡、分布式训练的深度学习工程方法。其能达到略低于卡数的加速比,是目前最流行的多机多卡训练方法。在这篇文章里,作者通过几个实例,给大家介绍了DDP在实际生产中的应用,如在DDP中引入SyncBN,多机多卡环境下的inference加速等。
本文作者将通过几个实战例子,来给大家介绍一下DDP在实际生产中的应用。内容包括:1.在DDP中引入SyncBN、2.DDP下的Gradient Accumulation的进一步加速、3.多机多卡环境下的inference加速、4.保证DDP性能:确保数据的一致性、5.和DDP有关的小技巧、6.控制不同进程的执行顺序、7.避免DDP带来的冗余输出。 - App 启动提速实践和一些想法 | starming
摘要:启动是门面,好的印象也助于留存率提高。苹果也在系统启动上不断努力,提升用户体验,最新的 M1 宣传中还特别强调了翻盖秒开 macOS,可以看出其对极致启动速度的追求。这篇文章farfetchtechblog.com/en/blog/post/mobile-app-launch-performance-ii提到,据 Akamai调查,每多1秒等待,转化率会下降7%,KissMetrics 的一份报告说启动超5秒,会使19%的用户放弃等待卸载 App。
高德 App 启动优化专项完成后已经有一段时间了,一直保持实属不易,之前也做了些总结。本文将会再补充些启动优化用到一些手段和一些想法。 - 如何阅读NCNN的框架代码 | GiantPandaCV
摘要:这篇文章记录了作者是如何阅读NCNN框架的,其中从运行流程的角度,到图像预处理及模型解析和网络运行整体过程都有基本的介绍,希望对一些不知道如何下手的读者有一点启发。