新智元引荐
来历:StarryHeavensAbove 作者: 唐杉
收拾修改:张佳
【新智元导读】本年的Hot Chips,Cerebras搞了个大新闻,各种媒体刷屏。那么,除了史上最大芯片之外,Hot Chips还有哪些值得重视的内容?一同来看芯片专家唐杉的解读。
首要,Cerebras这次的确做了十分好的宣扬,各种介绍和剖析也许多(详见《史上最大芯片诞生!1.2万亿晶体管超级巨无霸,专为AI规划》),我就不多说了。不论咱们怎样点评,我个人仍是很敬佩他们的作业的,所以拼了一张AI芯片的图,算是问候一下给咱们带来“美感”的工程师们。
这几天介绍Hot Chips的文章也许多,我就全凭个人兴趣挑几个点和咱们一同看一下。本年我自己没有参会,所以首要是依据演说的资料以及Anandtech上的Live Blog做一些剖析。假如咱们感兴趣,也能够看看我上一年写的文章(Hot Chips 30,黄金时代的缩影,Hot Chips 30 - 机器学习,Hot Chips 30 - 巨子们亮“肌肉”),有些内容能够作为参阅。
摩尔定律怎样“续命”
从某种意义上说,咱们整个半导体工业都是在为摩尔定律的连续而尽力,即咱们期望能给18个月之后的运用需求供给成倍增长的“功用”支撑,只不过现在这个许诺不再是单单靠工艺节点的演进和晶体管数目来支撑了。
这次Hop Chips上的两个宗旨演说,能够说便是从不同视点谈论了这个问题。一个是处理器巨子AMD的Dr. Lisa Su共享的“Delivering the Future of High-Performance Computing”;另一个是TSMC的Dr. Philip Wong共享的“What Will the Next Node Offer Us?”。先看看Lisa Su的总结,为了给未来十年供给高功用核算才能,咱们可做和要做的作业仍是许多的。
source: Hot Chips 2019 [1]
从Foundry的视点,Dr. Philip Wong讲的就更直接,“MOORE’S LAW IS WELL AND ALIVE”,不过他的说法也不是独自针对晶体管的功用,而是各种技能归纳开展的成果。
source: Hot Chips 2019[2]
从架构“黄金时代”(黄金时代)的说法来看,工艺演进速度放缓并不一定是坏作业,咱们为了连续摩尔定律会在更多的方向上尽力。比方,在这次会议上,Nvidia展现的作业[3]便是一个覆盖了许多范畴和规划环节的试验。它包含Multi-chip架构,NoC(Network-on-Chip)和NoP(Network-on-Package)构成的层次化通讯,高带宽的inter-chip互联,乃至是灵敏开发办法,挺有意思。而Facebook的演说[4]也介绍了大型体系协同规划的十分好的实践。而在其它许多演说中,比方Intel,Nvidia,AMD,华为等等,咱们也能够许多看到新式封装和集成技能的运用和快速发展。
NN加快器架构的下一步
这次也有几家展现了NN加快器的架构,比较具体的包含华为和Tesla。咱们先看看Tesla。
source: Hot Chips 2019 [3]
应该说,Tesla的NNA不论从指令集仍是微架构都和Google TPU(揭露的榜首代)十分相似,MAC矩阵完成卷积和矩阵乘,SIMD完成其它运算,再加一些特别运算的硬件加快。这种架构应该是现在看到最多的规划,简略直接,硬件完成比较简略,应战是MAC矩阵的运用功率。当然,在许多细节上,Tesla的NNA仍是做了不少优化。如我之前的文章的剖析,Tesla的芯片完全是自用的,适宜就好,没有太多可比性(多视点解析Tesla FSD自动驾驶芯片)。
相比之下,华为的DaVinci Core应该是结合了这几年的AI芯片经历和深化的考虑。其特点是在一个Core里边一同支撑3D(Cube),2D(Vector)和1D(Scalar)的运算,以习惯不同网络和不同层的运算散布的改变。当然,把各种运算架构放在一个Core里边并不是特别困难的作业,更难的是规划参数的挑选,运算和存储的份额,软件mapping东西等等。这些问题在华为的talk里也给出了一些剖析。
source: Hot Chips 2019 [4]
别的,Intel和Xilinx也展现了他们的AI加快Core的规划。如下:
source: Hot Chips 2019 [5]
source: Hot Chips 2019 [6]
从目标来看,现在比较简略比照的首要是云端inference芯片,Nvidia的T4,Habana的Goya,Intel的NNP-I,都有ResNet-50的IPS(Image Per Second)和IPSW(IPS/W)数据。
data source:厂商
假如考虑到T4并不是单纯的inference功用,以及NNP-I的工艺优势,那么咱们的Inference IPSW目标的差异并没有太大。当然,或许得等咱们都提交了MLPerf的成果,咱们才或许进行更完好和公正的比照。关于目标的剖析,咱们也能够看看我之前的文章,“数据中心AI Inference芯片本年能到达什么样的功用?”,看起来我之前的猜测没太大问题。
咱们再看Trainning芯片,不论是Nvidia,Google,Habana仍是Intel这次发布NNP-T,更重要的现已不是NN加快器core的架构,而是存储容量,访存带宽,和可扩展才能。
所以,不论是从咱们发布的架构,仍是从目标来看,从TPU,Eyeriss,NVDLA到今日的Tesla FSD芯片和华为的DaVinci Core,假如不考虑根据新式存储和器材的特别规划,能够说NN加快器底子的硬件架构现已定型,首要作业是规划参数的优化或许针对不同运用的 trade off。换句话说,新架构(专用处理器相对CPU和GPGPU)的盈利现已充沛完成了。那么,关于架构规划者来说,下一步的时机是什么呢?个人感觉或许有下面一些方向。也欢迎咱们留言谈论。
榜首,更专用NNA的规划。一般来说咱们即便是做Domain-Specific规划,也期望芯片能够面向一类而非一个运用。但假如一个运用(比方只跑一个典型网络)有足够大的商场和更严厉的PPA要求(一般芯片满意不了),做一个更专用的规划也未尝不可,乃至或许是很好的时机。这种状况在咱们说的IoT运用里比较多,芯片不大,但对PPA很灵敏,合适算法硬件协同才能强,而且能够快速迭代的团队。当然,这种办法树立有个大前提,即AI使能更多新的运用,并越来越快的落地。
第二,从单纯NN加快规划到“NN+非NN”加快规划。在NN能够完成真实的end-to-end之前,即便是所谓的AI运用,NN算法和非NN算法也会在一同共存很长时刻。一个好的架构应该是加快完好的运用而不仅仅是NN部分(其实用户底子不在乎你的架构),这个需求在Edge/Device这个运用范畴更为显着。处理这个问题有两种思路,一个是异构架构的优化,特别是NN和非NN算法在不同硬件架构上的mapping和协同。另一个思路是以比较传统的Vector DSP(即能够做NN加快,也能够做许多传统算法,包含CV和语音,有或许会有优势)为根底,以特别指令或紧耦合的加快器的办法集成小规模的Tensor Core,来找到更好的平衡点。
第三,软硬件协同规划仍是有很大空间。在DaVinci的比方里,即便硬件支撑不同粒度的运算,在实践网络怎样用好这些硬件也仍是十分困难的课题。最近我谈论这个论题也比较多(AI芯片“软硬件协同规划”的抱负与实践)。其实这次Hot Chips上Google的tutorial便是“Cloud TPU: Codesigning Architecture and Infrastructure”。这儿并没有太多的介绍TPU架构,而是把重心放在了协同规划上,其的内容也远远超出了NN加快自身。从这儿也能够看出,未来的协同规划不仅仅是NN加快器这一个点,而在“高手过招”傍边,必需求完好考虑整个体系的优化。
source: Hot Chips 2019 [7]
一个风趣的插曲是,当我在朋友圈共享这个内容的时分。一个谈论是“每次这种会上,都会觉得“哇好有道理”,然后一想如同又啥都没说”。其实协同规划的现状也相似,便是看起来很美,做起来不易。
别的,这次会议还有一个来自Stanford AHA Agile Hardware Center的名为“Creating An Agile Hardware Flow”的演说,也是在讲怎样快速进行软硬件协同规划。他们的一个考虑是,协同规划最大的应战在于规划空间太大,为了缩小探究的空间,咱们能够运用CGRA可重构硬件架构作为硬件根底(只需探究CGRA的装备);以Halide DSL作为安稳的软硬件接口,完成优化的解耦。所以,从软硬件协同规划这个视点来看,CGRA架构也是十分值得重视的。这个论题我后面会找时刻具体谈论。
存内核算和“近存储”核算
上一年的Hot Chips上,根据Flash Cell做存内核算的草创公司Mythic很受重视,我也做过比较具体的剖析(Hot Chips 30 - 机器学习)。这一年以来,根据各种memory cell,包含SRAM,DRAM,FLASH和新式存储器材,MRAM,RRAM等等的存内核算草创公司许多出现,十分热烈。其实除了存内核算,还有另一类“近存储”核算。借杜克大学燕博南同学的一张图阐明一下。
其间In-Memory的意思是直接运用存储单元阵列来做核算,一般是模仿办法,经过AD/DA和数字逻辑部分交互。而Near-Memory则是尽量把运算逻辑(处理器或许加快器)放在离存储单元比较近的当地。
在这次的会议上,一个草创公司upmem,尽管自称是PIM,但实践走的是近存储核算的道路。upmem的产品看起来和传统的DRAM颗粒和DIMM没有什么区别,但在每个4Gb DRAM颗粒里嵌入了8个处理器核。
source: Hot Chips 2019 [10]
这是近存储核算的一个很好的比方,在DRAM里的处理器能够分管CPU的作业,削减不必要的数据搬移,当然有许多优点。可是要真实把核算逻辑和DRAM放在一同并不是那么简略的,其间最大的应战便是怎样运用DRAM工艺来支撑处理器规划,下图列举了首要的困难。
source: Hot Chips 2019 [10]
所以,这个演说的许多内容是怎样战胜DRAM工艺的这些困难规划处理器,包含:
1. 在DRAM工艺上树立数字逻辑的flow,比方Logic cell library,SRAM IP和Logic Design & Validation flow,这些是处理器规划和完成的根底;
2. 运用比较“慢”的晶体管规划完成“快”的处理器的办法,14级流水完成500MHz,Interleaved pipeline,24个硬件线程(这个是确保深流水线功率的首要办法)。
3. 不运用Cache,而是Explicit memory hierarchy,这个也和多线程有联系。
4. 优化的指令集,专门强调了没有运用ARM和RISC-V。这儿也解说了,因为不需求运转OS,所以没有必要考虑兼容性问题,只需完成CLANG/LLVM的支撑。
此外,在DRAM中加了这么多处理器核,怎样运用(编程模型)是个问题。在upmem的演说中也剖析了这方面的内容。(此处图配错了,抱愧)
source: Hot Chips 2019 [10]
假如咱们考虑近存储核算,其实还有一个许多存储数据的当地,便是硬盘。因而,现在也有许多的SSD控制器芯片参加的更多的核算功用。比方前一段时刻咱们看到草创公司InnoGrit就在SSD控制器芯片中参加了NDLA专门加快AI运算。当然除了直接在芯片中增强算力,还有一种办法便是在SSD控制器外添加FPGA,比方三星的Smart SSD计划(下图)。在这次Hot Chips的Poster里边,就有一个来自Bigstream的作业是根据Smart SSD构建的运用结构。
source: samsungatfirst.com/smartssd/
总的来说,相对存内核算,不依赖工艺发展的近存储核算或许更简略在短期内落地。但和存内核算相同,近存储核算也需求有完好的软硬件处理计划,不然简略添加的算力或许仅仅是鸡肋。
Reference:
[1] Dr. Lisa Su, "Delivering the Future of High-Performance Computing with System, Software and Silicon Co-Optimization", Hot Chips 2019
[2] Dr. Philip Wong, " What Will the Next Node Offer Us?", Hot Chips 2019
[3] Rangharajan Venkatesan, "A 0.11 pJ/Op, 0.32-128 TOPS, Scalable Multi-Chip-Module-based Deep Neural Network Accelerator Designed with a High-Productivity VLSI Methodology", Hot Chips 2019
[4] Misha Smelyanskiy, "Zion: Facebook Next-Generation Large-memory Unified Training Platform", Hot Chips 2019
[5] Debjit Das Sarma & Ganesh Venkataramanan, "Compute and redundancy solution for Tesla’s Full Self driving computer", Hot Chips 2019
[6] Liao Heng, "A Scalable unified architecture for Neural Network computing from Nano-level to high performance computing", Hot Chips 2019
[7] Ofri Wechsler (speaker) Michael Behar & Bharat Daga (authors), "Spring Hill – Intel’s Data Center Inference Chip", Hot Chips 2019
[8] Sagheer Ahmad & Sridhar Subramanian, "Xilinx Versal/AI Engine", Hot Chips 2019
[9] Speakers: Clifford Chao & Brennan Saeta, "TPU V3 in Google Cloud: Architecture and Infrastructure", Hot Chips 2019
[10] Fabrice Devaux, "True Processing In Memory with DRAM accelerator", Hot Chips 2019