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

计算机体系结构领域国际顶级会议每次往往仅录用几十篇论文,录用率在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”

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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平