【论文解析】基于开源 Matrix 指令集扩展(矢量点积)的高性能 RISC-V 处理器“香山”(nanhu 版本)的 LLM 加速的研究

作者及发刊详情

摘要

正文

主要工作贡献

1)针对大模型自定义矢量点积扩展指令,并设计了专用硬件加速大语言模型的运算

2)基于香山处理器增加矢量点积计算单元和流水线处理逻辑,开发了包含上述指令的处理器nanhu-vdot

3)在FPGA上做测试,硬件资源和功耗几乎没有增加,矢量点积运算速度相比标量方法提高了 4 倍以上

4)在FPGA上进行GPT-2的推理,速度比纯软件实现提高了30%

实验评估

实验验证平台:Xilinx VU19P FPGA

选用模型: GPT-2

选用了三种模型。

工具:

  • 该测试系统基于香山处理器的操作系统环境
  • 通过测试接口将os可执行文件传输到FPGA的DDR中
  • 模型代码和推理程序存在linux的临时文件系统中

PPA

性能

对 GPT-2 小型模型、中型模型、大型模型的推理速度提升分别为 30.9%、27.8%、27.9%。

资源消耗

nanhu-vdot 相比"香山"(nanhu 版本)增加 15677 个 LUT 单元,占比 2.8%,增加 2486 个 Flip-Flop 单元,占比 0.9%,BRAMs 未增加。

功耗

"香山"(nanhu 版本)的功耗开销为 8.454W,nanhu-vdot 功耗为 8.494W。nanhu-vdot 相比于"香山"(nanhu版本)的功耗仅增加 0.5%.

软硬协同设计

硬件:编写矢量点积计算定制自定义扩展指令的单元设计代码,对矢量点积进行加速,与高性能处理器"香山"(nanhu 版本)一起编译,生成可仿真的比特流。

软件:

  • 增加自定义矢量点积计算指令
  • 修改编译器,使其支持扩展的指令
  • 修改 GPT-2 开源 C/C++代码,其中对于 int8 类型矢量点积计算部分通过汇编指令调用硬件执行单元,在调用硬件前后进行数据类型转换,最终通过硬件的加速计算得到文本输出。

自定义点积扩展指令

  • R-type 译码模式
  • Inst11:7表示交换后数据写回的目的寄存器号

模型修改

实现 GPT-2 大模型推理中元素类型为 int8 的矢量点积计算实现

硬件设计

设计了矢量点积计算单元和流水线处理逻辑,即VDOTU模块。

与CPU的集成方式

  • 将矢量点积扩展指令与高性能处理器"香山"(nanhu 版本)的流水线紧密、耦合。
  • 充分利用 "香山"的现有译码逻辑、寄存器堆和功能单元,尽可能减少额外的面积开销
  • 作为流水线中的执行部件,如下图中的EXE单元

VDOTU模块

该模块作为扩展指令的核心执行单元,采用SIMD向量化的执行方式。

  • VDOTU 默认配置为 8bit 的整形计算
  • 包含八路 8-bit 乘法器和七个加法器
  • 输出采用 64-bit,与处理器的通用寄存器大小一致

参考文献

评

该工作的硬件设计较为简单,大量的工作在原软件工作,特别是模型算子的移植。

值得借鉴的是该方案的测试流,极大的简化的软件工作,详细参考实验评估部分。

相关推荐
1560820721917 小时前
JFMRFVU3P5G的bit正常,但烧录mcs程序后加载异常
fpga开发
狂奔蜗牛(bradley)17 小时前
把 EtherCAT 初始化从 FPGA 搬到 ARM:命令通道的接口设计与11个坑
arm开发·人工智能·fpga开发·架构
RISCV_Explorer19 小时前
RISC-V RVV向量性能调优实战——LMUL与SEW参数选型、访存瓶颈判断与微基准方法
risc-v
女神下凡2 天前
芯参谋(37):EEPROM_电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
szxinmai主板定制专家3 天前
工业视觉新思路:FPGA图像预处理+RK NPU推理,实现高速缺陷检测
人工智能·嵌入式硬件·fpga开发·rk3576+codesys
FPGA小徐3 天前
【硬件实战】立创 EDA 绘制 TF/SD 卡模块电路|SPI 模式原理图 + 阻抗匹配 + PCB 布局布线全教程
单片机·嵌入式硬件·fpga开发
狂奔蜗牛(bradley)3 天前
EtherCAT DC 分布式时钟同步的 ModelSim 仿真:从帧模板到从站行为建模
人工智能·嵌入式硬件·fpga开发·架构
ALINX技术博客3 天前
8 通道同步采样 ADC!AN706 波形显示实验 【FPGA黑金云课堂】
fpga开发
国科安芯4 天前
星载通信载荷信号处理中抗辐射微控制器的选型与适应性分析
人工智能·嵌入式硬件·mcu·信号处理·risc-v·抗辐射·空间信息
szxinmai主板定制专家4 天前
RK3568+FPGA+CODESYS异构控制方案:赋能半导体设备与工业自动化升级
人工智能·fpga开发·自动化·rk3576·半导体设备