10

派大星 · 2020年09月17日

嵌入式AI简报 2020-09-17|地平线旭日3AI芯片发布/麒麟9000E/鸿蒙开源

导读:本次20条。
「新闻」9月15日起华为芯片禁令全面生效、苹果发布 5nm A14 处理器当世无敌!性能介于麒麟990和麒麟9000的9000E曝光、NVIDIA发布安培架构的RTX 30系列显卡支持TF32/BF16/FP16、地平线发布旭日3芯片2.5W功耗算力达5TOPS、耐能发布1.2W功耗算力达1.5TOPS新一代AI芯片;
「论文」旷视商用端侧Raw图像降噪方案、UC伯克利尤洋的189页的分布式系统和超算在机器学习系统上的设计、边缘推理的深度神经网络在性能预估和结构设计方面的工作、利用可微子网络直接对全精度权重二值化的QuantNet量化方法、一篇总结在边缘运行人工智能算法的可用开发板的类综述文章;
「开源」TNN 发布v0.2.0支持直接TFLite模型转换/华为NPU后端等、微软开源灵活高效的AI编译器nnfusion、TFLite模型转换工具大更新支持NLP相关模型转换更友好、1.3MB的超轻YOLO算法j精度直线逼YOLOv3;
「博文」详解Im2Col+Pack+Sgemm策略的卷积优化、一步步实现onnx模型的网络裁剪/结果验证/模型导出实践、高德提出轻量偏航检测模型ERNet手机端上线。
微信公众号:NeuralTalk
Github:https://github.com/ysh329/embedded-ai.bi-weekly/blob/master/embedded-ai-report/2020-09-17.md

好了,先是一些热身小新闻ヽ(✿゜▽゜)ノ:

业界新闻

摘要:A14 Bionic 的确是一款当世无敌的处理器。
工艺上,A14 Bionic 采用台积电 5nm 制程工艺,集成了 118 亿个晶体管,搭载 6 核 CPU,4 核 GPU,16 核 Neural Engine,核心数比前代增加一倍,最高能够每秒处理 11 万亿个操作。其 CPU 中加入了第二代机器学习加速器,使 CPU 的机器学习计算速度提高了 10 倍。在全新 Neural Engine、CPU 机器学习加速器和高性能 GPU 的结合之下,A14 Bionic 为全新 iPad Air 图像识别、自然语言学习、运动分析等提供了强大的设备体验。
此外,还有Apple Watch Series 6:新增血氧监测功能,搭载 S6 芯片,S6 芯片,基于 A13 打造,相对上一代提升 20%。

摘要:麒麟9000系列将包含两个型号,分别是麒麟9000和麒麟9000E。麒麟9000E或与麒麟990 5G接近,同样是7nm工艺,但性能超过后者,另一款麒麟9000则是真正的满血版,性能和NPU表现均超过麒麟9000E。据了解,麒麟9000采用台积电5nm工艺打造,将会拥有更强大的5G能力,更强大的AI处理能力,更强大的CPU和GPU。

摘要:9月9日凌晨,谷歌悄然放出了Android 11正式版,同时Pixel系列已经可以下载更新,支持Pixel 2系列及之后的所有机型。据谷歌介绍,Android 11正式版主要加强了聊天气泡、安全隐私、电源菜单,同时适配了更多屏幕支持,如瀑布屏、折叠屏、双屏等机型。

摘要:龙芯下决心彻底放弃之前使用的所有美国技术,打算实现 100% 纯国产,准备研发一套完全采用中国技术的指令集 LoongArch,该指令集兼容 MIPS 指令集,同时也能兼容龙芯后来扩展自 MIPS 架构的 LoongISA 指令集。
据介绍,LoongArch 是全新的指令集。包含基础指令 337 条、虚拟机扩展 10 条、二进制翻译扩展 176 条、128 位向量扩展 1024 条、256 位向量扩展 1018 条,共计 2565 条原生指令。MIPS、X86、ARM、Risc-V 都将通过二进制模拟来运行,不再原生支持。区别只是 MIPS 与 LoongArch 近似度较高,效率会高一些。

摘要:9月初,NV发布了三款RTX 30系列显卡,性能均超过上一代旗舰产品,预计将于9月中旬陆续发售。新款GPU采用了最新的安培架构,集成了高达280亿个晶体管,而RTX 3090的性能更是堪称「残暴」。
RTX3090使用了GA102的GPU,CUDA核心数是10496,同时拥有和前一代持平的24GB DDR6X。 新产品使用的三星8nm工艺相比之前台积电的12nm工艺有了巨大的提升,新卡晶体管数量提升到了280亿,CUDA的核心数从2080Ti的4352提升至10496,张量性能也从114TFLOPS提升至了285TFLOPS。
在新架构上,稀疏张量的运算速度会提高一倍,同时支持 TF32、FP16、BFLOAT16 等多种精度。

摘要:耐能推出定制芯片Kneron KL 720 SoC,在MobileNetV2上,其能效是英特尔最新款Movidius芯片的两倍,是谷歌的Coral Edge TPU的四倍。其支持完整的自然语言处理。可处理分辨率为1080P的4K静止图像和视频,音频识别上也有突破进展。该款芯片不受简单「唤醒词」的约束,可与设备进行即时的对话。Kneron承诺其SoC的性能达到1.5 TOPS,而SoC使用Arm Cortex M4作为主控单元。完整封装的平均功耗约为1.2W。

论文

标题:Practical Deep Raw Image Denonising on Mobile Devices
链接:https://www.ecva.net/papers/e...
摘要:旷视科技的研究员提出的一种“商用端侧RAW图像降噪”方法,相应方法已被广泛应用到OPPO、小米等手机中。该文的关键在于:特定传感器的噪声特性具有一致性,可以进行精确估计。基于此,作者制作了传感器相关的合成数据用于轻量型模型训练,所得模型可以有效的处理同类型传感器采集的图像梳理。
在此基础上,作者还推导出一种亮度空间的线性变换(k-Sigma变换),它可以将不同ISO设置下的噪声映射到ISO不变信号-噪声空间,进而使得单模型可以处理不同噪声水平的不同场景。该文的主要贡献包含以下几点:
提出了一种传感器相关合成数据制作方案,并用于训练轻量型降噪模型;提出一种新颖的k-Sigma变换用于将不同ISO设置下的噪声映射到ISO不变信号-噪声空间;提出一种端侧友好的轻量型模型用于图像降噪。

标题:Fast and Accurate Machine Learning on Distributed Systems and Supercomputers
链接:https://www2.eecs.berkeley.ed...
摘要:本文聚焦于快速且准确的机器学习训练。尽管生产团队希望能够充分利用超级计算机来加快训练过程,但传统的优化器无法扩展到数千个处理器。该研究设计了一系列基础优化算法,来为深度学习系统实现更强的并行度。这些算法为谷歌、英特尔、腾讯、英伟达等公司的 SOTA 分布式系统提供了支持。
这篇论文的主要贡献是:「在增加并行度的同时,根据需要改动算法,从而通过避免通信来保持效率。」为了做到这一点,研究者需要根据需求改动算法和 / 或超参数,或使用不同的近似解来维持准确率。该论文包括以下三个主要部分:

1. 第二章详细讲解了通信避免的 SVM(communication-avoiding SVM),第三章详细介绍了通信高效的 KRR(communication-efficient KRR),第四章详细介绍了异步贪心坐标下降(Asy-GCD);  
2. 第五章介绍了在超级计算机上加速 ImageNet 训练的细节,包括算法设计和通信 / 计算权衡;  
3. 第六章介绍了将 BERT 训练时间从 3 天降低到 76 分钟的技术细节,这是建立在大批量优化和超参数自动调整等技术之上的。  

以上这三个部分紧密相关。研究者在第一部分中以凸优化开始,在第二部分中深入探讨非凸优化。由于非凸优化比凸优化要难得多,因此作者在第三部分中又进行了详细介绍。第七章则进行了总结。

链接:https://arxiv.org/abs/2009.00...
摘要:深度神经网络已越来越多地部署在边缘设备上,如移动电话、无人机、机器人和可穿戴设备。为了在边缘设备上直接运行DNN推理(又称边缘推理),优化DNN设计(如网络结构和量化策略)至关重要。
虽然最先进的DNN设计策略,可以基于性能耗时来加速发现好的网络设计,但设计出的结构是设备特定。但往往,存在极其多样的边缘设备,此外,性能预测器,在为许多不同的设备优化dnn时,优化器(例如基于搜索的优化)本身的搜索过程仍然非常耗时。在这项工作中,作者提出了一个新的DNN优化框架:

1. 使用可扩展的性能预测器,来估计给定的DNN设备对的结果性能(例如,推理精度/延迟/能量);
2. 使用基于神经网络的自动优化器,将设备特征和优化参数作为输入,然后直接输出最佳的DNN设计,而不需要对每个单独的设备进行冗长的搜索过程。  

链接:https://arxiv.org/abs/2009.00...
摘要:深度学习和机器学习的使用正日益普及,这为技术的各个方面打开了新的机会之门。它的应用范围从医疗保健到自动驾驶汽车、家庭自动化到智能农业和工业4.0。传统上,IoT应用程序的大部分处理都是在中心云上完成的,但这也存在,包括延迟、安全性、带宽和隐私等问题。
据估计,到2020年将有大约2000万台物联网设备,这将增加向云端发送数据和在云端进行处理的负载。在网络边缘处理数据成为必然。本文回顾总结了在边缘运行人工智能算法的可用开发板。

链接:https://arxiv.org/abs/2009.04...
摘要:尽管近年来二值化方法在 BNN 性能和精度上都有提升,但由直通估计器(Straight-Through-Estimator,STE)引起的梯度失配仍然是量化网络的主要问题。
本文提出名为QuantNet量化器,它利用可微子网络直接对全精度权重进行二值化,而不需要借助STE和任何可学习的梯度估计。不仅解决了梯度失配的问题,而且减少了在展开过程中二值化操作引起的离散化误差对性能的影响。该算法是在一个完全可微的框架,且易于推广到任何比特的一般网络量化。在CIFAR-100和ImageNet上的定量实验表明,与以往的二值化方法相比,QuantNet取得了显著的改进,甚至弥补了二值化模型与全精度模型精度的差距。

开源项目

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

项目:https://tnn.tencent.com/
摘要:优图实验室在9月11日发布TNN新版本——v0.2版本。TNN新版本在通用性、易用性、NPU支持上都有很大的提升。这次主要在通用性、易用性、NPU支持上有较多升级:

1. TFLite模型直接转换:在ONNX作为中间格式转换的基础上,TNN新版本新增了模型转换工具,可直接将TF Lite的模型转为TNN的模型。同时在转换过程中,引入了两次模型优化:一次是针对模型本身的结构进行等效转换、层融合与常数折叠等优化;另一次是在TNN Runtime中需要输入输出大小才能进行的优化,如Reshape层相关的融合等;  
2. TNN新版本新增了对SSD、YOLO等模型的支持;
3. 基于TNN的Mat数据结构,新版本TNN增加了Mat的常用的图像预处理操作,如Resize,Crop,WarpAffine,格式转换等操作。打通完整处理链路,与OpenCV v4.4.0的相关图像处理相比,性能有显著的优势;
4. 新增了模型库将优图自研算法直接开放给用户使用,同时提供了Demo演示示例;
5. 适配华为NPU,适配通过HiAI Foundation层适配、IR适配来达到接口统一和模型统一的效果。

TNN的目标是做一个全平台支持的AI推理框架,TNN在其他硬件平台(X86、NVIDIA、Atlas)的适配与优化也做了大量的工作,后续会陆续对外开放,敬请期待!

摘要:NNFusion is a flexible and efficient DNN compiler that can generate high-performance executables from a DNN model description. NNFusion is designed to facilitate DNN compiler research, with full stack of optimizations built-in and can target different accelerator devices.
Major goal:

  1. Framework independent: support ONNX, TensorFlow and PyTorch models through a source-to-source (model to code) compilation;
  2. Innovation agility: provide a flexible and modular architecture to enable new compiler optimization research;
  3. Hardware neutral: aims to be able to support existing and future 1st and 3rd party accelerator devices;

Highlight features:

    1. Source-to-source compilation to remove framework overhead and dependency;
    2. Full stack of optimization passes built-in;
    3. Compile-time kernel co-scheduling abstraction for general accelerator devices;
    4. Tight integration and co-optimization with communication, data loading and job scheduling;
    5. Automatic kernel tuning through interacting with kernel tuning service;
    6. Compatible with both hand-crafted kernel code and vendor-provided libraries;
    7. Customized optimization support through directly rewriting the generated human-readable code.
  • 摘要:TensorFlow 算子通常由多个更加小的原始简单算子组成如tf.add,这样的设计对于实现一定程度的复用性非常重要,并且可让用户根据现有单元自由搭配组合算子。复合算子的一个例子是tf.einsum。执行复合算子与执行原始简单算子的组合的效果是相同的。定义融合的高阶复合算子的目的是性能需要和提供高阶接口,如带有量化等复杂操作的转换。
    本次TFLite模型转换器更新,重点发力在针对如各种 RNN 算子,单向和双向序列 LSTM、卷积(conv2d、加偏置、ReLU)以及全连接(Matmul、加偏置、ReLU)等算子上。

    摘要:最轻的YOLO算法来了,模型只有1.3MB,单核每秒148帧,移动设备上也能轻易部署。之所以这么小,也是因为YOLO-Fastest搭配了号称当前最强的移动端轻量级神经网络EfficientNet-lite。这个YOLO-Fastest算法满足所有平台的需要。
    无论PyTorch、Tensorflow、Keras和Caffe,全平台通用。此外,作者还推出超轻YOLO的“加大版”,只需3.5MB,就能实现比YOLOv3更好的目标检测效果。
    dog-qiuqiu/Yolo-Fastes这个repo外,还有个与MobileNet结合的版本:比SSD效果更好的MobileNet-YOLO:https://github.com/dog-qiuqiu...

    开源项目地址:https://openharmony.gitee.com...
    摘要:自研操作系统鸿蒙 OS 2.0 能在哪些方面带来切实的体验提升?余承东举了以下三个方面的示例:一、手机导航手表协同;二、自适应的 UX 框架,让开发者快速触达千万级新设备;三、可视可说 AI 赋能,让 APP 瞬间获得语音交互能力。

    博文

    摘要:本文尝试讲清Im2Col+Sgemm的原理及其实现思路,及在Im2Col的基础上进行数据Pack进一步改善矩阵乘法的计算性能。

    摘要:深度学习的网络训练阶段,会不经意的引入很多额外的Op,加大porting的难度、增加porting的流程。虽然我在很多项目中都尽力的去协调training和porting两端的工作,但是很多时候还是很难做到一个很完整的闭环。pretrain model已经给出的情况下,在不联动training步骤的情况下,我们怎么进行落地?
    本文作者将讨论针对ONNX模型的裁剪问题,如冗余op:identity、sub、mul裁剪、op权重参数修改、模型验证和数值验证及最终模型导出。

    摘要:TensorFlow Lite Micro 现已支持 ESP32 芯片组。ESP32 是一款功能丰富的 Wi-Fi/BT/BLE MCU(Micro-controller,微控制器),业余爱好者和技术极客们常用它构建各种精彩酷炫的项目,对现实世界的数据/物体进行感知或修改,通常部署在如灯泡、开关、冰箱和空调等智能家居应用的连接中。
    举个例子,基于大家可能都很熟悉的 person_detection 示例,把它变成一个智能门铃摄像头。我们使用 ESP-EYE 开发者套件进行此演示。注意,这个示例使用的是人员检测(它在人脸出现在摄像头前时进行检测),而不是人员识别(识别这个人是谁)。
    ESP32:https://www.espressif.com/en/...
    person_detection 示例:https://github.com/espressif/...

    摘要:偏航检测(车辆是否偏离规划路线)是手机导航中至关重要的任务。传统方法通过检测车辆的位置(低精度)或运动方向是否偏离规划路线,判断车辆是否偏航。而在高架区域(包含高架桥和平行辅路)中,识别车辆偏航非常困难。
    在本文中,高德提出高架道路网络(Elevated Road Network,ERNet),一个轻量级且真正工业级别的神经网络模型,用于解决高架区域中的偏航检测难题。本研究的贡献可以总结为以下四点:

    1. 提出了 ERNet,一个轻量级而且真正工业级别的模型,使用 triplet loss 进行训练。该模型为局部区域(group)的桥上和桥下路段学习道路描述子;
    2. 使用 group embedding 技术建模卫星信号在不同局部区域的多样性;
    3. 提出了一个新的特征卫星平面投影特征(Satellite Plane Projection, SPP),用于建模卫星信号分布;
    4. 提出了一个基于 ERNet 的偏航检测方法。该方法已经成功应用在高德地图(上线北京、上海、广州三个城市)。


    往期回顾


    本作品采用知识共享署名-相同方式共享 4.0 通用许可协议进行许可。
    欢迎关注公众号,关注模型压缩、低比特量化、移动端推理加速优化、部署。
    嵌入式AI.jpg
    更多嵌入式AI相关技术干货请关注嵌入式AI专栏。
    推荐阅读
    关注数
    16535
    内容数
    1230
    嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
    目录
    极术微信服务号
    关注极术微信号
    实时接收点赞提醒和评论通知
    安谋科技学堂公众号
    关注安谋科技学堂
    实时获取安谋科技及 Arm 教学资源
    安谋科技招聘公众号
    关注安谋科技招聘
    实时获取安谋科技中国职位信息