K1 AI CPU 基于 llama.cpp 与 Ollama 的大模型部署实践

一、引言

为应对大模型(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.5b13.77.729.410.9105.415.2
qwen2.5-1.5b3.92.89.94.432.75.5
qwen2.5-3b1.81.44.82.215.43.0
llama3.2-1b5.33.613.45.342.47.31
minicpm3-4b1.31.02.91.610.31.9

所有模型均采用 4bit 量化,RISC-V 社区及官方版本模型为最优加速效果实现,量化时将 token-embedding-type 设置为 q8_0。

2. CPU 占用情况

  • llama.cpp 的进迭时空版本 CPU 占用情况
  • llama.cpp 的 RISC-V 社区版本 CPU 占用情况

四、结语

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

五、参考文档

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部