目录
目录README.md

赛题题目:面向大模型应用的 RISC-V 向量和矩阵扩展算子优化

✅ 提交内容

以下内容均在项目根目录下

  • 源代码:llama.cpp/ 路径下
  • 原创承诺书:操作系统开源创新大赛 作品原创承诺书.pdf
  • README 文档:本 md 文件
  • 作品介绍 PPT:RISC-V_Extreme.pptx/pdf
  • 项目说明书:操作系统开源创新大赛项目说明书.pdf
  • 演示视频
    • 演示视频.mp4: 在荔枝派上运行 llama-cli 的视频
    • 演示视频-GUI.mp4: 运行前端界面进行演示的视频
  • 其他使用到的资源: resources/
    • 绘图脚本与生成的图片:resources/figure-gen/
    • 前端界面:resources/llama-frontend/
    • README 中的图片资源:resources/results/

实际测试使用的二进制文件已发布至 发行版 / Releases.

🚀 性能对比 (Performance Comparison)

为了直观展示优化带来的性能提升,我们对基础版 (Base) 和 RVV 优化版 (Optimized) 的核心指标进行了量化评估。更详细的数据参见我们的报告

核心指标 (Key Metrics)

指标 (Metric) 基础版 (Base) RVV (Optimized) 提升 (Improvement)
延迟 (Latency) 187.1 s 100.3 s 46.4 %
吞吐量 (Throughput) pp512 2.63 3.95 50.1 %
吞吐量 (Throughput) tg128 2.61 4.17 59.8 %

📖 指标说明 (Metric Definitions)

  • 延迟 (Latency):

    • thread = 1
    • llama-cli 单 prompt 测试结果:prompt eval time + eval time
  • 吞吐量 (Throughput):

    • thread = 4;

PP512(提示词长度 512), 表示使用 512 tokens 作为提示词时,每秒可以生成约 3.95 个 tokens TG128(生成长度 128), 表示在生成 128 tokens 时,每秒可以生成约 4.17 个 tokens


🎬 效果演示 (Demos)

通过下面的 GIF 可以直观地看到优化前后用户体验或程序执行流程的差异。

基础版 (Base) 优化版 (Optimized)
base rvv

📊 结果图表 (Result Graphs)

以下图表是本次性能测试的部分数据可视化结果。

延迟对比图 延迟对比图 吞吐对比图 吞吐对比图

赛题说明

DeepSeek 等模型的兴起推动了端侧大模型的发展,而 RISC-V 架构凭借其开放性和可扩展性,在端侧推理终端中逐步占据一席之地。优化 RISC-V 端侧大模型推理技术,不仅能提升推理性能,还能推动 RISC-V 操作系统 AI 生态的完善,加速 RISC-V 智能操作系统的发展。 本赛题旨在通过优化大模型应用中的核心算子,在 RISC-V 架构上实现高效的推理性能,充分利用 RISC-V 向量和矩阵扩展指令集,以及多核计算体系架构,进一步提升大模型推理的计算速度和吞吐量。 推理框架方面,参赛者可以选择 llama.cpp 开源框架。操作系统环境为开源操作系统,要求参赛者基于此系统进行开发,提供全方位的优化方案。

赛题要求

  • 基于 RISC-V 架构的向量和矩阵扩展指令,针对 llama.cpp 推理框架进行大模型核心算子优化。
  • 利用多核并行计算技术,从算子层面加速推理性能,提高多核架构的资源利用率。
  • 基于开源操作系统上进行开发和测试,确保兼容性和稳定性。
  • 提供优化前后性能对比数据,展示优化效果。
  • 代码需遵循开源协议,提交至大赛指定代码仓库,并附带详细的文档说明,包括实现原理、优化思路和使用指南。

评分标准

功能完整性(40%)

  • 提供针对性的优化方案,使用 RISC-V 向量以及矩阵两种扩展(30 分);
  • 优化算子包括 GEMM、激活函数、数学运算。算子在推理框架中能够正确执行,并输出正确的结果(20 分);
  • 如优化其余算子,并保证其正确性,可额外加分(20 分);
  • 利用 RISC-V 多核特性加速算子计算,优化技术包括多核协同计算、流水线并行等(30 分)。

性能优化(30%)

  • 推理时间减少超过 50%(40 分);
  • 计算资源 CPU 占用降低超过 10%(30 分);
  • 吞吐量提升超过 20%(30 分)。

代码规范性(20%)

  • 代码结构清晰,模块化设计,便于维护和扩展,且必须完全开源(60 分);
  • 注释完整性,特别是复杂逻辑部分(40 分)。

文档质量(10%)

  • 文档详细清晰,包含安装方式及使用方法(50 分);
  • 文档标明其创新性(50 分)。

赛题联系人

李可 li_ke@hl-it.cn

参考资料

参赛资源支持

关于
919.4 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号