珠海芯动力李原:什么是AI芯片最优解?自研RPP创新架构,将通用性与高性能融合丨GACS2023

李原在演讲中介绍了珠海市芯动力科技的背景和研发原因,提出并行计算有很大爆发区间。他对芯片效率进行了定义并提出计算方式:算法复杂度÷处理器核心复杂度,同时讲出芯片中通用性与效率的平衡问题、人工智能的发展历程,以及CUDA语言在并行计算中的应用。

李原还通过动画演示了RPP架构的芯片设计与实现过程,包括数据流处理方式、环状结构和内部SRAM的优化等。RPP架构具备全方位兼容CUDA的特性,意味着开发者可以直接使用CUDA编程语言编写程序,无需进行复杂的代码转换。目前,芯动力首款基于可重构架构的GPGPU芯片RPP-R8已经流片成功,实现小规模量产。未来,珠海市芯动力科技可能采用Chiplet和I/Odie连接的方式开发下一代产品。

以下为李原的演讲实录:

我们是珠海市芯动力科技,2017年就回到了中国,开始研发新的芯片,我们称之为RPP。我们开发的原因,是在2011年开始就看到了有巨大的并行计算的前景,其实并不是和AI有什么关系,而是看到并行计算将来是很大的爆发区间。

譬如,英伟达这家公司的市值之前比英特尔低了很多,大家都知道最近英伟达的市值远远超过了英特尔,以前是英特尔雄踞榜首多年。我们认为这个趋势表示了并行计算对市场的巨大需求,市场也认可并行计算的巨大空间。

当时在2011年看到的是什么呢?如果把数字芯片做一下分类,起码有通用性、性能两个维度进行分类。CPU、GPU是比较通用性的芯片,它们是一类做处理器的工程师来主导的方向。我们以前在做通讯行业,做的主要方向是ASIC,也用不少FPGA,这种专用芯片占了很大的市场。

但我们看到一个很大的空白区间,也就是可通用性的软件,还有性能非常高的芯片、专用芯片的性能,是否有可能成为同时存在的一种架构。这种芯片在2011年左右是不曾存在的,我们认为,如果有这样的芯片存在,市场需求肯定是巨大的。

首先当时必须要知道什么是芯片的效率。以前谈论了很多,有各种各样的说法,比如芯片的功耗是多少、芯片的面积里面放了多少、能计算多少东西等等,实际上都很不量化。但去给它一个比较严格的量化定义的时候,我们才有可能评估什么是芯片的效率。

简单地说,因为在这个场合我们也没有必要推理一个比较复杂的数学公式,大约是计算单元占处理器核心面积的百分比。

举几个例子来看,去评比一下各种各样的处理器,比如说GPU、CPU、DSP、FPGA,甚至ASIC都可以比较,它们的效率很不一样。

比如这是NVIDIAJetsonXavier这个芯片,用台积电12纳米,GPU的面积大概是90平方毫米,大概能够算出来是占了760MGates,如果做INT8矩阵计算,它相当于12.8MGates的矩阵计算。这样算一下可以很容易得出来计算效率并不高。这是比较先进的架构了,但实际上只有这个GPU的芯片面积的1.6%用于真正的整数计算,效率是不太高的。

再看一下2016年谷歌提出来的TPU,当时是28纳米,矩阵计算Unit、AccumulationUnit、ActivationUnit这三个部分都是参与计算的,其他部分都是辅助单元。把这部分面积算出来,相当于397MGates,能够操作的INT8MAC数量64k,换算出来它的面积效率的确比较高,是21%。其实我们用同样的方法,CPU、FPGA、DSP、ASIC都可以算出来。

ASIC是效率很高的东西,我们以前都是做ASIC的,可以做到尽量让它接近百分之百,但是通用性同时又损失了。如果说我们要达到通用性,同时也要达到高的效率的时候,应该怎么做?

首先要回答什么是通用性。

英特尔、Arm都是非常典型的成功的CPU公司,是通用计算公司,他们使用通用的编程语言而且一代代可以复用,使得客户在这里面长期的投资可以得到保存。

英伟达也是,英伟达使用GPU,开放了CUDA语言以后很多客户在这方面积累了很多的开源代码,也有客户自己写的代码。英伟达开发了非常多的计算库,使得客户非常好地使用起来,这也是英伟达在GPU领域能够得到非常多客户的原因。

但包含德州仪器、ADI等公司在内,现在都几乎停止了DSP的研发,DSP也算是比较有方向感的处理器,但因为DSP由于过分地追求效率,暴露了很多汇编语言,客户使用汇编语言的时候就不方便,而且一代代更新的时候,汇编语言就不能继承,所以失去了市场,代码也不能复用。

ASIC更加糟糕,往往ASIC在开发的时候就把应用程序写到这里面去,比如NPU在作为计算的时候,ASIC可以认为只是做矩阵计算、卷积计算,其实在生态上还是难以形成。

我们认为AI是并行计算的代表,看它是怎么发展的。1950年左右,图灵发表论文思考机器出现,1970年机器推理系统出现,1980年专家系统出现,1990年神经网络出现,2010年深度学习出现,2017年Transformer提出,2023年AIGC出现。从这些变化可以看到,从最初到现在,它的算法程序都在不停地变化。

CUDA语言是通用并行计算语言,基本成为了行业的标准。从2016年,我们是第一家除了英伟达以外的公司,首次采用CUDA语言作为芯片架构的设计方向。英伟达的CUDA语言是非常成熟的,它不停地在研发前进的同时也开创了很多的市场。目前主流的计算平台都是以CUDA语言来进行开发的。

另外一个方向,要看一下芯片的发展规律。在座的各位都是这方面的专家,但是随着摩尔定律的增加,工艺不停地进步,复杂度不停地提升,设计的复杂度也提升,使得计算能力在提升的同时,带来的问题也很明显,关键就是成本。

现在市场接受的是什么?绝大部分市场接受的东西还是CPU+GPU,是不是它的功耗比最高呢?不是。它的计算能力是不是最高呢?也不是,但是它现在变成了最被接受的主流平台。原因大家都知道,它的生态起到了非常重要的作用。

我介绍一下芯动力在并行计算上面的研发历史和我们现在做到的成绩。

从芯动力最早的研发开始,我自己在博士期间做的东西就是专用的芯片,当时在Turbo译码器出现的时候,我就研发高度并行的Turbo译码器;2008年我们做了第一家初创公司,做通用的卫星通讯算法的芯片,这也是高度并行的计算;后来Turbo译码器商用成功以后,被英特尔收购,进入了英特尔的服务器;之后又做出来了基站,也是一个高度并行的计算,其实是软件化的一颗非常高度并行计算的芯片。

2011年第一家公司被并入英特尔之后,我们就提出来了计算效率的定义,开始并行计算的探索,刚开始从CGRA开始,也就是粗粒度可重构阵列开始的。我们知道语言对于一个芯片是至关重要的时候,就提出来使用CUDA语言重新构造一个并行计算芯片,这时候提出了“RPP”的概念,这也是一个数据流的方式。

在那之后,对于compiler(编译器)的研究变成非常重要的事情。后来在工作中才发现,在这个架构中,寄存器和并行处理器里面的连线是同一个意思。由于这一点,我们攻克了编译器的难关,直接达到了能够使用CUDA编译器,之后逐渐把这个芯片得到应用,现在已经在好几个领域得到了应用,已经开始小批量出货了。

当有并行计算的时候,并行计算的种类其实很多,我们现在讨论其中的一种,也就是CUDA语言所定义的SIMT的并行计算。多数据、单指令的计算方式现在成为主流,这种方式做的事情跟原来C语言能描述的事情完全一样,只是它的数据很多,英伟达认为它是多线程,所以用SIMT的方式来描述。当然也可以用原来的方式去计算,但这种方式的效率并不高。

什么样的效率更高呢?也就是现在碰到的问题,是不是存在一种在并行计算里面的通用性和性能高度融合的东西?

经过了从2011年到2016年期间五年的研究,我们终于发现这个事情是存在的。我们把这个东西命名为RPP,也就是数据流的处理方式。它使用的是CUDA语言,ASIC可以用CUDA语言来执行这个程序,达到性能和通用性双方的结合,但前提必须是并行计算。

并行计算的特点是什么?比如说在专用芯片里面,NPU性能比较高,但专用性太强,可能难以编程,GPU是一种非常通用的芯片架构,但效率并不高,RPP把两种结合在一起,也就是达到效率很高的同时,通用性也和CUDA语言兼容。

这里用一个动画来演示一下实现方式。指令由SEQ进行解码,解码下来的指令会下发给每一个计算单元,叫PE。当PE接收到指令之后可以驱动数据,把数据进行计算,往下一个指令进行下发。指令排布好以后,就形成一个数据流,这样的数据流是有限的,我们只是使用了CUDA语言定义的所有指令形成了一个数据流,在有限的数据流之中形成一个环状,让它可以无限地延伸,这样的方法可以对于任何的CUDA语言进行数据流的执行方式,直到它把所有指令都做完,就会把数据存回内存里面去。这做到和英伟达CUDA语言的指令集兼容,它只是在空间的执行方式而已。

但为了实现这么大的系统,要把它做成一个后端并不容易,因为它需要跑很高的频率。动画显示了如何在一开始就必须得从后端进行设计,把芯片由后端去设计前端驱动的方式做完。我们有32个PE,这个PE放的位置的排列组合非常多,但数据流的本身可以形成一个环状。

我们又有很多的SRAM来把数据进行适配,比较直接的想法就是形成一个环状,32个PE形成一个环状之后,可以把数据进行很好的连接,但这样带来的问题就是内存的大小被控制在内部不能变。

我们后来采取了扁平状的环,使得内存分布在两边,每一个PE可以到达SRAM的任何一点。这样整个空间就由一个非常狭窄的22平方毫米的面积来组成。SRAM起到了一个很大的缓存,大大地减小了由片外DDR内存达不到的功耗效率。这样的设计使得整个面积只有22平方毫米,对GPU来讲提高了大概7倍的芯片利用面积。

把这个芯片制作成功以后,大概是32TINT8算力的芯片,已经流片成功并且进行了商用。我们把这颗芯片也拿回来做芯片效率的回访,芯片效率是12%,也就是说它和TPU相比,第一代TPU只做INT8,我们在这里面还要做浮点,当然效率会低一点,把这几个效率相比之后,可以看到,RPP的芯片效率和TPU的效率比较接近。

还可以看一下功耗效率,由于这个架构已经形成了一条流水线,功耗效率也很高。拿它和A100的7纳米的芯片效率进行比较,可以看到,实测的效率远远超过了7纳米芯片的功耗效率。利用这样的芯片研发技术,完全可以在成熟的14纳米的工艺上,完成一个7纳米A100的等价性能,完全可以做到。

和其他性能之间的比较:RPP是一个综合性能比较均匀的芯片,它部署比较快,因为它是用大家都所接受的CUDA语言来进行编程的;成本比较低,因为它的芯片面积远远小于现在GPU的芯片面积;功耗也远远小于GPU的功耗,性能比同样的GPU更高,应用也非常广泛。所以这个方向上这么多种不同类型的芯片,相比GPU、NPU、CPU等,RPP对并行计算来讲是比较适合的类型。

在应用场景上,我们除了开发了AI,比如泛安防的领域以外,也开发了传统的CUDA语言能涉及的领域,比如信号处理、医疗影像等等,完全是非AI的一些计算。我们已经完全超过了同等的DSP和FPGA的性能,所以在边缘端现在得到了很多客户的认可。

我们非常认同Chiplet带来的价值,在下一代产品会把Chiplet和I/Odie进行连接,形成在边缘端更加适合的芯片,类似SOC的解决方案。在算力提升的方向,使用Chiplet的技术把多颗核心进行连接,提供更高的计算能力。我今天的讲解就到这里,谢谢大家!

THE END
1.投资者提问:请问开发ai芯片的聆思科技和贵公司什么关系?贵公司ai...请问开发ai芯片的聆思科技和贵公司什么关系?贵公司ai大模型预计什么时候发布 董秘回答(科大讯飞SZ002230): 您好,聆思科技是科大讯飞的生态合作伙伴之一。讯飞依托认知智能全国重点实验室(科技部首批20家标杆全国重点实验室之一)的长期积累,于2022年12月份启动生成式预训练大模型“1+N”任务攻关,其中“1”是通用认知智...https://finance.sina.cn/stock/relnews/dongmiqa/2023-03-25/detail-imynaxuw2584040.d.html
1.AI芯片最强科普机器之心GPU短期将延续AI芯片的领导地位。目前GPU是市场上用于AI计算最成熟应用最广泛的通用型芯片,在算法技术和应用层次尚浅时期,GPU由于其强大的计算能力、较低的研发成本和通用性将继续占领AI芯片的主要市场份额。GPU的领军厂商英伟达仍在不断探寻GPU的技术突破,新推出的Volta架构使得GPU一定程度上克服了在深度学习推理阶段的...https://www.jiqizhixin.com/articles/2018-12-24-5
2.ai芯片是什么东西ai芯片和普通芯片的区别ai芯片是什么东西 ai芯片和普通芯片的区别 AI芯片是专门为人工智能应用设计的处理器,它们能够高效地执行AI算法,特别是机器学习和深度学习任务。AI芯片可以根据设计和应用的不同,大致分为以下几类: 1.通用芯片:这类芯片经过软硬件优化,可以高效支持AI应用,例如GPU(图形处理单元)和FPGA(现场可编程门阵列)。https://www.elecfans.com/d/2558003.html
3.AI芯片是什么?这种技术如何推动人工智能的发展和应用?在当今科技飞速发展的时代,AI 芯片作为一项关键技术,正以前所未有的影响力推动着人工智能的进步,并在众多领域实现广泛应用。 AI 芯片,顾名思义,是专门为人工智能计算任务而设计的芯片。与传统芯片相比,它具有独特的架构和优化,能够高效处理大量的数据和复杂的算法。 https://funds.hexun.com/2024-09-25/214709992.html
4.什么是人工智能芯片,什么是人工智能芯片?人工智能大家好,今天小编关注到一个比较有意思的话题,就是关于什么是人工智能芯片的问题,于是小编就整理了6个相关介绍什么是人工智能芯片的解答,让我们一起看看吧。 什么是ai芯片? al芯片是指是能处理AI通用任务且具有核心知识产权(IP)的处理器; 是融合运营AI算法的普通处理器; ...http://www.92mobi.com/rgzn/9f1b30ca2539968d.html
5.所谓的AI芯片到底指什么?ai芯片是什么所谓的AI芯片到底指什么? 进入公司AI产业快有3个年头,AI芯片和传统芯片,甚至AI芯片和GPU,还有AI芯片的发展历史,面向未来场景的挑战都有很多话题,下面我们一起来聊聊AI芯片和传统芯片的区别哈。 芯片是半导体元件产品的统称,而集成电路,缩写是IC,就是将电路小型化,通过电子学和光学,将电路制造在半导体晶圆上面。https://blog.csdn.net/m0_37046057/article/details/121172739
6.AI芯片概念是什么?(附十大概念股)AI芯片概念是什么?(附十大概念股) 所谓的AI芯片概念,泛指专门用于处理人工智能应用中的计算任务的模块,是诞生于人工智能应用快速发展时代的处理计算任务硬件,广义来讲,凡是面向人工智能应用的芯片均被称为AI芯片。 主要的技术路线有三种:通用型(GPU)、半定制型(FPGA)、定制型(ASIC)。https://ee.ofweek.com/2023-04/ART-8500-2816-30594232.html
7.AI芯片概述四强科技CPU可以拿来执行AI算法,但因为内部有大量其他逻辑,而这些逻辑对于目前的AI算法来说是完全用不上的,所以,自然造成CPU并不能达到最优的性价比。因此,具有海量并行计算能力、能够加速AI计算的AI芯片应运而生。 二、什么是AI芯片 一般的说,AI芯片被称为AI加速器或计算卡,即专门用于加速AI应用中的大量计算任务的模块(...https://www.forthlink.com/gov/10788
8.什么是AI视觉感知芯片?视觉芯片作为从物理世界到数字孪生世界最重要的入口,受到了广泛的关注,尤其是那些能够恢复80%-90%物理世界的芯片AI视觉感知芯片。 那么什么是AI视觉感知芯片呢?从需求端的角度来看,AI视觉感知芯片需要具备两大功能:一是看得清楚,二是看得懂,其中AI-ISP负责的是看得清楚,AI-NPU负责看懂。 https://www.sensorexpert.com.cn/article/78508.html
9.英伟达价值1万美元的芯片是什么样的?它将成为AI行业的“主力...英伟达价值1万美元的芯片是什么样的?它将成为AI行业的“主力” 财联社消息,目前人工智能(AI)正在科技行业掀起一股淘金热。 正当微软、谷歌等大型科技公司着眼于将尖端的AI技术集成到他们的搜索引擎中、努力开发AI软件时,英伟达正试图在它最擅长的芯片领域开拓出一条新的道路。https://www.cqcb.com/shuzijingji/2023-02-24/5182646.html
10.什么是NPU:AI芯片的未来,你需要了解的一些事虽然GPU 和 CPU 也能执行 AI 计算,但 NPU 能将这些计算分解成更小的部分,从而实现更快速的处理。 推荐阅读:NPU 与 GPU 有什么区别? NPU 与 TPU Google Cloud TPU Google 开发的 TPU 同样专注于处理神经网络,与 NPU 功能相似。但它们在架构上有显著的不同。 https://www.sysgeek.cn/www.sysgeek.cn/what-is-npu/
11.AI芯片:前沿技术与创新未来本书从人工智能(AI)的发展历史讲起,介绍了目前非常热门的深度学习加速芯片和基于神经形态计算的类脑芯片的相关算法、架构、电路等,并介绍了近年来产业界和学术界一些著名的AI芯片,包括生成对抗网络芯片和深度强化学习芯片等。本书着重介绍了用创新的思维来设计AI芯片的各种计算范式,以及下一代AI芯片的几种范例,包括量...https://labs.epubit.com/bookDetails?id=UB77c78956e3aef