一、引言
为应对大模型(LLM)、AIGC 等智能化浪潮挑战,进迭时空通过 AI 指令扩展,在 RISC-V CPU 中注入原生 AI 算力,打造出 AI CPU,K1 作为其首颗芯片已于今年 4 月发布。本文以 K1 为例结合 llama.cpp 展示 AI CPU 在大模型领域优势。
二、工具介绍
(一)llama.cpp
- GitHub 地址:https://github.com/ggerganov/llama.cpp
- 功能特性:开源的高性能 CPU/GPU 大语言模型推理框架,适用于消费级及边缘设备。开发者可将开源大语言模型转换量化为 gguf 格式文件,经此框架实现本地推理。
- 进迭时空优化:基于 RISC-V 社区贡献的运行案例,进迭时空针对大模型算子优化,在仅用 4 核 CPU 时达社区最好 8 核性能 2 – 3 倍,释放 CPU Loading,助力开发者拓展 AI 应用。
(二)Ollama
- GitHub 地址:https://github.com/ollama/ollama
- 功能特性:开源大型语言模型服务工具,助用户本地快速运行大模型。简单安装后,一条命令即可运行 Llama、Qwen、Gemma 等开源模型。
三、部署实践
(一)工具与模型准备
#在 K1 上拉取 ollama 与 llama.cpp 预编译包
sudo apt update
sudo apt install spacemit-ollama-toolkit
#开启 ollama 服务
ollama serve
#另起一个命令行
#下载模型
wget -P /home/llm/ https://archive.spacemit.com/spacemit-ai/ModelZoo/gguf/qwen2.5-0.5b-q4_0_16_8.gguf
#导入模型,例为 qwen2.5-0.5b
#modelfile 地址:https://archive.spacemit.com/spacemit-ai/ollama/modelfile/qwen2.5-0.5b.modelfile
wget -P /home/llm/ https://archive.spacemit.com/spacemit-ai/ollama/modelfile/qwen2.5-0.5b.modelfile
cd /home/llm
ollama create qwen2 -f qwen2.5-0.5b.modelfile
#运行模型
ollama run qwen2
(二)Ollama 效果展示
1. 性能与资源展示
选取 0.5B – 4B 端侧代表性大语言模型,展示 K1 的 AI 扩展指令加速效果,对比 llama.cpp 的 master 分支(官方版本)及 RISC-V 社区优化版本(RISC-V 社区版本,GitHub 地址:https://github.com/xctan/llama.cpp/tree/rvv_q4_0_8x8)。
官方版本(8 线程) | RISCV 社区版本(8 线程) | 进迭时空版本(4 线程) | ||||
---|---|---|---|---|---|---|
模型\性能 | prefill@64t (tokens/s) | decoding@64t (tokens/s) | prefill@64t (tokens/s) | decoding@64t (tokens/s) | prefill @64t (tokens/s) | decoding@64t (tokens/s) |
qwen2.5-0.5b | 13.7 | 7.7 | 29.4 | 10.9 | 105.4 | 15.2 |
qwen2.5-1.5b | 3.9 | 2.8 | 9.9 | 4.4 | 32.7 | 5.5 |
qwen2.5-3b | 1.8 | 1.4 | 4.8 | 2.2 | 15.4 | 3.0 |
llama3.2-1b | 5.3 | 3.6 | 13.4 | 5.3 | 42.4 | 7.31 |
minicpm3-4b | 1.3 | 1.0 | 2.9 | 1.6 | 10.3 | 1.9 |
所有模型均采用 4bit 量化,RISC-V 社区及官方版本模型为最优加速效果实现,量化时将 token-embedding-type 设置为 q8_0。
2. CPU 占用情况
- llama.cpp 的进迭时空版本 CPU 占用情况:

- llama.cpp 的 RISC-V 社区版本 CPU 占用情况:

四、结语
进迭时空于 K1 平台大模型部署进展显著,性能卓越且开放性佳,助开发者利用社区资源创新。期待 K1 平台更多大语言模型应用创新,进迭时空将持续推进相关工作。预发布软件包年底以源代码开源供开发者学习探索。