嵌入式AI简报 (2020-03-19)

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

导读:距离我们比较近的,国内疫情形势已经收敛,坐等3月底旷视框架开源,华为云发布了旗下的2020“新旗舰”——鲲鹏云手机;距离我们比较远的,国外疫情在大爆发,图像传感器自带神经网络登上Nature,40纳秒完成图像分类乔治亚理工大学用RISC-V指令集体系结构(Vortex)打造OpenCL兼容 GPGPU,即将开源
近期英国AI芯片创企Graphcore和美国AI芯片创企SambaNova都已顺利完成了新一轮分别为1.5亿和2.5亿美元的融资,据悉在微软和Cirrascale的云计算产品,以及戴尔的DSS8440 IPU服务器中,都已经配置了Graphcore的IPU芯片。
本次内容20条,「业界新闻」苹果的A14、华为、联发科、紫光展锐的新Soc值得默认关注,谷歌开源移动端3D目标检测demo,「论文」有来自MLsys2020的一篇关于CPU上训练速度比GPU快的,MLsys2020第一篇是MNN可以抽空看看,二值网络综述作者也做了很详尽的对比,前几期就有BERT压缩,这次特修斯之船的思想做BERT压缩。「开源」仅17M的超轻量中文OCR模型,静默人脸活体算法;「博文」部分第一篇微信扫一扫的轻量网络设计最佳实践、NCNN的BF16加速都值得一读。

文末,这篇《对不起,因为之前的代码写的烂,所以我也只能继续烂》,送给大家。

业界新闻

  • 苹果5纳米A14主频高达3.1GHz,单核跑分远高于安卓最强芯 | EETOP
    摘要:目前有关苹果iPhone 12的爆料逐渐增多,近日有博主晒出疑似苹果A14芯片的Beta 1版Geekbench5跑分。
    苹果A14处理器Beta 1版Geekbench5的单核跑分为1658,多核跑分为4612,主频高达3.1GHz。作为对比的是,现在的A13处理器同一基准下的单核是1330分,多核3435分,也远超安卓目前最强芯片高通骁龙865的单核901,多核3315。
  • 华为全新旗舰SoC曝光:9月发布 | 安兔兔
    摘要:处理器芯片流片(Tape Out)分为流片前验证和流片后验证,去年9月份时候@手机晶片达人已经表示,5nm的海思处理器已经正式流片,所以应该是流片完成后准备上开发板验证功能是否符合设计预期,然后再进入工程机测试阶段。
    目前关于麒麟下一代旗舰处理器的正式命名暂时不得而知,有消息称它会命名为麒麟1020,也有消息称会命名为麒麟1000。
    按照惯例,华为每一年的9月份会举行新一代麒麟旗舰处理器的发布会,然后再由Mate系列首发。因此不出意外的话,Mate 40系列将成为首批搭载5nm制程工艺处理器的机型,华为由于先发优势将会领先对手,值得期待。
  • 联发科发布Helio P95 SoC:搭载PowerVR GM 9446 | Imagination Tech
    摘要:2月27日消息,联发科在官网低调上线了Helio P95的页面,从命名规则上,也能看出这颗SoC是基于Helio P90的迭代升级。联发科称这颗芯片加入了新一代AI处理器单元(APU 2.0)。
    Helio P90还是一个4G SoC,不支持5G网络。支持Wi-Fi 5 /蓝牙5.0、Cat 12下行/ Cat 13上行速率、4x4 MIMO。
    CPU方面,Helio P95采用了2×Cortex A75(2.2GHz)+6× Cortex A55(2.0GHz)的“2大核6小核”组合。
    GPU 方面,该SoC集成Imagination PowerVR GM9446,支持2520×1080分辨率,联发科称GPU基准测试分数上比上一代提高了10%,算是小有提升。
  • 6nm EUV紫光展锐推出全新5G SoCT7520 | 安兔兔
    摘要:全球领先的移动通信及物联网核心芯片供应商紫光展锐上个月宣布了一系列重磅产品的发布,包括搭载紫光展锐5G芯片的多款商用5G终端:联通5GCPE和海信首款5G手机F50,以及全新5G SoC移动平台—虎贲T7520。
    全新5G SoC移动平台T7520重磅发布。T7520集成大算力、高能效NPU, 以典型的ResNet/MobileNet等模型为例,对比友商旗舰,T7520 在能效比(FPS/w)上保持了2倍左右的优势。
  • 全志科技与Arm中国强势联合,推出首款AI语音专用芯R329 | 全志科技
    摘要:全志科技于近期正式发布主打AI语音专用的重磅产品R329,这是全志科技首款搭载Arm中国全新AI处理单元(AIPU)的高算力、低功耗AI语音专用芯片。通过集成高性能的AIPU、DSP、CPU,将为智能音箱、智能家居带来崭新的AI交互体验。
    全志科技R329搭载了Arm中国“周易”AIPU,提供最高达0.256TOPS的运算能力,周易AIPU作为AI专核,其理论AI算力是单核A7 1.2GHz的25倍,也是单核HIFI4 600MHz的25倍。此外,它采用2个主频高达1.5GHz 的Arm Cortex-A53,为智能语音产品应用提供更充足的系统算力基础。
  • 谷歌开源移动端实时3D目标检测,安卓下载就能用 | 磐创AI
    摘要:谷歌推出 MediaPipe Objectron,这是一种适用于日常物体的移动端实时 3D 目标检测 pipeline,它能够检测 2D 图像中的目标,并通过新创建 3D 数据集上训练的机器学习模型来估计这些目标的姿态和大小。
    具体而言,MediaPipe 是一个用于构建 pipeline 进而处理不同模态感知数据的跨平台开源框架,Objectron 则在 MediaPipe 中实现,其能够在移动设备上实时计算目标的定向 3D 边界框。
    MediaPipe 是谷歌去年 7 月份发布的一个多媒体框架,它在安卓、IOS 网页等各种平台上都能应用机器学习媒体模型。近日MediaPipe 发布 0.7 版,并加入了移动端试试 3D 检测模型。目前 MediaPipe 包含人脸检测、手部检测、头发分割和视频自动横竖屏转换等功能。
    框架:https://github.com/google/mediapipe/
    项目:https://github.com/google/mediapipe/blob/master/mediapipe/docs/objectron_mobile_gpu.md

论文

  • SLIDE:在CPU上利用sparsity加速训练 | 知乎
    标题:SLIDE : In Defense of Smart Algorithms over Hardware Acceleration for Large-Scale Deep Learning Systems
    链接:https://proceedings.mlsys.org/static/paper_files/mlsys/2020/105-Paper.pdf
    摘要:SLIDE这个paper讲的是如何在CPU上面提速,在训练一个模型时,每次更新gradient的时候,不需要看所有的neuron,只要看activation高的就可以了。但是之前利用sparsity的算法都没有算法优化,即使值设成0了也还是得做矩阵运算。这个paper会利用LSH + lookup table来加速算法。
  • 二值神经网络(Binary Neural Networks)最新综述 | PaperWeekly
    标题:Binary Neural Networks: A Survey
    链接:https://www.sciencedirect.com/science/article/abs/pii/S0031320320300856
    摘要:在本文中,作者对二值网络方法进行了全面的总结和概括,主要分为直接量化的朴素二值化方法,以及使用最小化量化误差、改善网络损失函数和减小梯度误差等技术的改进二值化方法。
    作者还调研了二值神经网络的其他实用方面,例如硬件友好的设计和训练技巧。然后对图像分类,目标检测和语义分割等不同任务进行了评估和讨论。最后,展望了未来研究可能面临的挑战。
  • [CVPR2020] CARS: 华为基于进化算法和权值共享的神经网络结构搜索,CIFAR-10上仅需单卡半天 | 智东西
    标题:CARS: Continuous Evolution for Efficient Neural Architecture Search
    链接:https://arxiv.org/abs/1909.04977
    摘要:现如今进化算法、梯度、强化学习都可以做结构搜索,有研究表明进化算法能比强化学习搜索到更好模型,但搜索耗时较多,主要在于对个体的训练验证环节费事。但可借鉴ENSA的权重共享策略进行验证加速,但如果直接应用于进化算法,超网会受到较差的搜索结构的影响,因此需要修改目前神经网络搜索算法中用到的进化算法。
    为了最大化上一次进化过程学习到的知识的价值,作者提出了连续进化结构搜索方法(continuous evolution architecture search, CARS):
    首先初始化一个有大量cells和blocks的超网(supernet),超网通过几个基准操作(交叉、变异等)产生进化算法中的个体(子网),使用Non-dominated 排序策略来选取几个不同大小和准确率的优秀模型,然后训练子网并更新子网对应的超网中的cells,在下一轮的进化过程会继续基于更新后的超网以及non-dominated排序的解集进行。
    另外,论文提出一个保护机制来避免小模型陷阱问题。额外添加考虑准确率的增长速度的non-dominated排序,最后结合两种排序进行选择。这样,准确率增长较慢的大模型也能得到保留。
  • BERT压缩之特修斯之船: 以渐进式的模块替换压缩BERT | 机器之心
    标题:BERT-of-Theseus: Compressing BERT by Progressive Module Replacing
    链接:https://arxiv.org/abs/2002.02925
    摘要:作者提出了一种新型模型压缩方法,能够通过逐步模块替换,有效地压缩 BERT。首先,将原版 BERT 分割成多个模块,并构建更加紧凑的替代模块;然后,用替代模块随机替换原始模块,训练替代模块来模仿原始模块的行为。在训练过程中,研究者逐步增加模块的替换概率,从而实现原始模型与紧凑模型之间的更深层次交互,使得训练过程流畅进行。
    与显式地利用蒸馏损失函数来最小化教师模型与学生模型距离的 KD 不同,该研究提出一种新型模型压缩方法。研究者受到著名哲学思想实验「特修斯之船」的启发(如果船上的木头逐渐被替换,直到所有的木头都不是原来的木头,那这艘船还是原来的那艘船吗?),提出了 Theseus Compression for BERT (BERT-of-Theseus),该方法逐步将 BERT 的原始模块替换成参数更少的替代模块。研究者将原始模型叫做「前辈」(predecessor),将压缩后的模型叫做「接替者」(successor),分别对应 KD 中的教师和学生。
    推荐:与之前用于 BERT 压缩的知识蒸馏方法相比,该方法仅利用一个损失函数和一个超参数,将开发者从调参这一繁琐过程中解放出来。该方法在 GLUE 基准上的性能优于现有的知识蒸馏方法,为模型压缩开启了新方向。

开源项目

博文

  • 揭秘微信「扫一扫」识物的轻量网络设计的最佳实践 | 腾讯技术工程
    摘要:改了下文章标题。微信“扫一扫”识物已上线一段时间,相比于行内相关竞品的“拍”,“扫一扫”识物的特点在于“扫”,带来更为便捷的用户体验。“扫”离不开高效的移动端物体检测,本文将从模型设计选型到最终落地,为你揭秘。
  • 网红直播时的瘦脸、磨皮等美颜功能是如何实现的 | AI科技大本营
    摘要:美颜的目的就是要让人看起来更美,包括皮肤细腻、白皙、光滑,脸部各个器官及脸型可以进行细致的调整,通过美妆调节可以达到快速上妆的效果,最终吸引用户提升平台收入。
    本文从技术角度,讲解四个关键步骤的实现。最终,性能方面,在iphone6p等中低端机型上,可实现720p 24fps 实时人脸美颜;效果方面,通过对皮肤的处理,可使人脸皮肤达到白皙细腻的效果,同时主播可按照自己的喜好对脸部的任意器官进行调整。
  • 用bf16加速ncnn | 知乎
    摘要:简单来说,就是把float后面16bit直接砍掉,牺牲掉有效位数。同样表示一个数,bf16所用的内存空间比fp32少一半。手机cpu的cache才多大,少一半可不得了啊!即使fp32运算需要移位转换,仍然能从更少的读和更高的cache命中率得到收益。@圈圈虫:这个bf16和fp16不同。bf16支持早期的armv7a和armv8.1的CPU的,并不是GPU上的fp16。就是什么Cortex-A7/A9/A15/A17/A53/A72/A73都能带来15%-30%的速度提升的。
  • 飞桨自动混合精度技术详解:一行代码让训练速度提升2倍 | 机器之心
    摘要:飞桨 AMP (Automatic Mixed Precision) 技术,仅通过一行代码即可帮助用户将单精度训练的模型改为自动混合精度训练。同时通过黑白名单和动态 Loss Scaling 来保证训练的稳定性,避免出现 INF 或者 NAN 问题。飞桨 AMP 可以充分发挥新一代 NVIDIA GPU 中 Tensor Core 的计算性能优势,ResNet50、Transformer 等模型的训练速度与单精度训练相比可以提升到 1.5~2.9 倍。
  • 对不起,因为之前的代码写的烂,所以我也只能继续烂 | 头哥侃码
    摘要:这是一个管理问题,不仅仅是开发人员的问题。很多时候,工期非常紧张,没有那么多时间,不是开发人员想重构就重构的。如果给了时间,那再写垃圾代码 就真的是自己水平不够了。但是很多时候都是不给时间的。一个小需求,假如涉及10个接口,是在原来基础上改动,领导觉得这个事情一天就可以搞完。开发忙得水都来不及喝,才能写完,难道通宵重构吗?而且通宵重构也未必完的成。一旦完不成领导又说,代码应以业务实现为先。啥理由都让领导占了?而且为什么要让员工自己通宵去重构。员工自己可以有技术追求,私下里在自己的项目里 可以写很好的代码,但是没有时间的情况下,不改公司的垃圾代码,也无可厚非,主要是时间要给,给了时间一切都好说,否则光说员工不改前任的垃圾代码,没有意义。

往期回顾

2 0 2 0
- 2020-03-19 2020-03-02 2020-02-16
2020-01-27 2020-01-06 2019-12-17 2019-12-02
2 0 1 9
2019-11-30 2019-11-18 2019-10-31 2019-10-17
2019-10-03 2019-09-16 2019-08-30 2019-08-15
2019-07-30 2019-07-15 2019-06-29 2019-06-17
2019-05-30 2019-05-15 2019-04-27 2019-04-13
2019-03-31

wechat_qrcode

往期回顾:见公众号主菜单【历史消息】


知识共享许可协议
本作品采用知识共享署名-相同方式共享 4.0 通用许可协议进行许可。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

2020-04-04@Bi-weekly 上一篇
2020-03-02@Bi-weekly 下一篇