Skip to content

Latest commit

 

History

History
106 lines (88 loc) · 18.2 KB

2020-07-18.md

File metadata and controls

106 lines (88 loc) · 18.2 KB
layout
default

嵌入式AI简报 (2020-07-18)

关注模型压缩、低比特量化、移动端推理加速优化、部署

导读:本次18条。「新闻」Graphcore发布第二代7nm IPU M2000、Imagination发布主打安全可用于汽车ADAS的XS GPU、为智能手表而设计的骁龙4100系列解析、ARM中国发布面向物联网设备的轻量级处理器“星辰”。
「论文」依图&新加坡国立大学提出精度性能双超MobileNetV2的MobileNeXt;轻量级超分网络LESRCNN;EasyQuant后量化算法解读。
「开源」OPEN AI Lab发布嵌入式全场景推理框架Tengine-Lite,博文有一篇212关键点的Tengine-Lite demo;百度发布PaddleOCR项目适用于端侧部署推理给出了完整解决方案;商汤&港中文发布MMLab算法平台;小视科技开源基于RGB图像的静默活体检测算法。
「博文」ncnn up主学习笔记一篇:手把手教你让推理框架支持RISC-V!Tengine-Lite的人脸212点关键点demo;华为的两篇,分别是在优化ARM CPU 1bit和tiny-bert上的工作。Pytorch如何训练BNN模型,及剖析Conv空间和通道域计算量的文章,都非常值得一看。

先是一些其他热身小新闻:

  • 寒武纪7月20日科创板上市:募资近26亿 联想美的配售;
  • 高通可能会推出骁龙875G:基于Cortex-X1+A78的核心组合,且下代旗舰集成5G基带而非外挂,紧接着可能是中端735G;
  • 台积电和联发科陆续公布了6月营收报告,均大幅增长,其中联发科更是大涨21%,创下2016年10月份以来的单月新高;
  • 三星电子修改芯片工艺路线,跳过4nm由5nm直接上升到3nm;
  • 阿里云IoT、天猫精灵联合成立AIoT创新中心,将整合阿里巴巴包括达摩院在内的技术能力;
  • Android 11新增永久专用智能家居控件,谷歌在Android 11中加入了一个永久专用的智能家居控件并与GoogleAssistant打通;
  • 索尼推出边缘低功耗解决方案Spresense microcontroller board,Powered by Sony's CXD5602 microcontroller (ARM® Cortex®-M4F × 6 cores) with a clock speed of 156 MHz;
  • 英伟达超英特尔成美国市值最高芯片商。

注:个别链接打不开,请点击文末【阅读原文】跳转

业界新闻

  • Graphcore发布第二代IPU及IPU-M2000 三大颠覆性技术定义AI计算的未来 | Graphcore
    摘要:Graphcore发布第二代IPU以及大规模系统级产品IPU-Machine:M2000(IPU-M2000),新一代产品具有更强的处理能力、更多的内存和内置的可扩展性,可处理极其庞大的机器智能工作负载。
    IPU-Machine M2000是即插即用的机器智能计算刀片,其设计易于部署,并支持可大规模扩展的系统。纤巧的1U刀片可提供1 PetaFlop机器智能计算能力,并且包括集成在机箱中的、针对AI横向扩展进行了优化的联网技术。”
    每个IPU-M2000的核心都是新的Graphcore Colossus™Mk2 GC200 IPU。该芯片采用台积电最新的7纳米工艺技术开发,每个芯片在一个823平方毫米的裸片上包含超过594亿个晶体管,使其成为有史以来最复杂的处理器。除了FP32 IEEE浮点运算的支持外,还支持FP16.32(16位乘以32位累加)和FP16.16(16位乘法累加)。但独特之处在于,硬件支持随机取整。AI-Float算术块还为稀疏算术浮点运算提供了本机支持。我们为各种稀疏操作提供库支持,包括块稀疏性和动态稀疏性。
    通信层面,专用AI联网IPU-Fabric™可提供低时延和高带宽。每个IPU-M2000均可提供2.8Tbps。当您将越来越多的IPU-M2000机箱连接在一起时,总带宽将增加到每秒许多Petabits。IPU-Fabric使用3D环形拓扑,原因是效率最大化,以及它很好地映射了机器智能计算中并行性的三个维度。
    中文版Moor研究报告下载:https://zhuanlan.zhihu.com/p/159707631
  • Imagination发布XS GPU:专注汽车行业的终极GPU系列 | Imagination Tech
    摘要:多年来,大家的印象对Imagination Technologies是在移动端领域的知名GPU供应商,但Imagination也为汽车应用处理器市场三大巨头中的两个提供GPU IP,占据了最大的市场份额。 这也是业界首款功能安全GPU产品系列:XS GPU产品系列的工艺制造经过独立验证,并符合ISO 26262标准(汽车行业电子产品安全标准)。 随着专为功能安全而设计的XSGPU产品系列推出,它们可以用于某些以前没有GPU参与的车内任务。这分为两类:一是图形任务,比如在仪表盘或全景环视系统上显示安全相关的信息;二是用于ADAS的计算任务,通常称为“计算”。而我们的GPU非常适用于图形和计算任务(对于后者,我们有专用的神经网络加速器)。
    不管哪种任务,整个运行系统必须功能安全,必须符合ISO 26262标准。旨在确保所有汽车电子器件的安全性,从而降低任何故障产生的影响(即便无法避免故障)。在真实的汽车驾驶中,这意味着如果系统发生某种非灾难性的故障,车辆仍然可以安全停车或直接开到维修中心。这就是所谓的功能安全(FuSa)。
  • 高通骁龙4100系列解析:安卓智能手表的复兴希望 | 三易生活
    摘要:上期咱们简报发了有关骁龙4100系列的新闻,这次解析会更深入一些。
    骁龙4100可穿戴平台一口气用上了12nm半导体制程、新的1.7GHz四核A53 CPU、新架构的Adreno 504图形处理器。
    高通设计了两颗Hexagon QDSP6 V56 数字信号处理器(DSP),这并不是为了实现两倍的DSP性能,而是将一颗DSP专门用于处理基带通信和GPS定位,另一颗DSP专门用于服务音频处理和传感器信号整合(Sensor Hub)。这样一来,单个DSP的负载得到减轻、功耗大幅降低的同时,持续定位或是连续健康监测的稳定性也能随之提高。 骁龙4100平台包含两款不同的硬件方案,即骁龙4100与骁龙4100+。plus版多了一颗基于Cortex-M系列架构的协处理器——QCC1110 Enhanced(直译为增强版)。独立处理器、独立内存和独立DSP的QC1110,其能够在主SoC处于低功耗模式时,独立驱动手表显示65536色的彩色屏幕、能够支撑起持续心率监测、持续睡眠监测,以及持续运动统计等功能继续正常使用。换句话说,有了骁龙4100+,安卓智能手表哪怕还剩下15%的电量,也能以近乎完全的健康和运动功能继续用上不止一天时间,彻底解决了“续航焦虑”问题。
  • 安谋中国“星辰”处理器STAR-MC1:面向物联网设备的轻量级实时处理器 | 电子产品世界
    摘要:7月8日,安谋中国举办了“星辰”处理器媒体分享会,Arm中国产品研发副总裁刘澍披露了其首款全自研32位嵌入式处理器IP“星辰(STAR-MC1)”的最新落地进展,STAR-MC1表示它是安谋中国Microcontroller系列中第一个CPU。从安谋中国从2018年4月份成立,到2019年的9月份发布第一个EAC的版本,仅用了17个月的时间就推出了STAR-MC1。
    其技术亮点包括不限于:Armv8-M架构,带来高达 4.02 Coremark/MHz 的极致能效;内存子系统引入紧耦合内存和缓存技术,确保实时性和执行效率;DSP指令和协处理器,帮助实现算法性能的大幅度提升。TrustZone技术,确保物联网设备的信息安全。星辰处理器从系统层面来进行安全保护,后续会联动“山海”和PSA认证去一起实现安全保护; 自定义指令集帮助所有的开发者互联互通,在预留空间内按照Arm的指令格式,给客户模板和技术支持,为保障客户的特定需求,同时也是对有限指令集的补充。

论文

  • [2007.02269v2] MobileNeXt:打破常规,逆残差模块超强改进,新一代移动端模型精度速度超MobileNetV2 | 极市平台
    标题:Rethinking Bottleneck Structure for Efficient Mobile Network Design
    链接:https://arxiv.org/abs/2007.02269v2
    代码:https://github.com/zhoudaquan/rethinking_bottleneck_design
    摘要:依图科技&新加坡国立大学颜水成团队提出的一种对标MobileNetV2的网络架构MobileNeXt。它针对MobileNetV2的核心模块逆残差模块存在的问题进行了深度分析,提出了一种新颖的SandGlass模块,并用于组建了该文的MobileNeXt架构,SandGlass是一种通用的模块,它可以轻易的嵌入到现有网络架构中并提升模型性能。该文应该是近年来为数不多的优秀终端模型了。为更适合于手机端,作者引入了一个新的超参数:identity tensor multiplier,用于减少对精度几乎没有提升的加法操作,并减少访存操作的次数。
  • [2007.04344v2] Lightweight Image Super-Resolution with Enhanced CNN
    链接:https://arxiv.org/abs/2007.04344v2
    摘要:超分(SR)模型效果惊艳然而计算代价的成本和运行时内存占用较高,本文提出轻量级超分卷积网络,整体架构由3个子模块组成:信息提取和增强模块(IEEB),重建模块(RB),信息增强模块(IRB)。其中IEEB会抽取低分辨率特征并聚合,以提高浅层的记忆能力。IEEB模块的作用是为移除冗余信息,RB模块紧随其后,通过融合全局和局部特征的方式,将低频特征转为高频特征,RB和IEEB两个模块达到互补作用。而IRB模块,则用来自RB模块的粗粒度高频特征,去学习更精确的超分特征并重建超分结果图像。
    提出的LESRCNN能获得高质量的图片,且优于现有的SOTA SISR方法。
  • EasyQuant:后量化算法解读Post-training Quantization via Scale Optimization | GiantPandaCV
    链接:https://arxiv.org/pdf/2006.16669.pdf
    代码:https://github.com/deepglint/EasyQuant
    摘要:这篇文章提出的后训练量化算法的思路是,引入 相似性作为目标函数,通过交替搜索权值和激活的量化因子(scale)来最大化量化前后激活值的 相似性,来找到权值和激活值的最优量化因子。
    而实际端上推理阶段则采用权值和激活 int7 量化,中间 int16 累加器累加多次的方式,使得推理速度优于权值和激活 int8 量化,中间 int16 累加器只累加两次的方式,同时还可以比较好的保持量化后算法的精度。

开源项目

注:每条内容前缀为github地址的仓库拥有者和仓库名,补全地址后为github.com/<repo_owner>/<repo_name>

  • OAID/Tengine-lite: OPEN AI Lab开源嵌入式全场景推理框架Tengine-Lite | OPEN AI LAB开放智能
    摘要:Tengine-Lite由OPEN AI Lab于7月6日正式开源,该框架特点在于提供了整套便捷的MCU AI开发工具,还为嵌入式AI软件产业建立了开放的开发生态平台。基于纯C代码重新搭建的更简洁、高效、代码可读性更好的Tengine-Lite,可以说将轻量化无依赖做到了极致。Linux版本的库大小在500KB以内,安卓库大小在1MB内;编译极速;框架和计算库分离采用Plug-in设计,也支持其它异构计算库的挂载;相比Tengine,Lite版本在单核、多核的性能稳定性提升明显(见性能散点图略了这里);嵌入式全场景,FreeRTOS\RTT\Lite-OS等极简的实时操作系统或裸机Bare-matel上运行,还可以在MCU、RISC-V等低功耗、资源极为有限的IoT芯片主控上运行。可用于语音、视觉等多种场景。
  • PaddlePaddle/PaddleOCR:8.6M超轻量中英文OCR模型开源,训练部署一条龙,Demo在线可玩 | 量子位
    项目地址:https://github.com/PaddlePaddle/PaddleOCR
    在线Demo:https://www.paddlepaddle.org.cn/hub/scene/ocr
    PaddleOCR发布的超轻量模型,主要由4.1M的检测模型和4.5M的识别模型组成。其中,检测模型的Base模型采用DB算法,文本模型的Base模型采用经典的CRNN算法。
    鉴于MobileNetV3在端侧系列模型中的优越表现,两个模型均选择使用MobileNetV3作为骨干网络,可将模型大小初步减少90%以上。此外,还采用减小特征通道数等策略,进一步对模型大小压缩。通用OCR模型的精度可能不能满足需求,还可快速自定义训练。 预测的平台支持方面,除支持X86 CPU、NV和昆仑芯片的原生推理库,也有Paddle-Lite支持手机嵌入式端,包括ARM CPU、GPU、华为NPU、比特大陆、RK NPU、MTK APU、百度昆仑芯片等等。
  • open-mmlab: 香港中文大学-商汤科技联合实验室 MMLab 开源的算法平台
    项目主页:http://openmmlab.org/
    不到两年时间,MMLab已经包含众多 SOTA 计算机视觉算法。OpenMMLab 在Github上不是一个单独项目,除了大家所熟知的 Github 上万 star 目标检测库 MMDetection,还有其他方向的代码库和数据集,非常值得从事计算机视觉研发的朋友关注。
    近期 OpenMMLab 密集更新,新增多个库,涉及超过 10 个研究方向,开放超过 100 种算法和 600 种预训练模型,目前Github总星标超过 1.7 万。是CV方向系统性较强、社区活跃的开源平台。
    这些库大部分都基于深度学习 PyTorch 框架,算法紧跟前沿,方便易用,文档较为丰富,无论对于研究还是工程开发的朋友都很值得了解。
  • minivision-ai/Silent-Face-Anti-Spoofing:9ms 静默活体检测 | 我爱计算机视觉
    摘要:小视科技团队开源的基于 RGB 图像的活体检测模型,是专门面向工业落地场景,兼容各种复杂场景下的模型。结合傅里叶频谱图的辅助网络监督,并结合注意力机制,效果拔群。轻量化过程,使用自研模型剪枝方法,将 MoboileFaceNet 的 flops 从 0.224G 降低到了 0.081G此外,用大体量网络 ResNet34 蒸馏剪枝网络 MiniFASNetV1 和 MiniFASNetV2,精度得到提升。在麒麟 990 5G 芯片上仅需 9ms。同时基于 PyTorch 训练的模型能够灵活地转化成 ONNX 格式,实现全平台部署。
  • NVIDIA Jetson实用功率估算工具:PowerEstimator | 吉浦迅科技
    摘要:工具类。PowerEstimator是用于Jetson模块上系统(SOM)的功率估算工具。它估计平均SOM功耗并为系统配置和要建模的目标工作负载生成nvpmodel配置文件。该工具提供了一组输入旋钮,例如时钟频率,活动内核数,负载水平和设备运行状态,用于定义目标工作负载并在将配置应用于目标设备之前获得功耗估算值。

博文

  • 我把 ncnn 移植到 RISC-V 啦! | NeuralTalk
    摘要:RISC-V(发音为“risk-five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。其重要意义,在于设计使其适用于现代计算设备(如仓库规模云计算机、高端移动电话和微小嵌入式系统)。设计者考虑到了这些用途中的性能与功率效率。该指令集还具有众多支持的软件,这解决了新指令集通常的弱点。 本文是 ncnn up如何一步一步让 ncnn 支持 RISC-V 的学习笔记,对很多框架开发者尤其是希望支持 RISC-V 的框架开发者,相信有一定帮助。
  • 用开源212点人脸关键点实现Android人脸实时打码,内附Github地址
    摘要:随着人脸识别技术的普及,人脸数据的隐私问题也得到越来越多关注,针对隐私保护的研究也陆续出现。目前大致有下面3个方向:篡改输入人脸识别系统的图像;生成式对抗网络(GAN)来匿名某人的照片或视频;直接模糊人脸识别到的人脸。本文主要讲第3点,讲讲怎么使用移动端人脸关键点算法实现人脸匿名功能。这种方法对设备要求低,代码简单易懂,修改后就可直接落地。同时,本文开源一个移动端实时人脸212关键点SDK。可在各种手机上以非常低的延迟运行。
  • 走向ARM CPU 1-bit推理的极致道路 | NeuralTalk
    摘要:深度学习的端侧学习对轻量化有着极致的追求,从2016到现在,我们看到业界在推理时使用的数据类型位数一降再降:FP32、FP16、INT8……。显而易见,低比特能节省模型占用的存储空间和功耗,在某些精心设计的算法上面也能获得性能优势。在这一点上,1-bit毫无疑问是经典计算机上可以做到的极致。本文将会介绍华为在1 bit上的ARM CPU优化技术探索。
  • 基于Pytorch构建一个可训练的BNN | GiantPandaCV
    摘要:本文将基于2016年NIPS提出的《Binarized Neural Networks: Training Neural Networks with Weights andActivations Constrained to +1 or −1》这篇论文,对BNN的Pytorch代码做一个解析。
  • 剖析Conv的几种方式和对应结构及其变种 | AI算法及图像处理
    摘要:概述了高效CNN模型(如MobileNet及其变体)中使用的 blocks及其计算量,在空间和通道域进行卷积的直观说明。
  • 探索Bert端侧手机落地:6ms的TinyBert,结合硬件的极速推理 | NeuralTalk
    摘要:自然语言处理问题可以分为四大类:序列标注,分类任务,句子关系判断和生成式任务。2018年10月底Google团队提出预训练语言模型Bert[1],刷新了11项自然语言处理任务的成绩,Bert可以用于问答系统,情感分析,垃圾邮件过滤,命名实体识别,文档聚类等任务。如何利用智能手机的计算资源,在手机上解决Bert计算加速问题显得意义重大。本文记录了华为在模型算法蒸馏、ARM CPU优化的工作。