Skip to content

Latest commit

 

History

History
140 lines (117 loc) · 24.5 KB

2021-07-01.md

File metadata and controls

140 lines (117 loc) · 24.5 KB
layout
default

嵌入式AI简报 (2021-07-01):三星3nm流片/PyTorch移动端更新/高通Skip-Conv/基于Polyheral的AI编译器/RSIC-V现状与趋势

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

导读:本期16条。【新闻】香山高性能处理器亮相 RISC-V 中国峰会,百度昆仑独立向汽车芯片进军,三星与高通重启 CPU 自研架构;【论文】高通两篇CVPR2021:跳跃卷积、FrameExit减少计算量提高性能,轻量化目标检测模型MobileDets;【开源】PyTorch1.9发布移动端疯狂更新,深度学习推理工具链 Adlik 发布新版性能再提升!字节Transformer训练引擎LightSeq上新性能爆炸,腾讯开源可信人脸识别项目 TFace;【博文】基于Polyheral的深度学习模型编译器 Triamisu 介绍,Tengine 支持 RISC-V 处理器上的模型部署,轻量化网络蒸馏技术的架构搜索等,最后是来自包云岗的报告《开源芯片:现状与趋势-RICS-V指令集》。

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

  • 台积电:晶圆代工大厂台积电、联电在大陆扩大「28纳米」制程产能的设备,但「没有」获得美国的供应许可,后续将直接影响岛内晶圆代工大厂在大陆的扩产计划;
  • 联发科:发布 MediaTek Kompanio 系列平台,主打高性能、低功耗,为 Chromebook 等平板个人设备提供支持;
  • Imagination:发布了新版本的 PowerVR SDK 涵盖光追示例等,纹理编码工具 PVRTexTool 与硬件统计分析工具 PVRTune 均有升级更新
  • 三星:首发GAA晶体管技术 三星3nm工艺成功流片。与5nm制造工艺相比,3nm GAA技术的逻辑面积效率提高了35%以上,功耗降低了50%;
  • 高通:出骁龙888 Plus 5G移动平台,将为2021年下半年来自华硕、荣耀、Motorola、vivo和小米的智能手机提供支持。 与骁龙888相比,骁龙888 Plus集成的高通Kryo 680 CPU,超级内核主频高达3.0GHz;
  • 高通:CristianoAmon 近日再次表态,如果软银决定让Arm 上市,而非出售给英伟达,那么高通将与相关领域的公司一起投资Arm,如果Arm 有独立的未来,那么业内将有很多企业都对投资Arm 感兴趣
  • Intel:Intel将会打造自己的RISC-V开发平台“Horse Creek”,基于SiFive最新的高性能核心Performance P550,而且还会采用自己的下一代7nm工艺;
  • Nvidia:推出 NVIDIA AI LaunchPad,一个通过混合云供应商提供的综合计划,企业能够即时访问由英伟达提供的基础设施和软件;
  • 紫光展锐:基于展锐 22nm 的 T107 平台,在功能机上实现对健康码、乘车码、支付宝等支持;
  • 芯源:在第一届RISC-V中国峰会(RISC-V World Conference China)上,其创始人主持了 RISC-V 的产业生态圆桌论坛,并展示了基于NPU、GPU等只能识别平台和穿戴设备等;
  • 龙芯中科:自主创新首推其发布了龙芯自主指令系统LoongArch,拟IPO过程中遭遇了来自芯联芯公司的仲裁申请;最新处理器性能批露:桌面处理器单核提升 50%、功耗降低30%;服务器处理器达到国际主流水平,龙芯架构(LoongArch)包括基础架构部分和向量指令、虚拟化、二进制翻译等扩展部分,近 2000 条指令,还可以翻译MIPS、ARM及x86指令;
  • 禾赛:官宣了最新一轮3亿美元D轮融资,小米、美团悉数进场,加上前大股东百度,三巨头就位。

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

业界新闻

  • 首届 RISC-V 中国峰会 2021 年 6 月 21 日起在上海举行,有什么值得关注的地方 | 知乎
    摘要:首届RISC-V中国峰会(RISC-V World Conference China)将于6月21日在上海科技大学盛大开幕。
    本回答是由中国科学院计算技术研究所的研究员包云岗回答,其以《香山:开源高性能 RISC-V 处理器》为题,主要回答四个问题:一、为什么要做香山?二、香山什么水平?三、香山怎么做的?四、香山未来如何发展?
  • 百度向IC领域发起进攻:百度昆仑芯片独立背后,或向汽车芯片发起进军 | 何玺
    摘要:百度旗下昆仑芯片业务已成立独立新公司——昆仑芯(北京)科技有限公司,百度芯片首席架构师欧阳剑出任昆仑芯片公司CEO。
    百度从2020年就开始了基于FPGA研发AI加速器,同期开始使用GPU。至2017年,百度已经部署超过1万片FPGA。2018年7月4日,百度在2018年百度AI开发者大会上宣布推出云端全功能AI芯片“昆仑”,并于2019年下半年流片成功,2020年初实现量产,目前已经在百度搜索和百度智能云等场景规模化部署超过2万片,在各个行业拥有数十个客户。最新消息显示,百度昆仑二代芯片已经流片成功,预计今年年下半年量产,并将部署在搜索、工业互联网、智能交通等业务领域。除了昆仑芯片,百度还研发了专为智能家居、智能车载、智能物联语音交互的鸿鹄语音芯片。
    说昆仑芯片或向汽车芯片发起进军,是因为在上述百度的AI业务线中,百度Apollo自动驾驶开放平台、集度汽车是百度AI核心发力方向,也是当前国内外最为热门,未来具有广阔前景的大市场。
  • 重启自研架构,三星和高通对 ARM 投下“不信任票” | 三易生活
    摘要:三星最近正在寻求多位曾在苹果和AMD CPU团队任职的工程师加入,并且到目前为止,至少有一名曾在苹果芯片团队担任主要开发任务的工程师,已经给出了入职条件。在前段时间,高通刚刚完成了对CPU架构设计公司 Nuvia 的收购。而在 Nuvia 的职员当中,不少人都曾参与过苹果 M1 芯片的设计。 Nuvia 已经完成了并入高通后的首款 CPU 设计方案,虽然它现在似乎还是一款规模非常巨大,主要针对服务器这样的高性能计算领域,但 Nuvia 的架构非常新颖,以至于它不仅性能远超 Intel 与 AMD 的同级别产品,而且也有望在未来成功小型化,并用于智能手机。
    什么促使他们做出自研CPU决定的呢?
    1. ARM 在产品性能宣传方面一贯有着“吹水”的传统。特别是在每次新品发布的时候,为了凸显公版新架构的“提升很大”,ARM往往会安排新架构与老架构进行性能对比。简单换算一下就会发现,其实新架构的同频性能变化并不是那么大。 ;
    2. ARM 本身的归属问题也引发了担忧。英伟达一旦收购 ARM 成功之后,一个横跨移动、PC、车载、高性能计算(HPC)、云计算的超级半导体巨头可能就将冉冉升起。一方面,从ARM现有的产品线来看,他们与英伟达之间在移动GPU方案的研发和授权上存在一定的竞争关系。另一方面,ARM虽然目前隶属于日本公司软银,但其总部却是在英国,而研发部门则更是有两家,分别在英国剑桥和美国奥斯汀。这就意味着对于现在的ARM来说,他们只有奥斯汀分公司的产品会受到美国相关法令的出口管制。而一旦ARM被英伟达收购,由于英伟达本身是美国公司,就会导致整个ARM产品线全部被纳入美国政府的监管范围,这很显然会让ARM的客户对于其未来的供货能力产生担忧。更进一步地说,大家知道英伟达的主要业务是设计和销售显卡芯片、自动驾驶处理器、服务器加速卡等等设备,而ARM的业务则是设计芯片,以及销售设计方案。事实上在英伟达的一些产品中,本身就会需要用到ARM的指令集和架构授权。这也就意味着一旦英伟达收购ARM,本身相对于高通、三星,以及其他的同类厂商来说,就变成了既是架构和技术供应商,又是直接竞争对手的关系。可能带来交易不公平。
  • Jim Keller 正在做的芯片,有望挑战英伟达 | 半导体行业观察
    摘要:作为最重要的 AI 初创公司之一,Tenstorrent 获得了大量媒体报道。除了有前途的硬件和软件设计,媒体炒作这家公司的部分原因是因为他们由芯片行业的专家Jim Keller领导。公司成立以来,他就一直是其中的一名投资者。在特斯拉任职后,他又去英特尔工作,最终于 2021 年初,Jim Keller成为了Tenstorrent 的首席技术官。
    据报道,Tenstorrent 采用了一种将硬件和软件紧密结合的独特方法。硬件专门用于该任务,但软件并不复杂。
    整个软件栈只有大约 50,000 行代码。与大多数其他需要自定义开发pipeline的特定于 AI 的 ASIC 不同,Tenstorrent 具有很强的适应性和灵活性,同时支持所有主要工具链、框架和runtime。那就意味着,英伟达极易开发的最大优势正在受到挑战。

论文

  • [CVPR2021] 轻量化目标检测模型MobileDets | 集智书童
    摘要:构建在深度卷积上的 Inverted bottleneck layers 已经成为移动设备上最先进目标检测模型的主要构建模块。在这项工作中,作者通过回顾常规卷积的实用性,研究了这种设计模式在广泛的移动加速器上的最优性。
    作者研究发现,正则卷积是一个强有力的组件,以提高延迟-准确性权衡目标检测的加速器,只要他们被放置在网络通过神经结构搜索。通过在搜索空间中合并 Regular CNN 并直接优化目标检测的网络架构,作者获得了一系列目标检测模型 MobileDets ,并在移动加速器中实现了最先进的结果。
    在 COCO 检测任务上,在移动 CPU 上 MobileDets 比 MobileNetV3+SSDLite 提升了1.7 mAP。 MobileDets 比 MobileNetV2+SSDLite 提升了1.9mAP,在不增加延迟的情况下,在谷歌 EdgeTPU 上提升了 3.7 mAP,在 Qualcomm Hexagon DSP 上提升了3.4 mAP ,在 Nvidia Jetson GPU 上提升了 2.7 mAP。此外, MobileDets 即使不使用金字塔也可以在移动 cpu 上媲美最先进的 MnasFPN ,并在 EdgeTPUs 和 dsp 上实现更好的 mAP 分数以及高达 2 倍的加速。
  • A Graph Placement Methodology for Fast Chip Design
    论文:https://www.nature.com/articles/s41586-021-03544-w
    摘要:2020 年 4 月,包括 Google AI 负责人 Jeff Dean 在内的谷歌大脑研究者描述了一种基于 AI 的芯片设计方法,该方法可以从过往经验中学习并随时间推移不断改进,从而能够更好地生成不可见组件的架构。据他们表示,这种基于 AI 的方法平均可以在 6 小时内完成设计,这要比人类专家所需要的数周时间快得多。
    近日,谷歌大脑团队联合斯坦福大学的研究者对这一基于 AI 的芯片设计方法进行了改进,并将其应用于不久前 Google I/O 2021 大会上正式发布的、下一代张量处理单元(TPU v4)加速器的产品中。谷歌此前表示,TPUv4 可以在目标检测、图像分类、自然语言处理、机器翻译和推荐基准等工作负载上优于上一代 TPU 产品。相关论文研究已经在 Nature 上发表,Jeff Dean 为核心作者之一。据介绍,在不到六小时的时间内,谷歌 AI 芯片设计方法自动生成的芯片布局在功耗、性能和芯片面积等所有关键指标上都优于或媲美人类,而工程师需要耗费数月的艰苦努力才能达到类似效果。
    这项基于强化学习的快速芯片设计方法对于资金紧张的初创企业大有裨益,如果谷歌公开相关技术的话,这些初创企业可以开发自己的 AI 和其他专用芯片。并且,这种方法有助于缩短芯片设计周期,从而使得硬件可以更好地适应快速发展的技术研究。
  • [CVPR2021][2104.11487] Skip-Convolutions for Efficient Video Processing(https://mp.weixin.qq.com/s/uEyjGKQRSpGF8nm_5zhf5A)
    摘要:作者高通,真正的视频往往存在大量变化不大的场景(甚至10帧内只有一只手在动):这种情况下,如果还将每个像素都处理一遍,能否教AI学会高效“偷懒”,不浪费任何多余的算力呢?当然可以,而且有2种方法。
    高通在其第一篇论文中,提出了名为Skip-Convolutions的新型卷积层,它能将前后两帧图像相减,并只对变化部分进行卷积。在某些场景下,计算量从10.2GMACS(每秒10^9次定点乘累加计算)降到了0.4GMACS,不到原来的4%!不止是上面的姿态估计,这个卷积层适用于任何神经网络算法,包括光流、语义分割、分类任务等。相比于经典视频AI算法HRNet,这个算法就将计算量减少了78%,延迟降低65%,性能还不下降。
  • [CVPR2021][2104.13400] FrameExit: Conditional Early Exiting for Efficient Video Recognition
    论文:https://arxiv.org/abs/2104.11487
    摘要:作者高通,让AI模型“自行控制计算量”。论文提出了一个名为FrameExit的网络,由多个级联分类器组成,可以随着视频帧的复杂度,来改变模型所用的神经元数量。在视频前后帧差异大的时候,AI会用整个模型计算;前后帧差异小的时候,则只用模型的一部分计算。也就是说,要是某一帧看起来不需要复杂计算的话,用更小的模型处理就够了。

开源项目

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

  • Adlik/Adlik: 深度学习推理工具链 Adlik 新版本Cheetah发布
    摘要:Adlik [ædlik] is an end-to-end optimizing framework for deep learning models. The goal of Adlik is to accelerate deep learning inference process both on cloud and embedded environment. With Adlik framework, different deep learning models can be deployed to different platforms with high performance in a much flexible and easy way. 相较于上个版本,我们做了很多优化,在MLPerf的测试中有不错的表现:
    1. 模型编译器Model Compiler
      • Adlik编译器扩展支持多种新的深度学习框架,包括PaddlePaddle,Caffe,和MxNet;
      • Adlik编译器目标模型格式,扩展支持PaddlePaddle,TVM等;
    2. 编译器支持OpenVINO量化
      • 支持TVM自动搜索,通过重新规划调度模板,采用全局自动调度搜索方案,对Resnet50模型进行优化,推理时延在X86 CPU下略优于OpenVINO(基于MLPerf测试结果)
    3. 模型优化器Model optimizer
      • Yolo v4模型优化
      • Resnet-50最新剪枝,蒸馏,量化等优化,模型大小压缩93%,精度76%,推理时延1.33ms(MLPerf测试),8核推理比原始模型提升5.0x,单核提升10.7x
    4. 推理引擎Inference Engine
      • 支持TVM TF-TRT 运行时
      • 云原生镜像发布0.3版本,支持引擎各组件最新版本:
      • OpenVINO:2021.1.110版本
      • TensorFlow:2.4.0
      • TensorRT:7.2.1.6
      • TFLite:2.4.0
      • TVM:0.7
    5. Benchmark Test
      • 支持Paddle的性能测试,包括Paddle OCR,PP-yolo,PPresnet-50
  • bytedance/lightseq:字节跳动LightSeq上新,支持Transformer全流程训练加速,最高加速3倍 | 机器之心
    摘要:Transformer 已经成为众多 NLP 任务以及部分 CV 任务的主流模型,但由于硬件资源匮乏,很多高校实验室或者公司都无法训练很大的模型,而降低批处理大小等措施又会导致训练时间成倍增加。针对这一痛点,字节跳动推出了 LightSeq 训练加速引擎,对 Transformer 训练的整个计算过程进行了优化,最多可以实现 3 倍以上的加速。
    今天,LightSeq 的最新版本发布了!这次发布引入了引擎方面的重大更新——支持了 Transformer 全流程训练加速,在不同的批处理大小下相比主流训练库最高可加速 3 倍多!至此从训练到推理部署的整个过程都已被 LightSeq 打通:
    1. 支持 Transformer 的完整加速。算子多运算融合、输入输出层融合、动态显存复用和参数连续化,最后介绍一下 LightSeq 提供的单元测试功能;
    2. 训练速度比主流库快了三分之一;
    3. 功能简单易用;
    4. 易于二次开发。
  • Tencent/TFace:更可信的人脸识别,腾讯优图TFace正式开源!| 腾讯优图AI开放平台
    项目:https://github.com/Tencent/TFace
    摘要:TFace 是由腾讯优图实验室研发的人脸识别算法研究项目,其中 TFace 中的T意为 “trusty” ,表达了团队在可信人脸识别技术方向上的愿景。 基于可信人脸识别的理念,TFace重点关注人脸识别领域的四个研究方向:精准、公平、可解释以及隐私。,框架主要由数据增强、骨干网络模型库、模型评估、训练范式等高度抽象化模块组成,通过简单的修改配置文件就可以开展相应的实验,支持多种骨干网络结构和 heads , 复现了学术界主流的SOTA方法和效果,同时也利用工业界主流的推理框架测试了不同模型的推理耗时。
    1. 在数据预增强模块中,针对困难场景下识别精度低这一难题,从2D和3D两条路线进行数据增强,目前已开放2D数据增强代码,可以扩增成戴口罩、戴眼镜、戴头巾等样本,后续TFace也会逐渐开放对于光线、表情、姿态这些细粒度属性的3D增强代码;
    2. 在骨干网络模型库中,实现了十余种学术界常见的人脸识别提特征网络结构;
    3. 模型评估模块主要包括了推理耗时评估和精度评估,测试在X86 CPU, ARM CPU, GPU具体设备上的推理速度,;
    4. 在训练范式上,支持常见的数据并行+模型并行以及混合精度训练,提升大规模训练的效率,支持多数据分支训练,采用类似多任务学习的方式同时训练多个数据集,提升模型的精度,后续将会开放量化感知训练、模型蒸馏、联邦训练等代码。
      TFace 项目中的算法能力已应用在内外多个业务中,对内广泛支撑了腾讯内部如微信,QQ中的身份识别需求,对外则通过腾讯云服务的形式,提供了ToC、ToB的相关能力,典型应用案例如跨年龄寻人、人脸核身、刷脸支付等。
  • PyTorch 1.9发布!移动端疯狂更新 | 量子位
    原文:https://pytorch.org/blog/pytorch-1.9-released/
    摘要:时隔仅3个月,PyTorch 再次迎来升级——1.9版本。这一次,官方把重头戏放在了移动端上。不仅 Mobile Interpreter 发布了新版本,而且 TorchVision 库也支持在手机上使用了,iOS、Android都支持!
    最新版本能够将移动设备上的二进制文件大小降低到原来大小的一半以下。比如,在arm64-v8a架构的Android设备中使用MobileNetV2的pt大小,压缩前为17.8MB、压缩后为8.6MB。而使用新版Mobile Interpreter后,可以把压缩前的文件大小降低到 8MB 以下,压缩后的大小降低到4MB以下。
    与此同时,从1.9版本开始,用户可以在iOS、Android的APP上使用TorchVision库了。在iOS上,它需要和主要的PyTorch库链接在一起使用;在Android上,则可作为gradle依赖项添加。
    在demo APP方面,这一次更新了一个新的基于PyTorch Video库的视频APP和一个基于最新torchaudio,、wave2vec模型的语音识别APP。有了这两个APP后,PyTorch现在可以提供图像、文字、音频和视频在内的一整套demo APP。
    TorchElastic是PyTorch的一个核心功能,它能够让用户在抢占式实例上运行分布式训练。新版本中,添加了一个基于c10d::Store的“独立”集合点,能够在本地支持弹性、容错分布式训练。此外,现在还可在RPC中支持CUDA,并支持对分布式训练进行分析等。
    PyTorch Profiler是用来对PyTorch模型性能分析的一个工具。通过可视化页面来帮助我们分析具体运行情况。在1.9版本中,可以在Windows和Mac中支持新的torch.profiler API了。新的API支持现有分析器功能,可以与CUPTI库集成(仅限Linux),追踪设备上的CUDA内核,并为长期运行项目提供支持。

博文

  • Wiztalk | 087期 包云岗《开源芯片:现状与趋势-RICS-V指令集》 | 腾讯高校合作
    摘要:在降低芯片设计门槛上有一个关键点,那就是芯片指令集的开源。那么受到众人青睐的RSIC-V指令集又有什么过人之处呢?
    本期包云岗研究员将给我们讲讲RSIC-V指令集相较于X86、ARM指令集的优势,以及它的一些情况。
  • Tengine支持RISC-V 模型部署-全志在线D1开发板「哪吒」 | Tengine开发者社区
    摘要:全志科技在 2021年4月15日发布了“D1”处理器,是全球首颗搭载平头哥玄铁 C906 RISC-V 的应用处理器。同时由其负责开发者社区运营的全资子公司「全志在线」发布了基于D1芯片的开发板——「哪吒」。D1芯片及开发板为万物互联的 AIoT 时代提供了新的可选方案,同时也进一步扩充了 RISC-V 高端应用处理器阵营的力量。
    开放的边缘 AI 计算框架 Tengine 已经基于平头哥的 RISC-V Qemu 环境完成了 C910 的 Vector 指令的支持,由于 C910 同 C906 属于 RV64 的同一系列,指令集兼容,因此将 Tengine 移植到 D1 上只需使用 D1 的交叉编译工具完成“一键编译”即可,Tengine 已经在 v1.4 版本的编译模块中完成了微调,可无缝切换到对 D1 工具链的支持。
  • 知识蒸馏中的架构搜索与自监督蒸馏方法的设计 | 智东西公开课
    摘要:在轻量化网络加速方面,现有的模型压缩方法也不少,比如模型剪枝、设计更高效的网络结构、矩阵分解、模型量化或二值化,以及知识蒸馏等。其中知识蒸馏作为一项成熟的技术,经常被用来更好地训练小模型。而在监督学习的范式下,最近几年有很多高效的蒸馏方法被提出。而在本次的讲座中,顾金东博士将与大家探讨以下两个课题:
    1. 给定一个老师模型,如何为学生模型寻找一个好的架构,使得蒸馏效果更好?
    2. 自监督学习最近收到了很大关注,这种学习范式已经学习的特征已经可以与监督学习下的相比较,然而自监督学习下小模型的很不好。那如何使用知识蒸馏技术来改善自监督学习下的小模型呢?
  • Tiramisu:一种基于Polyheral的深度学习模型编译器 | Adlik
    摘要:Tiramisu是一种4层IR结构的,基于Polyhedral模型的编译器,相比基于区间分析的Halide具有更好的领域适用性。在深度学习模型、算子仍在持续发展,类似Tiramisu这样的模型编译器或许未来会成为推理引擎从业者的趁手利器。由Relay IR转化为Tensor IR的步骤称为“调度生成”,对于TVM以外的推理引擎,该步骤的名称可能有差异,但都是必须的。调度的关键在于从时间、空间两个维度上彻底挖掘计算资源的极限潜能:
    1. 时间维度上,任意时刻应尽可能地并行化数据无依赖关系的计算(CPU多物理核、GPU流处理器、CPU/GPU高级指令集),以避免不必要的串行计算;
    2. 空间维度上,尽可能将计算所需的数据放置于存取速度最快的区域(CPU L1 Cache、GPU L1 Cache、GPU C-Cache、GPU共享内存等),减少数据读写时间。
      综上可知,推理引擎的核心在于模型编译器,模型编译器的核心在于调度过程的生成技术。基于依赖分析的Polyhedral模型的调度描述更加细化、表达力更强,理论上可以将优化做到极致,但缺点是算法原理相对复杂且优化分析的复杂度更高。