Krste Asanovic:RISC-V AI 从向量到矩阵的架构选择与挑战
7月18日,第五届RISC-V中国峰会在上海进入分论坛环节。作为未来电子产业最庞大的应用范畴之一,人工智能是不可回避的话题。人工智能的飞速发展,正以年均超过100%的算力需求增长驱动底层架构的革新,“开放、灵活、可定制”的RISC-V已成为构建自主AI算力基石的战略支点。
人工智能分论坛邀请各方企业探讨RISC-V架构如何利用其开源、开放、可扩展的特性,实现AI计算架构的革新,以及RISC-V架构在AI软硬件的最新进展和应用落地情况。其中,SiFive联合创始人、首席架构师 Krste Asanovic现场分享了他对RISC-V AI指令扩展的看法,他全面阐述了从向量到矩阵的架构选择与挑战。
在人工智能用例和人工智能模型中,共同的特点是需要对小型、专门的数据类型进行大量计算。因此,人工智能中使用的数据类型往往很小,而且越来越小。但是现在从FP-32到FP16BF的进程属于在不断扩大。另外一个问题是需要大量的内存来保存所有参数,这就是为什么要专注于减小每个单独参数的大小,并找到巧妙的方法来管理缩放和避免量化问题。现在,拥有如此大的内存占用和需要进行大量计算的组合意味着你需要大量的内存带宽来获取所有这些参数,并在层之间传送。
RISC-V在AI中支持的是通用计算模型,这意味着要支持标量、向量和现在的矩阵功能。有趣的是有时人工智能是其他应用程序的技术组成部分。因此你需要一个能够处理通用计算和人工智能计算的处理器。开发者经常发现的是新型人工智能模型的发展非常快,所以这些模型都可以在旧硬件上进行得相当好,得益于旧硬件具有通用的标量向量矩阵功能,而新模型往往使用这些功能的不同组合。但是如果你的机器是通用的,并且可以支持所有这些,那么它可以很好地运行新模型。另一件事是在同一代模型中不同的用例使用标量、向量、矩阵功能的不同组合来处理该应用程序所需的任何功能。因此风险波的一个重要部分是向量扩展。RVV在几年前批准,它是一个非常强大的矢量扩展。矢量对人工智能非常重要。尽管人们对矩阵计算给予了很多关注,但人工智能中有许多关键步骤是矩阵引擎无法完成的。你需要使用向量来进行计算,RVV旨在支持多种数据类型。
RISC-V矩阵扩展是RISC-V去年最热门的话题。原因是矩阵将关键组件相乘,以加快人工智能应用程序的发展。它被用于从小到大的各种RISC-V应用中。RISC-V内核有许多形状和尺寸,因此在矩阵乘法空间中尝试不同选项的活动很多。好消息是与向量不同的矩阵乘法函数的数量要少得多。如果你在向量库中察看,可能会有成千上万的函数进行向量运算,但在矩阵惩罚库中,可能有十个或数百个函数。我试着把所有东西从左到右放在一张幻灯片上,您可以看到这些不同矩阵引擎的复杂性。为了提高性能,你真的需要添加一些特殊的矩阵引擎,这由接下来的两个选项表示,其中红色框是添加的。在矩阵中进行加法运算和累加器会相乘。
矢量矩阵方法:添加新的大矩阵累加器状态以保持C,C状态可能被划分为一个或多个图块。使用RVV向量为Matmul提供源操作数A和不。外产品样式矩阵乘以C,可能对较窄的输入类型“fat”K>1的支持。支持C行/列移动到向量寄存器或夹在、存储到内存,矩阵引擎可以提供非常高的吞吐量,C累加器状态位于算术单元附近。
替代矩阵指令扩展:
批次点产品:无其他矩阵状态。在较小的矢量长度下进行小而有效的扩大,也可以满足一些DSP需求,但不能在较大的矢量长度上扩展性能。
向量中的矩阵:没有额外的矩阵状态,对于较长的矢量长度、允许比点积更大的吞吐量。
向量矩阵:将矩阵状态添加到已经具有RVV的处理器中,维护矢量ISA的内存模型。
分离矩阵:无约束矩阵和向量设计,最大的设计空间和软件工作,将需要最多的时间来融合。
所有的行动,包括适量行动都将极大地利用我们的努力来支持这一点。因此我认为这将需要最长的时间来收敛,但这是RISC-V目前为矩阵扩系所遵循的四条轨道。第一个实际上是更像是一个向量扩展,而一个主要的扩展。所以你可以说有一个快速向量扩展的三个矩阵扩展,这就是现在的解决方案。在RISC-V Intermational我们必须标准化,就标准达成一致。我们还比较确保软件社区知道要瞄准什么。
关键词: RISC-V 中国峰会 Krste Asanovic AI 向量 矩阵

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码