2024年8月19日,“第四届滴水湖中国RISC-V产业论坛”在上海滴水湖洲际酒店召开。北京大学讲席教授、RISC-V国际基金会人工智能与机器学习专委会主席谢涛做了主题为《万物智联时代RISC-V+AI之路》,介绍了国产AI芯片产业如何打破英伟达CUDA生态的垄断。
近年来随着AI的爆发,国产AI芯片也获得了快速的发展,但是同时国产AI芯片也面临着美国对华先进制程技术封锁。此外,在软件生态方面,国产AI芯片的软件生态的发展也面临着英伟达CUDA生态的制约。
众所周知,GPU多年前一直被用于图形任务处理,直到2012年,英伟达为了推动GPU能够用于AI计算加速而对于GPU进行改造,采用Tensor Core(张量计算单元),随后推出了一种协助“CPU任务分发+GPU并行处理”的编程模型/平台——CUDA。随后经过10来年的市场培育与发展,CUDA已经成为了全球最大AI软件开发平台,目前已经拥有了近500万名使用英伟达CUDA语言和接口的开发者,形成了一个非常庞大的生态系统,成为了英伟达统治AI芯片市场最为核心的“护城河”。为此,英伟达已累计为CUDA生态投入了高达120亿美元的资金。
相比之下,不论是其他的国际AI芯片厂商,还是近年来迅速成长起来的国产AI芯片公司在软件生态方面都是非常的薄弱。因此,这些公司本着“打不过就加入”的思路,选择兼容CUDA软件生态、特别是走GPGPU路线的做法来助力自身的发展。
谢涛指出,这样的一个道路虽然能够解燃眉之急,但是长远来看它还是受制于人。当然,目前走非CUDA路线的AI芯片公司,整体上也是呈“小、散、弱”的局面。这主要是由于:1、指令集不统一,硬件架构分散;2、软件栈不统一,用户学习成本高;3、算子覆盖度低,用户迁移成本高;4、企业各自为战,没有足够的生态竞争力。
那么,可否借鉴开源的安卓生态( 多样化的硬件选择、开放源代码的自由度、广泛的应用和服务)或者封闭的iOS生态(高度整合协同的硬件和软件、卓越的用户体验、安全性的保障)的模式,来突破英伟达CUDA生态的封锁呢?
利用开源的RISC-V生态
对此,谢涛认为,我们可以利用开源的RISC-V生态来团结大家,一起本着开源、开放的原则去共建生态可能更有机会。
此前,中国科学院孙凝晖对信息技术新体系的思考(中国科学院院刊2022.37)当中,对于建立高水平自立自强的计算技术新体系,也有提到三种模式:
A体系(高铁模式):我国信息化的主流平台被x86、ARM生态所占领,还光、海思等国产处理器的道路强调“全兼容”——“离了你,我不行。”
B体系(北斗模式):强调全自主,以龙芯和申威为代表,因为不跟市场主流兼容,所以生态弱——“离了你、我勉强行。”
C体系(5G模式):走全开放的道路,全世界一起来建生态,谁也不控制谁,谁也不能卡谁。比如:RISC-V——“你中有我、我中有你。”
目前,在CUDA相关的AI软件生态垄断下,其实国产AI芯片厂商“A体系”、“B体系”路线都有在做。
比如,A体系:加入CUDA阵营,比如壁仞、阿里平头哥等。虽然能够享受英伟达CUDA生态所带来的各种资源加持,有助于自身的快速发展,但是这种研发永远处于“跟随”状态,被人牵着鼻子走、难以绕过大量专利,只能靠开源的编译器规避诉讼虽然容易获得客户,并且反而加强了CUDA生态。英伟达每发布新一代的新一版本CUDA的时候,会加进去会很好发挥新一代英伟达芯片特性特点的这些API,通过这个手段每次发布新的CUDA版本都能托其它的芯片公司几年。这也是一个可能的风险,哪一天开源编译器也不能用、不能编译非英伟达的AI芯片,这个时候对采用这个路线的企业来说就是一个很大的冲击了。
B体系:自定义编程语言,比如华为昇腾、寒武纪等。面临着成本高昂:各公司需维护一整套软件工程团队,积累数十年研发投入;人才稀缺:系统软件、编程语言、编译器人才稀缺;力量分散:各公司各自为战,难以形成有效合力与CUDA抗衡等众多的挑战。
那么,RISC-V作为一个开源、开放的CPU指令集,谈AI芯片及软件生态又与CPU指令集有什么关系呢?
在今年的世界人工智能大会上,RISC-V国际基金会理事长戴路就有指出:“RISC-V是最适合AI的指令集架构。”知名RISC-V AI芯片厂商TenstorrentInc首席CPU构架师练维汉也表示:“RISC-V架构更适合做AI计算”。
谢涛总结认为,RISC-V AI芯片的两种主要模式:
1、Integrated模式(紧耦合):适合低功耗领域(RISC-V+AI),以CPU主干为骨架,集成在CPU内部,共享PC、寄存器堆等流水线单元,只是在执行单元部分增加了矩阵或向量单元;
2、Attached模式(松耦合):适合大算力领域(AI+RISC-V),外挂在CPU上的,会有自己独立的流水线、寄存器堆、缓存等。它是“协处理器”,它可以接收来自一个或多个CPU的指令,异步地执行不同CPU提交过来的任务。
那么基于RISC-V构建AI算力有什么优势呢?
1、开放与灵活性。AI工作负载变化快,需要特定的优化才能达到最佳性能;RISC-V开放免费的特性为芯片设计者提供了极大的灵活性,可以根据具体需求定制AI加速器;
2、高度可扩展性。RISC-V的指令集精简且高度扩展,设计者可以根据需要添加自定义指令集扩展,以增强AI计算的性能和效率。例如:可以增加向量扩展或其他专用于AI的指令集,从而提升计算速度和能效;
3、功耗和效率优势。RISC-V架构通过简洁设计和定制化扩展,可实现高效的能量使用;RISC-V架构能够通过小型且高效的处理单元,减少等待数据传输的时间,提升整体计算效率;
4、加速壮大的RISC-V生态系统和社区支持。根据RISC-V产业年鉴显示:2023年全球RISC-V出货量约200亿颗,采用了RISC-V架构的SoC芯片出货量超过了10亿颗,RISC-V全球市场规模接近8亿、预计今年将接近10亿。截至2023年底,RISC-V国际基金会已经拥有了4423个成员,同比增长28%,遍布全球70多个国家。可以说,RISC-V生态的多样性和开放性吸引了全球大量开发者和企业加入,为RISC-V的发展提供了强大的推动力和丰富的软件及IP资源,在RISC-V+AI领域具备了良好的发展前景。
对于国产RISC-V+AI生态来说,目前也是机遇与挑战并存。谢涛指出,主要的挑战包括:生态碎片化;资源投入严重不足;缺少组织统筹;产学研协同不紧。
那么,如何来应对这些挑战呢?谢涛给出了自己的思路,将主要围绕以下三点来进行创新:
1、自下而上。以RISC-V指令集扩展(推动成RISC-V国际基金会标准)+开源系统软件栈为公共开源根去利用国际开放/开源社区去长叶(基于开源根的商业软件/芯片),形成“根技术开源”与“叶技术竞争”的技术生态布局。
2、从端到云。聚焦边缘/中断侧(多样性、碎片化且大数量算力场景,比如:智能终端、AIPC等)来推动软件生态的发展与应用,以带动云上的软件生态。
3、工具创新。依托日益强大的RISC-V软硬件生态去聚焦全球开源工具创新。
“现在万物智联时代,大家在‘端’上可以作为出发点、最后再去以‘农村包围城市’这样的形式在‘云’上和英伟达进行抗衡。我们现在做的不是说像英伟达那样人海战术450万开发者大军做起来,我们是聚焦在系统软件栈、编译等组织全球力量一起去发展和建设。”谢涛进一步解释道。
支持“国际标准”+共建“开源社区”两手抓
除了自主创新之外,要想打破英伟达CUDA生态的垄断,谢涛表示,我们需要坚持“国际标准+开源社区”两抓手。
首先,我们应该以推动RISC-V国际标准为抓手,到国际上去借力。把握“根技术”从我国领军企业共识出发,快速布局新时代的新市场(智能终端、AIPC等),以推动RISC-V国际基金会标准来依托上游国际开源社区来贡献系统软件栈。
RISC-V国际基金会推标准是“自下而上”的,需要重多的RISC-V企业共同来推动,虽然大家可能有竞争,但是也有“共同的目标”,所以我们不能只推中国国内的标准,我们也要继续支持RISC-V国际基金会的标准,并积极参与标准的制定。而且推标准也不是目的,是手段,形成标准之后,这些各大的国际开源主流社区,就会自然的支持你的更新迭代,也会带来第三方的维护。通常芯片公司要养2/3的工程师都是软件工程师,现在这种方式极大的减负了,使得整个生态可以一起来分担。
其次,我们可以以共建国际开源软件生态为抓手,到国际上借力。因为CUDA这个生态在AI领域的垄断地位,使得AMD、英特尔、谷歌、微软等等厂商都不希望英伟达CUDA一家独大。比如高通、谷歌和英特尔计划联手打造全新的AI软件平台,来替代CUDA。
另一方面,RISC-V也不是一个排他的思路,英伟达未来可能也会去拥抱它。英伟达开源的系统软件栈Triton,虽然主要是支撑英伟达的GPGPU,(相当于它是一个“大烟囱”),但是现在也有一些国际公司很看好Triton生态,也是为它壮大生态、都做成了小烟囱。比如:寒武纪也针对Triton发布一些对寒武纪比较优化的算子。所以,大家也可以通过RISC-V团结起来,形成另外一个平行的“大烟囱”,因为英伟达也是积极的支持Triton生态。为了同一个事情我们可以去借力,然后用RISC-V把大家团结起来。包括谷歌等其它厂商也会慢慢的扩展,也许又成为另外一个大烟囱,一起把开放开源的Triton生态做大。
另外就是英特尔主推的SYCL,它也是一个我们依托国际方兴未艾、能够很有生命力、发展很快的软件生态之一。在这个场景下,北京开源芯片研究院今年成立了多个指令标准集工作组,团结全国的力量来在这方面推动。包括:在今年过年前也发起了一个“甲辰计划”,呼吁大家一起来建设软硬件的生态,目前也有超过40家的开源社区企业加入一起去推动RISC-V的开源生态。
编辑:芯智讯-浪客剑