计算机体系结构领域国际顶级会议每次往往仅录用几十篇论文,录用率在20%左右,难度极大。国内学者在顶会上开始发表论文,是最近十几年的事情。

ASPLOS与HPCA是计算机体系结构领域的旗舰会议。其中ASPLOS综合了体系结构、编程语言、编译、操作系统等多个方向,HPCA则主要针对高性能体系结构设计。过去的三十多年里,它们推动了多项计算机系统技术的发展,RISC、RAID、大规模多处理器、Cluster架构网络存储、机器学习加速器等诸多计算机体系结构领域的重大技术突破,都最早发表在这两个会议之上。

2020年4月12日上午,北京智源人工智能研究院和北京大学高能效计算与应用中心联合主办了“AI芯片体系架构和软件专题报告会”,邀请了五位在2020年计算机体系结构顶级会议(ASPLOS和HPCA)中发表论文的学者,分享自己的最新研究成果,超过1900名观众在线观摩了学者们的报告。

  • 梁云  智源青年科学家和北京大学研究员,报告会主席

  • 骆沁毅 美国南加州大学PhD Candidate

  • 高鸣宇 清华大学交叉信息研究院助理教授

  • 陈晓明 智源青年科学家、中国科学院计算技术研究所副研究员

  • 侯锐 中国科学院信息工程研究所研究员和信息安全国家重点实验室副主任

十年,系统顶会论文从零起步到信手拈来

这次线上报告会特邀了智源研究院智能体系架构与芯片重大方向的首席科学家、中科院计算所研究员陈云霁做开场致辞。2008年,正是陈云霁发表了出自国内学者的第一篇HPCA论文。陈云霁在开场致辞中表示:近十年来人工智能的快速发展,算力是重要的推手之一,所以智源研究院刚成立时便将“智能体系架构与芯片”作为重大课题方向。目前,AI芯片研究已经是国际学术前沿,无论美国、欧洲,还是中国的很多高校和研究所,都将它作为蓬勃发展的学术增长点;另一方面,AI芯片研究对于国家的产业发展也具有非常重要的意义。刘鹤副总理曾经说过,现在国家“智能+”产业规模已经达到了每年5000亿左右。而AI芯片就是“智能+”产业的核心物质载体,所以关于它的研究和技术创新工作,其意义是举足轻重的。我非常高兴地看到,这次专题报告会的研究工作都是来自于国际顶级会议,比如HPCA、ASPLOS。2008年时,我发表了国内第一篇HPCA论文,后来2012年我们中科院计算所又发表了国内第一篇ASPLOS。当时国内学者要在这样的顶会上发表论文非常困难,所以非常欣慰现在国内的青年学者们已经在研究方面取得非常快速、长足的进步,包括今天的5位报告人在顶会上发文可以说是信手拈来。所以这场专题报告会将非常有价值,我们不仅可以了解到AI芯片领域发展的一些新知识,对于我们学习做研究的技巧也将带来很多收获。

异构系统张量计算的自动调度探索与优化

第一位报告人是智源青年科学家、北京大学研究员梁云,为我们进行了题为《FlexTensor: An Automatic Schedule Exploration and Optimization Framework for Tensor Computation on Heterogeneous System》(FlexTensor:面向异构系统的张量计算优化技术,同名论文发表于ASPLOS 2020)的报告。据梁云介绍,张量计算在包括机器学习、数据分析和科学计算等很多领域都扮演着重要的角色。为了提供更高效的张量计算,不同的芯片厂商都提供了针对张量的计算库。然而,当前主流的张量库实现,依靠程序员的手动设计与调优,开发周期漫长,远远落后于人工智能算法的演变速度。

梁云团队提出了一个适用于异构系统的张量计算的调度探索和优化框架——FlexTensor,它可以自动的对张量计算进行优化,使得程序员只需编写高级的张量程序,而不用考虑硬件平台的优化细节。梁云介绍说,Flextensor 首先定义了规整的优化空间,然后使用了模拟退火结合机器学习的方法去探索优化空间,找到最优的调度策略。根据梁云提供的实验数据显示,通过测试12种不通的张量计算,包括数百个测试用例,FlexTensor在NVIDIA V100 GPU上的性能平均比cuDNN快1.83倍,在英特尔Xeon CPU上的性能平均比MKL-DNN快1.72倍;在Xilinx VU9P FPGA上的性能比之前的技术提高了1.5倍。

高性能异构感知异步分散训练方法

第二位报告人是美国南加州大学博士生、研究助理骆沁毅,她演讲的主题是《Prague: High-Performance Heterogeneity-Aware Asynchronous Decentralized Training》(Prague:高性能异构异步分散训练,同名论文发表于ASPLOS 2020)。骆沁毅指出,目前的分布式深度学习训练,通常采用All-Reduce作为数据并行算法的同步机制,但效率会受限于速度最慢的协同者;而新提出的同步方法AD-PSGD,具有数值快速收敛和抗异质性,但存在死锁问题和高同步开销。因此骆沁毅及合作者设计了一种高性能异构感知异步分散训练方法Prague,它融合了上述两种方法的优点,可以既能在同质环境下获得高性能,又具有良好的异质性容忍度。

在设计思路上,据骆沁毅介绍,她和同事通过探索算法和系统实现之间、统计效率与硬件效率之间的相互作用,以及通过深入的同步优化来实现上述目标。其中为了降低同步成本,骆沁毅及合作者提出了一种新的通信原语,即部分All-reduce,它可以在一组协同者之间实现快速同步。为了降低串行化的成本,他们提出了在同质环境下的静态组调度和异质环境下的组缓冲区和组划分,后者在保持一定随机性的前提下可以大幅度地消除冲突。实验表明,在均匀环境下,Prague比目前最前沿的All Reduce实现速度快1.2倍,比参数服务器(Parameter Server)快5.3倍,比AD-PSGD快3.7倍。在异构环境中,Prague能够很好地容忍减速,并比All Reduce快4.4倍。

用Halide调度语言优化DNN加速器硬件资源分配

第三位报告人是清华大学交叉信息研究院助理教授高鸣宇,他带来了题为《Interstellar: Using Halide's Scheduling Language to Analyze DNN Accelerators》(Interstellar: 用Halide的调度语言分析DNN加速器,同名论文发表于ASPLOS 2020)的报告。DNN加速器当前被广泛应用在自动驾驶、人脸识别、人脸解锁等图像识别领域,神经网络大规模应用不仅需要从硬件领域提供更大规模的算力支持,而且也要关注软件层面,来最大化硬件的算力使用。高鸣宇介绍,如果把神经网络加速器的空间设计方法罗列出来,可以分为三个维度:硬件层面上的资源分配、芯片上的数据流和芯片外的数据切分。

那么应该如何公平地比较不同的设计方法?如何去寻找影响加速器性能最关键的因素?高鸣宇认为,可以试图通过Loop Transformation把不同的加速器设计放在同一个三维框架里进行比较。在这个过程中,选用创建这些硬件变体所需的Loop Transformation可以用Halide的调度语言精确而简洁地表示。通过修改Halide编译器来生成硬件,我们可以创建一个能够公平比较不同加速器的系统。高鸣宇认为,只要使用合适的Loop blocking方案,并且硬件能够支持映射复制loop,那么许多不同的硬件数据流都会产生相似的能量效率和良好的性能。这是因为Loop blocking可以确保大多数数据引用保持在具有良好局部性的芯片上,并且处理单元具有较高的资源利用率。而如何分配资源,特别是在内存系统中,对能量和性能会有很大的影响。高鸣宇介绍,据实验结果显示,他们通过在保持吞吐量不变的情况下优化硬件资源分配,分别实现了卷积神经网络(CNN)的4.2倍能量改进,长短期存储器(LSTM)和多层感知器(MLPs)的1.6倍和1.8倍能量改进。

卷积神经网络加速器能量效率逼近理论最佳值

第四位报告人是中国科学院计算技术研究所副研究员陈晓明,他的发言主题是《Communication Lower Bound in Convolution Accelerators》(卷积加速器中的通信下界,同名论文发表于HPCA 2020)。据陈晓明介绍,目前基于ASIC的卷积网络加速器的能耗主要消耗在访存上,因此加速器的整体能效主要受限于访存。他想解决的问题,是针对目前的卷积神经网络加速器,怎么就给定的芯片的片上存储资源,设计最优的卷积数据流使访存最小化,从而能效达到最优。

对此陈晓明团队提供了一套非常全面的分析方法,对于片外通信,他们解决了以前从未解决的问题:推导了任意卷积层的片外访存的理论下界,并提出了达到下界的卷积数据流;同时他们基于一个详细的片上负载分配和存储映射方案,使得片上通信量也达到最小。此外,陈晓明团队还设计出了一个通信最优的CNN加速器架构,通过基于65nm工艺的仿真表明,他们所提出的体系结构在三层存储层次(DRAM、片上缓存、寄存器)上都几乎达到了理论上的最小通信量,因此该架构的能耗主要由计算消耗,使得加速器的能量效率和理论上的最佳值之间的差距只有37-87%。

DNNGuard实现DNN加速器高效数据传输和信息保护

第五位报告人,是中国科学院信息工程研究所研究员侯锐,他演讲的主题是《DNNGuard: An Elastic Heterogeneous Architecture for DNN Accelerator against Adversarial Attacks》(DNNGuard: DNN加速器防御对抗攻击的弹性异构体系结构,同名论文发表于ASPLOS 2020)。侯锐首先介绍,近年来深度学习加速器发展迅速,然而绝大部分人只关注性能、成本而缺乏对其安全性的思考。随着对抗样本攻击的泛滥,针对对抗样本攻击的检测也实现了较快发展,当前的最新趋势是将DNN与机器学习的方法结合起来。然而,在现有的DNN加速器中部署敌方样本防御方法,在成本、计算效率和信息安全等方面都存在待优化的问题。此外,现有的DNN加速器不能有效地支持防御方法所需的特殊计算。

为了解决这些新的挑战,侯锐团队提出了DNNGuard——一种弹性异构DNN加速器体系结构,它可以有效地协调原始DNN网络和检测敌方样本攻击的检测算法或网络的同时执行。该体系结构将DNN加速器与CPU核心紧密地耦合在一个芯片中,以实现高效的数据传输和信息保护。DNNGuard除了能够同时执行两个网络外,还支持非DNN计算,并允许CPU核有效地支持神经网络的特殊层,并通过一种动态资源调度机制,可以减少片外通信量,提高资源利用率。

会议最后,报告会主席梁云表示,在人工智能领域,基础软硬件都是应用发展的基石,但我国在这方面的研究水平和人才储备方面仍处于相对薄弱的状态,所以希望今天的报告会能吸引更多的同仁们参与到AI芯片和体系架构这个行业中来,一起改变当前中国计算机研究“缺芯少魂”的状况。

5篇论文详细解读即将推出,微信扫码关注北京智源人工智能研究院订阅号

后台发送关键词“Live0412”

即可获取所有报告课件、论文、回放视频(在线和下载)

加速、能耗与对抗攻击:5位顶会作者解析2020 AI系统关键挑战相关推荐

  1. 一文尽览!文本对抗攻击基础、前沿及相关资源

    // 导读 深度学习的安全性问题已经逐渐被学术界.工业界所认识到并且重视,就文本领域而言,垃圾邮件检测.有害文本检测.恶意软件查杀等实用系统已经大规模部署了深度学习模型,安全性对于这些系统尤为重要. ...

  2. 【每周CV论文推荐】基于GAN的对抗攻击,适合阅读那些文章入门?

    欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 在图像分类的对抗攻击任务中,如果在图片上添加 ...

  3. 顶会ASPLOS 新成果解析:用“弹性异构”防御DNN加速器对抗攻击

    与6位图灵奖得主和100多位专家 共同探讨人工智能的下一个十年 长按图片,内行盛会,首次免费注册 计算机体系结构领域国际顶级会议每次往往仅录用几十篇论文,录用率在20%左右,难度极大.国内学者在顶会上 ...

  4. 2020AI顶会的腾讯论文解读 | 多模态学习、视频内容理解、对抗攻击与对抗防御等「AI核心算法」

    关注:决策智能与机器学习,深耕AI脱水干货 报道 |  腾讯AI实验室 计算机视觉领域三大顶会之一的 ECCV(欧洲计算机视觉会议)今年于 8 月 23-28 日举办.受新冠肺炎疫情影响,今年的 EC ...

  5. 计算未来轻沙龙 | 对抗攻击、强化学习,你关心的都在这里!

    Hi,大家好~ 临近期末,本学期的活动也迎来了最后一期 机器学习前沿研讨会 提到机器学习,你是否想起了 对抗攻击.强化学习.集成学习.表示学习 这么多细分的方向和领域? 想广泛涉猎却精力有限? 聆听大 ...

  6. 致盲目标检测算法,阿里清华发起 “对抗攻击” 挑战赛!

    疫情期间在家精进技术却遭遇服务器短缺?想畅快体验算力自由,挑战高难度目标检测攻击场景吗?这里有一个完美实现上述目标,还能获得阿里校招绿通.万元奖金.权威证书和高定礼品,更可去顶会当演讲人的比赛. 阿里 ...

  7. AI 以 5:0 比分击败美顶级飞行员;经典对抗攻击 Deepfool 原理详解

    开发者社区技术周刊又和大家见面了,快来看看这周有哪些值得我们开发者关注的重要新闻吧. 2019 年全球公共云服务市场总额达 2334 亿美元 新里程碑!IBM 宣布最高量子体积 64 马斯克将通过实时 ...

  8. 《繁凡的论文精读》(一)CVPR 2019 基于决策的高效人脸识别黑盒对抗攻击(清华朱军)

    点我一文弄懂深度学习所有基础和各大主流研究方向! <繁凡的深度学习笔记>,包含深度学习基础和 TensorFlow2.0,PyTorch 详解,以及 CNN,RNN,GNN,AE,GAN, ...

  9. AAAI 2020 开源论文 | 一种针对图嵌入模型的受限黑盒对抗攻击框架

    AAAI(人工智能促进协会年会)是人工智能领域的顶级国际会议之一.今年的 AAAI 2020 是第 34 届,于 2 月 7 日至 12 日在美国纽约举行.今年,第 3 次参会的腾讯 AI Lab 共 ...

最新文章

  1. python3 base64 长度补全
  2. C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 类型
  3. 2019北邮计算机考研大纲,2019年北京邮电大学802电子电路考研大纲
  4. java如何返回之前代码_java – 如何在每次返回之前向消息添加代码?
  5. 总结了一些指针易出错的常见问题(二)
  6. Verilog HDL语言实现的单周期CPU设计(全部代码及其注释)
  7. 【XLL 框架库函数】 TempActiveCell/TempActiveCell12
  8. 在Ubuntu 16.04 上安装和卸载matlab 2018b(Install and uninstall matlab 2018b on ubuntu)
  9. Haproxy+多台MySQL从服务器(Slave) 实现负载均衡
  10. 信息学奥赛一本通(1002:输出第二个整数)
  11. java dochain,Java filter中的chain.doFilter详解
  12. java基础—计算: 2012-3-17到2012-4-6中间有多少天?
  13. 深度相机---(2)结构光深度测距
  14. 华为机试——整理数字字符串
  15. java写数据库连接_JAVA写简单的数据库连接池
  16. EasyUI组件使用
  17. python主要用来做什么-Python能用来做什么?以下是Python的三大主要用途
  18. AngularJs ngList、ngRepeat、ngModelOptions
  19. 如何复制百度文库上的文本
  20. HTML5期末大作业:影视视频网站设计——爱影评在线电影(10页面) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码

热门文章

  1. oppo怎么广告接入_OPPO游戏的承转启合,携手开发者迎接万物互融时代
  2. java 位掩码_Java位掩码控制权限与()或(|)非(~)、的介绍
  3. 【c语言】整型数据的溢出
  4. python mainloop函数_python中的mainloop()函数
  5. 转:[大数据竞赛]协同过滤在这个问题上是否work
  6. 最全的Centos6.10详细安装Oracle 11G R2图文教程
  7. 使用Jenkins持续集成Vue项目配置Sonar任务
  8. Linux-Ubuntu操作记录
  9. 细说Android事件传递
  10. 话说Ubuntu和FreeBSD将要合成一个新的版本:UbuntuBSD