0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RISC-V架构下AI融合算力及其软件栈实践

进迭时空 2025-06-06 17:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

面对未来大模型(LLM)、AIGC等智能化浪潮的挑战,进迭时空在RISC-V方向全面布局,通过精心设计的RISC-V DSA架构以及软硬一体的优化策略,将全力为未来打造高效且易用的AI算力解决方案。目前,进迭时空已经取得了显著的进展,成功推出了第一个版本的智算核(带AI融合算力的智算CPU)以及配套的AI软件栈。

软件栈简介

AI算法部署旨在将抽象描述的多框架算法模型,落地应用至具体的芯片平台,一般采用CPU、GPU、NPU等相关载体。在目前的边缘和端侧计算生态中,大家普遍认为传统CPU相较于NPU有极大的成本劣势,并且缺少基于CPU定制AI算力的能力或者相关授权,导致在实际落地场景中,NPU的使用率很高。但是NPU有其致命的缺点,各家NPU都拥有独特的软件栈,其生态相对封闭,缺乏与其他平台的互操作性,导致资源难以共享和整合。对于用户而言,NPU内部机制不透明,使得基于NPU的二次开发,如部署私有的创新算子,往往需要牵涉到芯片厂商,IP厂商和软件栈维护方,研发难度较大。着眼于这些实际的需求和问题,我们的智算核在设计和生态上采取了开放策略。以通用CPU为基础,结合少量DSA定制(符合RISC-V IME扩展框架)和大量微架构创新,以通用CPU的包容性最大程度复用开源生态的成果,在兼容开源生态的前提下,提供TOPS级别的AI算力,加速边缘AI。这意味着我们可以避免低质量的重复开发,并充分利用开源资源的丰富性和灵活性,以较小的投入快速部署和使用智算核。这种开放性和兼容性不仅降低了部署大量现有AI模型的门槛,还为用户提供了更多的创新可能性,使得AI解决方案不再是一个专门的领域,而是每个程序员都可以参与和创新的领域。

4083eea4-42b5-11f0-986f-92fbcf53809c.png

(图一:进迭时空AI软件栈架构)如上图所示,基于进迭时空的AI技术路线,我们能轻松的以轻量化插件的方式,无感融入到每一个AI算法部署框架中,目前我们以ONNXRuntime为基础,结合深度调优的加速后端,就可以成功的将模型高效的部署到我们的芯片上。对于用户来说,如果有ONNXRuntime的使用经验,就可以无缝衔接。加入进迭时空插件的使用方式如下:C/C++

C++
#include
#include "spacemit_ort_env.h"

std::string net_param_path = "your_onnx_model.onnx";

Ort::Env env(ORT_LOGGING_LEVEL_WARNING, "ort-demo");
Ort::SessionOptions session_options;

// 可选加载SpaceMIT环境初始化加载专属EP
Ort::SessionOptionsSpaceMITEnvInit(session_options);
Ort::Session session(env, net_param_path, session_options);

// 加载输入
// .......
auto output_tensors = session.Run(Ort::RunOptions{nullptr}, input_node_names.data(), &input_tensor, input_count,
output_node_names.data(), output_count);

Python

Python
import onnxruntime as ort
import numpy as np
import spacemit_ort

net_param_path = "resnet18.q.onnx"
session = ort.InferenceSession(net_param_path, providers=["SpaceMITExecutionProvider"])
input_tensor = np.ones((1, 3, 224, 224), dtype=np.float32)
outputs = session.run(None, {"data": input_tensor})

通过开放的软件栈,使得我们的芯片能够在短时间内支持大量开源模型的部署,目前已累计验证了包括图像分类、图像分割、目标检测、语音识别、自然语言理解等多个场景的约150个模型的优化部署,timm、onnx modelzooppl modelzoo等开源模型仓库的支持通过率接近100%,而且理论上我们能够支持所有的公开onnx模型。智算核的软硬协同优化

在保证通用性和易用性的同时,我们利用智算核的特点,极大优化了模型推理效率。

离线优化

离线优化包含常见的等价计算图优化(如常量折叠、算子融合、公共子表达式消除等)、模型量化等,其中模型量化将浮点计算映射为低位定点计算,是其中效果最显著的优化方式。在智算核融合算力的加持下,算子可编程性很高,相较于NPU固化的量化计算方式,智算核能够根据模型应用特点,匹配更宽泛的数据分布,实现量化计算的精细化、多样化,以便于在更小的计算与带宽负载下,实现更高的推理效率。

运行时优化

区别于NPU系统中,AI算子会根据NPU支持与否,优先调度到NPU上执行,并以host CPU作为备选执行的方式。进迭时空的智算核采用了扩展AI指令的设计,以强大的vector算力和scalar算力作为支撑,确保任意算子都能够在智算核上得到有效执行,无需担心算子支持或调度问题。这种设计不仅简化了用户的操作流程,还大大提高了模型的执行效率和稳定性。

此外,进迭时空的智算核还支持多核协同工作,进一步提升了AI算力。用户只需在运行时通过简单的线程调度,即可灵活调整所使用的AI算力资源。

AI算力指令基础

智算核的AI算力主要来自扩展的AI指令。我们针对AI应用中算力占比最高的卷积和矩阵乘法,基于RISCV Vector 1.0 基础指令,新增了专用加速指令。遵从RISCV社区IME group的方式,复用了Vector寄存器资源,以极小的硬件代价,就能给AI应用带来10倍以上的性能提升。

AI扩展指令按功能分为点积矩阵乘累加指令(后面简称矩阵累加指令)和滑窗点积矩阵乘累加指令(后面简称滑窗累加指令)两大类,矩阵累加指令和滑窗累加指令组合,可以转化成卷积计算指令。

以256位的向量矩阵配合4*8*4的mac单元为例,量化后的8比特输入数据在向量寄存器中的排布,需要被看成是4行8列的二维矩阵;而量化后的8比特权重数据在寄存器中的排布,会被看成是8行4列的二维矩阵,两者通过矩阵乘法,得到4行4列输出数据矩阵,由于输出数据是32比特的,需要两个向量寄存器存放结果。

如图二所示,为矩阵累加指令,输入数据只从VS1中读取,权重数据从VS2中读取,两者进行矩阵乘法。

40b03338-42b5-11f0-986f-92fbcf53809c.png

(图二:矩阵累加指令数据排布示例)

如图三所示,为滑窗累加指令,输入数据从VS1和VS1+1中读取,读取的数据,通过滑动的大小决定(大小为8的倍数),权重数据从VS2中读取,两者进行矩阵乘法。

40dc0616-42b5-11f0-986f-92fbcf53809c.png

(图三:滑窗累加指令数据排布示例)

如下图所示,9个红点对应的9行输入数据(1*k维)和权重进行乘累加计算,就得到了一个卷积值。在做卷积计算的时候,可以把矩阵乘法看成是滑动为零的滑窗指令。通过滑动0,1,2三条指令的计算,就可以完成kernel size 为3x1的的卷积计算。然后通过h维度的三次循环,就可以得到kernel size 为3x3的卷积计算。

40f882e6-42b5-11f0-986f-92fbcf53809c.png

(图四:滑窗累加指令结合矩阵累加指令计算卷积示例)

同样通过滑动0,1,2,0,1五条指令的计算,和h维度五次循环,就可以完成kernel size为5x5的卷积计算,以此类推,可以得到任意kernel size的卷积计算。

效果演示视频


通过以上软硬件协同优化,我们在多任务推理时,也有非常高的性能。展望

前文提到,通过ONNX与ONNXRuntime的结合,我们能够便捷地接入开源生态,但这仅仅是实现接入的众多方式之一。实际上,我们还可以充分利用当前备受瞩目的MLIR生态,进一步融入开源的广阔天地。这种方式不仅充满想象力,而且具备诸多优势。

首先,它能够实现模型的直接原生部署。举例来说,当我们拥有一个PyTorch模型时,借助torch.compile功能,我们可以直接将模型部署到目标平台上,无需繁琐的转换和适配过程,极大地提升了部署的便捷性。

其次,MLIR生态与LLVM的紧密结合为我们提供了强大的codegen能力。这意味着我们可以利用LLVM丰富的生态系统和工具链,进行代码生成和优化,从而进一步降低AI软件栈的开发成本。通过codegen,我们可以将高级别的模型描述转化为底层高效的机器代码,实现性能的最优化。

411d2c9a-42b5-11f0-986f-92fbcf53809c.png

(图五:进迭时空AI软件栈架构规划)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    88

    文章

    35164

    浏览量

    279952
  • RISC-V
    +关注

    关注

    46

    文章

    2572

    浏览量

    48831
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Banana Pi BPI-F3 进迭时空RISC-V架构AI融合算及其软件实践

    面对未来大模型(LLM)、AIGC等智能化浪潮的挑战,进迭时空在RISC-V方向全面布局,通过精心设计的RISC-V DSA架构以及软硬一体的优化策略,将全力为未来打造高效且易用的AI
    的头像 发表于 09-07 14:01 1975次阅读
    Banana Pi BPI-F3 进迭时空<b class='flag-5'>RISC-V</b><b class='flag-5'>架构</b><b class='flag-5'>下</b>,<b class='flag-5'>AI</b><b class='flag-5'>融合算</b><b class='flag-5'>力</b><b class='flag-5'>及其</b><b class='flag-5'>软件</b><b class='flag-5'>栈</b><b class='flag-5'>实践</b>

    risc-v多核芯片在AI方面的应用

    在极低的能耗实现高效的AI元器件的运行。这对于需要长时间运行和依赖电池供电的AI设备来说尤为重要。 其次,RISC-V的模块化架构允许其不
    发表于 04-28 09:20

    RISC-V,即将进入应用的爆发期

    我们会迎来前所未见的AI软件应用,而RISC-V有望打造出下一代的AI引擎。” 达摩院院长张建锋此前在3月2024玄铁RISC-V生态大会表
    发表于 10-31 16:06

    关于RISC-V学习路线图推荐

    架构(ISA)、流水线、内存层次结构等。 编程语言 : 熟悉C/C++或Rust等编程语言,这些是RISC-V架构常用的编程语言。C语言必须好好学习,这是基础哦。 二、
    发表于 11-30 15:21

    RISC-V 生态架构浅析

    RISC-V 生态架构浅析前言RISC-V最近越来越多的出现在科技新闻中,大量的公司加入到RISC-V研究和生产中。在越来越多的RISC-V
    发表于 06-22 16:51

    科普RISC-V生态架构(认识RISC-V)

    RISC-V 生态架构浅析前言RISC-V最近越来越多的出现在科技新闻中,大量的公司加入到RISC-V研究和生产中。在越来越多的RISC-V
    发表于 08-02 11:50

    RISC-V 生态架构浅析

    RISC-V的神秘面纱,提前了解一RISC-V究竟是什么。什么是RISC-VRISC-V应该泛指RISC-V指令集
    发表于 06-18 19:59

    RISC-V架构简介

    集(RISC)原则的开源指令集架构(ISA)。与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和
    发表于 07-28 07:46

    ​GPU,RISC-V的长痛

    具备与多种处理器架构协同工作的潜质,其B系列更是可以达到最高6TFLOPS的算,对于视觉计算优异但3D图形处理仍然偏科的RISC-V来说,可以说是一个很好的辅助,尤其是对于图形性能有一定要求的消费类
    发表于 03-24 15:53

    RISC-V架构

    继续完善。虽然RISC-V现在的讨论热度很高,但是整个生态实际仍在建设初期,实践过程中在底层架构上还存在bug需要解决。此外,RISC-V架构
    发表于 04-03 15:29

    谈一谈RISC-V架构的优势和特点

    人工智能、移动和工业应用在内的许多应用定制芯片。随着智能互联的到来,RISC-V架构迸发出新的活力,在IoT(物联网)、AI等领域探索出了广阔的发展潜力和市场,逐渐与x86、ARM形成了三足鼎立的局面
    发表于 05-14 09:05

    RISC-V,正在摆脱低端

    行业专家表示,RISC-V最有机会发的领域是AI和机器学习,RISC-V架构将从AI专用芯片切
    发表于 05-30 14:11

    阿里平头哥发布首个 RISC-V AI 软硬全平台

    面向多媒体 AI 增强场景的 RISC-V软硬件平台。 该平台将 RISC-V 扩展性的新型 Vector、Matrix 及第三方硬件进行算
    发表于 08-26 14:14

    RISC-V强势崛起为芯片架构第三极

    出货量,显示出这个新出现的处理器架构旺盛生命。 平头哥是国内RISC-V产业链的重要玩家之一。在近日推出首个自研RISC-V AI平台时,
    发表于 08-30 13:53

    RISC-VRISC-V AI的未来(特邀讲座)

    主题演讲:RISC-VRISC-V AI的未来(特邀讲座)ppt分享
    发表于 07-14 17:15 17次下载