Skip to content

Latest commit

 

History

History
146 lines (110 loc) · 21.6 KB

2020-10-21.md

File metadata and controls

146 lines (110 loc) · 21.6 KB
layout
default

嵌入式AI简报 (2020-10-21)

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

导读:本次19条。「新闻」华为麒麟9000处理器SoC,ARM中国发布周易Z2 AIPU单核算力4TOPS,ARM开发者峰会揭晓未来两代Cortex CPU架构,三星打造5nm Exynos1080高端SoC,谷歌Coral Mini开始预定,Graphcore发布Poplar SDK 1.3;「论文」比EfficientNet快3.5倍的LambdaResNets实现视觉任务新SOTA,针对Transform极低位数的混合精度量化策略,对手机GPU设备做推理耗时预估的LETI方法,软硬件人工智能解决方案的协同设计方法讨论;「开源」OpenCV4.5发布:端上推理性能提升到第一梯队,谷歌开源与BERT精度相同参数更少的新模型pQRNN,TensorFlow JS后端强化性能再提升,国内训练框架MindSpore 1.0发布,OneFlow v0.2.0发布;「博文」模糊边缘与数据中心的高通Cloud AI 100芯片解析,不同NVIDIA GPU计算能力如何评估,TensorFlow Lite开源设备端推荐解决方案,详解卷积中的Winograd加速算法,OpenCV4.4 CUDA编译与加速全解析。

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

  • 华为:麒麟9000处理器,预计是首款5G 5nm SoC,四核心Cortex-A77+四核心Cortex-A55的设计,最高主频达到了3.13GHz。Mali-G78 24个核心堆到了G78所支持的上限;
  • Imagination:宣布推出全新IMG B系列GPU IP。其第一个包含新多核架构的GPU IP系列,峰值算力达6 TFLOPS,AI算力可达24 TOPS,其汽车GPU已符合ISO 26262安全标准要求,并支持自动驾驶和辅助驾驶;
  • 高通:骁龙875曝光,5nm EUV,代号为SM8350,内部称为Lahaina(地名,夏威夷群岛),有plus版。采用“1+3+4”八核心设计,首次采用Cortex X1超大核+Cortex A78大核这样的组合,其中Cortex X1的峰值性能比Cortex A78高23%,堪称真正意义上的“超大核”;
  • 高通:骁龙750G 5G发布,定位中端,代号为SM7225,8nm,CPU为8核心设计,由两个频率为2.2GHz的A77大核和六个1.8GHz的A55组成,GPU集成Adreno 619,商用版2020年底上市;
  • 高通:骁龙775G曝光,6nm,定位次旗舰,代号为SM7350,内部称为Cedros;
  • 树莓派:树莓派4计算模组上线,25美元起。树莓派4的计算模组主要位置:1.5GHz 4核ACortex-A72 CPU,VideoCore VI 显卡,4k@60帧硬件解码,支持H.265(HEVC)和1080p@60帧硬件解码,以及 1080p@30帧硬件解码,支持H.264(AVC)等。

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

业界新闻

  • 安谋中国“周易”Z2 AIPU正式发布,性能翻倍、效率翻番 | Arm中国
    摘要:安谋科技正式发布“周易”Z2 AIPU(AI Processing Unit),单核算力最高可达4TOPS,较“周易”Z1 AIPU的单核算力提高一倍,同时支持多达32核的可扩展配置,从而能够在单个SoC中实现128TOPS的强大算力。
    “周易”Z2 AIPU延用了“周易”AIPU的架构,并在微架构上优化,将芯片面积减少30%,在运行部分神经网络模型时,相同算力配置下性能提升可达100%。此外,“周易”Z2 AIPU对内存子系统做了优化,并升级高级带宽节省技术(Advanced Bandwidth Saving Technology,ABST),除了第一代中已有的权重压缩(weight compression)技,还有feature map压缩。全新“周易”Z2 AIPU将主要面向中高端安防、智能座舱和ADAS、边缘服务器等应用场景。
    在软件框架之上,通过Arm Compute Library或者合作伙伴的异构计算库,支持Arm NN、安卓NN等多种流行接口。“周易”AIPU也支持TensorFlow、ONNX等,未来也将支持更多不同的扩展框架。
  • ARM揭晓未来两代CPU大核架构Matterhorn和和Makalu:性能大增 | 安兔兔
    摘要:ARM举办了DevSummit开发者峰会,ARM预览了未来两代的Cortex CPU大核,分别代号Matterhorn(马特洪峰,是阿尔卑斯山脉最为人所知的山峰)和Makalu(马卡鲁峰,海拔8463米)。
    峰值性能方面,2022年的Makalu预计将比Cortex-A78提升30%。注意,这里的Cortex A78性能基数是5nm、3GHz频率的参考芯片。
  • 三星打造5nm Exynos1080宣布将首发于vivo,今年Q4上市 | 安兔兔
    摘要:Exynos 1080外界猜测是和骁龙875一样的5nm LPE工艺,能效比进一步提升。其采用了ARM最新的CPU架构Cortex-A78,以及最新的GPU架构Mali-G78。
    从规格参数来看,Exynos 1080达到了旗舰级水平,而且号称是专门针对中国市场设计。据ARM官方数据显示,在同等工艺条件下,A78的CPU性能相比A77提升了20%左右,G78的GPU性能相比G77提升25%。
    另外,据说还有一款定位更高的5nm旗舰三星芯片,命名为Exynos 2100,将会首发于三星自家机型。
  • 谷歌边缘计算AI芯片Coral Mini开始预定!售价竟低于100美元 | 新智元
    摘要:去年11月,谷歌宣布了一款名为Coral Dev Board Mini,好消息是,该板现在已经可以在Seeed Studio上以低于100美元的价格预订,并计划在月底开始发货。Coral是Google用于构建具有设备上AI功能的IoT硬件的平台。Google结合了软件工具和预编译的模型,推出了Coral Dev Board Mini,它提供了比Coral Dev Board更小的外形尺寸。
    具体硬件信息:CPU为联发科MT8167S四核Arm Cortex-A35处理器,频率为1.3 GHz,GPU为Imagination PowerVR GE8300,AI/ML accelerator为Google Edge TPU与多达 4 TOPS的Coral Accelerator Module。
  • Graphcore发布Poplar SDK 1.3 | Graphcore
    摘要:Poplar软件栈使开发人员可以将Graphcore IPU硬件的使用,无缝集成到他们的工作流程中。在1.3版本的更新中,主要有如下几个方面:对PyTorch的支持强化不限于对Pytorch1.6的支持、对FP16.16/FP32.32/FP16.32精度的支持;Exchange Memory增强,即当运行非常大的模型时,Poplar计算图编译器可以协调所需的数据移动并优化传输,以在可能的情况下允许重叠的计算和通信;对TensorFlow 2的Keras Functional API的进一步支持,增强易用性。PopVision 计算图分析工具升级到2.1,可使开发者深入了解应用程序如何使用IPU、IPU是如何执行的、每个IPU的存储消耗、每个变量的活跃性和每个tile的执行周期等。

论文

  • LambdaResNets:抛弃注意力,比EfficientNet快3.5倍,类Transformer新模型跨界视觉任务实现新SOTA | 机器之心
    链接:https://openreview.net/pdf?id=xTJEN-ggl1b
    代码:https://github.com/lucidrains/lambda-networks
    摘要:该研究提出了一种名为「lambda」的层,这些层提供了一种捕获输入和一组结构化上下文元素之间长程交互的通用框架。lambda 层将可用上下文转换为单个线性函数(lambdas)。这些函数直接单独应用于每个输入。研究者认为,lambda 层可以作为注意力机制的自然替代。注意力定义了输入元素和上下文元素之间的相似性核,而 lambda 层将上下文信息汇总为固定大小的线性函数,从而避免了对内存消耗大的注意力图的需求。lambda层可能非常适合在资源有限的场景中使用,例如嵌入式视觉应用。 实验表示LambdaResNets 在所有深度和图像尺度上均优于基准水平,最大的 LambdaResNet 实现了 SOTA 水平准确度 84.8。更值得注意的是,LambdaResNets 在准确性一定的情况下比 EfficientNets 要快大概 3.5 倍,速度-准确性曲线提升明显。
  • [2009.07453v2] Extremely Low Bit Transformer Quantization for On-Device Neural Machine Translation
    链接:https://arxiv.org/abs/2009.07453v2
    摘要:移动设备或边缘设备在Transformer架构的推理上显得力不从心,但量化是解决这些挑战的有效技术之一。作者分析表明对给定的量化比特数,每个Transform block对翻译质量和推理计算的贡献是不同的。此外,即使在embedding block中,每个单词也呈现出极大的不同贡献。
    因此,作者提出混合精度量化策略,以极低的比特数(例如,低于3比特)来表示Transform权重。例如,对于embedding block中的每个字,根据统计特性分配不同的量化比特。作者的量化Transform模型比基线模型小11.8倍,BLEU小于-0.5bleu,运行时内存减少了8.3倍,速度提高了3.5倍(Galaxy N10+)。
  • [2010.02871v1] LETI: Latency Estimation Tool and Investigation of Neural Networks inference on Mobile GPU
    链接:https://arxiv.org/abs/2010.02871v1
    摘要:在移动设备上运行推理,其准确度和推理时间对许多问题都有意义。虽然常拿flop的数量作为神经网络耗时的基础评估,但它与实际运行推理的耗时相差甚远。为了获得更精确的推理耗时,研究界使用所有可能层的查找表来计算延迟,最终预测移动CPU上的推理。遗憾的是,在移动GPU上,这种方法并不适用,且不准确。
    作者在这项工作中,将移动GPU上的延迟近似视为一个数据和硬件特定的问题。主要目标是建立一个估计工具,用于神经网络推理的研究,并为每一个特定的任务建立一个稳健和准确的预测模型。为了实现这一目标,我们构建了开源工具,为在不同的目标设备上以移动GPU为核心进行大规模实验提供了一种方便的途径。在对数据集评估后,作者建立了实验数据的回归模型,并将其用于未来的延迟预测和分析。实验证明了这种方法在NAS基准101数据集子集上的有效性,并对两个移动gpu在常见的网络结构做了性能评估。
  • [2010.07185v1] Effective Algorithm-Accelerator Co-design for AI Solutions on Edge Devices
    链接:https://arxiv.org/abs/2010.07185v1
    摘要:高质量的人工智能解决方案需要人工智能算法和硬件的联合优化,如模型及其硬件加速器。为了提高整体方案的质量和设计效率,有效的算法和加速器协同设计方法是必不可少的。
    本文首先讨论了算法/加速器协同设计问题的动机和挑战,然后给出了几种有效的解决方案。重点介绍了有效协同设计方法的三个主要工作:1)第一个同步的DNN/FPGA协同设计方法;2)一种双向的轻量级DNN与加速器协同设计方法;3)一种可微且高效的DNN与加速器协同搜索方法。
    作者在FPGA和GPU上进行了大量的实验,并与现有的工作进行了比较,证明了所提出的协同设计方法的有效性。本文强调了算法加速器协同设计的重要性和有效性,并呼吁在这一有趣且要求更高的领域取得更多的研究突破。

开源项目

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

  • OpenCV 4.5 发布!DNN 模型在 ARM 平台的推理速度提升到业界第一梯队 | OpenCV中文网
    摘要:4.5作为2020秋季常规版本,大多是在修补/完善/优化,因5.0版本快要到来,4.x系列版本“基本”已经进入“稳”而不张的维护阶段。
    主要更新:Apache 2 授权协议,避免专利算法给 OpenCV 引发潜在纠纷;国内公司OPEN AI LAB优化后的 OpenCV DNN 在 ARM 上的表现喜人,在新引擎 Tengine lite 加持下,速度获得了较大幅度提升,性能数据见原文;SIFT 专利到期,成为公有技术,代码被移到主库;新增了实时单目标跟踪算法SiamRPN++;针对RISC-V指令集进行了优化。DNN 模块改进了对一些层和激活函数的支持(ONNX: ReduceSum, Gather, 改进的Reshape等),后端支持 OpenVINO 到2021.1版,并修复和优化了对CUDA 的支持。
    更多介绍:https://github.com/opencv/opencv/wiki/ChangeLog#version450
  • tensorflow/models:谷歌推出新模型「pQRNN」,少量参数下进行文本分类,性能堪比BERT | 新智元
    链接:https://github.com/tensorflow/models/tree/master/research/sequence_projection
    摘要:近日,谷歌推出了新模型「pQRNN」,它是由去年推出的「PRADO」进一步使用小模型改进而得,达到了SOTA结果。pQRNN的新颖之处在于,它可以结合一个简单的映射和一个quasi-RNN编码器来进行快速并行处理。同时,谷歌证明了该模型能在参数较少的情况下进行文本分类任务,并达到BERT级别的性能表现。
    通过使用上一代模型PRADO证明了它可以作为下一代最先进的轻量级文本分类模型的基础。改进后的pQRNN模型表明这种新的体系结构几乎可以达到BERT级的性能,尽管只使用1/300的参数量和有监督的数据。
  • tensorflow/tfjs:SIMD 和多线程大幅增强 TFJS WebAssembly 后端 | TensorFlow
    摘要:3 月,TensorFlow.js 推出了一个新的 WebAssembly (Wasm) 加速后端(继续阅读以进一步了解 Wasm 及其重要性)。
    近日宣布一项重大性能更新:自 TensorFlow.js 版本 2.3.0 起,Wasm 后端将利用 SIMD(向量)指令和 XNNPACK(一种高度优化的神经网络算子库)多线程实现 10 倍提速。
  • mindspore/mindspore:华为MindSpore 1.0版本正式发布 | MindSpore
    摘要:1.0版本汇总了先前的主要功能特色,第一是二阶优化算法,MindSpore 自研二阶优化算法THOR通过减少二阶矩阵求逆次数以及降低二阶矩阵的维度来降低求逆时间,在 Bert-Large 上,使用 MLPerf 测试集,达到71.2%精度仅需3000step,端到端训练时间为14min,极大的提升了模型的训练速度。
    第二是图算融合优化,对原有计算逻辑进行拆分、重组、融合等操作,以减少算子执行间隙的开销并且提升设备计算资源利用率, 该特性中,所有优化项均自动完成,无需网络DSL感知。同时基于polyhedral技术实现融合算子编译,带来更加通用、高性能的算子融合能力。最后提供了自定义算子表达能力,更易用,更高性能。
    第三是发布轻量级神经网络推理框架MindSpore Lite,帮助开发者使能端侧及边缘侧AI能力。主要包含离线转换工具和轻量级运行时两部分。
  • Oneflow-Inc/oneflow: OneFlow release v0.2.0发布
    摘要:v0.2.0的更新有:Op性能优化包含不限于如二元 add op 与前驱节点融合等,Eager Execution方面的对stateless_call微调、广播指令新增等;在XLA支持方面也支持到了TF最新版本,更多见release note:https://github.com/Oneflow-Inc/oneflow/releases

博文

  • 高通Cloud AI 100芯片:模糊边缘与数据中心,看见了AI芯片的“多面” | 量子位
    摘要:2019年4月,高通宣布推出Cloud AI 100芯片,称它是“为满足急剧增长的云端AI推理处理的需求而设计”、“让分布式智能可以从云端遍布至用户的边缘终端,以及云端和边缘终端之间的全部节点。”
    即使是英伟达最新Ampere架构的A100芯片,吞吐量也不到25000,耗能却超过了300W。从功耗来看,英特尔的Goya可低达100W,但吞吐量只能达到15000左右。相比之下,高通的Cloud AI 100 PCle,吞吐量超过25000,却只需要75W,其支持最高每秒400万亿次(400TOPS)的算力。 内部结构上,16个AI内核(AIC),支持INT8,INT16,FP16和FP32,4个64位内存控制器(LPDDR4×),144MB的片上SRAM高速缓存。也就是说,通道的总系统带宽为134GB/s,但144MB的片上SRAM高速缓存设计,在片上保存了尽可能多的存储器流量。此外,7nm的工艺节点,也有助于降低功耗。在封装上,高通采取了三种不同的形式:1. DM.2e,15W,超过50 TOPS;2. DM.2,25W,超过200 TOPS;3. PCle,75W,约400 TOPS。其中,DM.2从外形来看,有点像两个相邻的M.2连接器,其中,M.2以尺寸小、传输性能高广受欢迎。
    高通也同时发布了对应的边缘人工智能开发工具包——Cloud AI 100 Edge AI SDK,由以下3大部分构成:Cloud AI 100芯片(低功耗、高性能AI芯片)、骁龙865模块化平台(负责应用&视频处理)、骁龙X55调制解调器及射频系统(5G连接)。除了上述芯片所包含的5G特性、能耗低等特点以外,还支持24个相机同时拍摄分辨率达1920×1080的视频流、每秒25帧的高清视频。从功耗来看,英特尔的Goya可低达100W,但吞吐量只能达到15000左右。
  • 拨开算力的迷雾:聊聊不同 GPU 计算能力的上限 | 夕小瑶的卖萌屋
    摘要:通过深入了解自己手头 GPU 的计算能力上限,能够在买新卡时做出更理性判断。本文深入GPU架构,重点介绍了其中的ampere架构。另外,作者还对比了不同GPU之间的峰值计算能力,增加读者对硬件资源的了解。
  • TensorFlow Lite 开源设备端推荐解决方案 | TensorFlow
    文档:https://tensorflow.google.cn/lite/models/recommendation/overview
    摘要:TFLite 开源了一个端到端解决方案来解决设备端的推荐任务。演示应用中,集成的历史长度N =10 的 CNN 模型,Pixel 4 手机的推理延迟仅为 0.05ms。 在下一个版本中,将支持多个特征作为表示,并计划设计更高级的用户编码器,例如基于 Transformer 的编码器 (Vaswani, A., et al., 2017)。
  • 详解卷积中的Winograd加速算法 | GiantPandaCV
    摘要:本文介绍WinoGrad算法在卷积上的原理,其工程实现及基于ncnn的优化思路。
  • OpenCV4.4 CUDA编译与加速全解析 | OpenCV学堂
    摘要:OpenCV4.4中关于CUDA加速的内容主要有两个部分,第一部分是之前OpenCV支持的图像处理与对象检测传统算法的CUDA加速;第二部分是OpenCV4.2版本之后开始支持的针对深度学习卷积神经网络模型的CUDA加速。这些内容都在OpenCV的扩展模块中,想要获取这OpenCV CUDA的支持,必须首先编译OpenCV CUDA相关的模块,这里主要是开展模块以CUDA开头的那些。此外编译的电脑或者PC必须有N卡(英伟达GPU卡),并且按照好了正确版本的驱动与cuDNN支持软件。本文分为两个部分来说明如何在OpenCV中实现CUDA加速,第一部分是实现CUDA支持版本OpenCV编译,第二部分是OpenCV CUDA SDK编程代码演示。

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

2 0 2 0
2020-10-21 2020-09-17
2020-08-26 2020-08-06 2020-07-18 2020-07-02
2020-06-17 2020-06-03 2020-05-15 2020-04-26
2020-04-04 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 通用许可协议进行许可。 151.101.56.133