爱芯通元NPU赋能SPACEMIT

描述

SPACEMIT:进迭时空是一家计算芯片企业,专注于研发下一代 RISC-V架构的高性能CPU并提供软硬一体优化的计算解决方案。秉承进取不息、迭代不止的企业精神,公司致力于构建“云—边—端”架构原生一体的下一个计算时代。

爱芯通元:以算子为原子指令集的AI计算处理器。高效支持混合精度算法设计和Transformer,为大模型(DeepSeek、Qwen、MiniCPM……)在“云—边—端”的AI应用提供强力基础。

TLDR

模型名称 SPACEMIT M1 SPACEMIT M1 + M.2卡
DeepSeek-R1-1.5B 5.5 tokens/s 17.0 tokens/s
(还有优化空间)
DeepSeek-R1-7B 1.3 tokens/s 4.0 tokens/s
(还有优化空间)

背景

最近,路边社消息说又要大力推广RISC-V产业生态了。还好提前布局,借助于AXCL项目优秀的可移植性,已经完成了国内能顺利买到的基于RISC-V指令集的应用处理器开发板,同时完成内置爱芯通元NPU的M.2算力卡适配,让DeepSeek蒸馏模型在市面上已有的RISC-V开发板上运行更加流畅,给RISC-V生态提供了一种高性价比的AI算力拓展解决方案。

本文简单介绍下SPACEMIT M1社区开发板加装M.2算力卡运行DeepSeek-R1-7B模型的安装细节和注意事项,降低大家踩坑概率。

Milk-V Jupiter

RISC-V PC for Everyone。Milk-V Jupiter由Spacemit K1/M1 SoC提供动力,是世界上第一款同时支持RVA22和RVV1.0的Mini ITX设备。本设备集成标准PCIe连接器,支持常见PCIe器件,如显卡、PCIe转SATA适配器、网卡等。它具有双千兆以太网接口,板载Wi-Fi 6/BT 5.2,并支持NVMe SSD,使其成为入门级RISC-V桌面的理想选择。

RISC-V

芯茧加速卡

芯茧人工智能算力卡是深圳市云集互联生态科技有限公司推出的基于AXCL软件架构的M.2 2280计算卡。

规格参数

项目 描述
内存 4GiB or 8GiB,64bit LPDDR4x
智能 18TOPs@Int8,72TOPs@Int4;
支持CNN、Transformer模型部署;
支持LLM、VLM部署
视频解码 H.264/H.265,32路
1080@30fps解码
视频编码 H.264/H.265,16路
1080@30fps编码
Host适配 支持Intel、AMD、NXP、Xilinx、Raspberry Pi、Rockchip、SPACEMIT、StarFive、SG2042等
Host系统 Linux:Ubuntu、Debian、CentOS、OpenKylin等;
Windows(适配中)
外形尺寸 M.2 2280,M Key
M.2 2242(开发中)
工作电压 3.3V
系统功耗 <8w

RISC-V

硬件安装

    RISC-VRISC-V

软件安装

适用于SPACEMIT M1的axcl deb包获取链接

https://huggingface.co/AXERA-TECH/AXCL/blob/main/axcl_host_riscv_spacemit_V2.23.0_20250212162521.deb

详细安装流程可参考:AXCL安装 - AXCL V1.0文档

https://axcl-docs.readthedocs.io/zh-cn/latest/doc_guide_setup.html

踩坑记录

在Milk-V Jupiter开发板上预装的Bianbu OS中,如果要使用python环境或者安装pip package,需要启用python虚拟环境进行隔离。很遗憾大家最熟悉的miniconda貌似没有RISC-V版本,建议采用python venv创建python虚拟环境。

当前DEMO依赖Transformer库,pip安装时请选用SPACEMIT提供的pip源。

 

pip install transformers --index-url https://git.spacemit.com/api/v4/projects/33/packages/pypi/simple

 

测试

基本功能

DeepSeek

直接尝试DeepSeek-R1 7B模型,可以从AXERA-TECH/DeepSeek-R1-Distill-Qwen-7B-GPTQ-Int4获取。

(https://huggingface.co/AXERA-TECH/DeepSeek-R1-Distill-Qwen-7B-GPTQ-Int4)

安装完成后,可以使用类似nvidia-smi的设备管理工具axcl-smi。

RISC-V

使用axcl_ut_npu完成NPU功能自测。

RISC-V

Tokenizer解析器

DEMO中的Tokenizer解析器采用本地模块与HTTP Server两种方案,其中本地方案又尝试了sentencepiece、tiktoken两种方案。但是我们在实际调试过程中发现sentencepiece对于不同LLM模型的special tokens支持不友好,需要用户自行处理special tokens的拆分,容易导致板端token id与Transformers库中的AutoTokenizer获得的token id存在差异,最终影响LLM的输出结果正确性。因此我们建议前期调试的时候使用Tokenizer HTTP Server的方式直接调用Transformers库中的AutoTokenizer模块进行测试。

Tokenizer HTTP Server的特点:

保证token id正确

方便添加chat template

支持本地、远端部署

支持多用户接入

以huggingface中提供的基于DeepSeek-R1-Distill-Qwen-7B的相关文件为例:

 

i@m1:~/samples/deepseek-7b-gptq-int4$ tree
.
├── deepseek-r1-7b-gptq-int4-ax650
│   ├── model.embed_tokens.weight.bfloat16.bin
│   ├── qwen2_p128_l0_together.axmodel
......
│   ├── qwen2_p128_l9_together.axmodel
│   └── qwen2_post.axmodel
├── deepseek-r1_tokenizer
│   ├── tokenizer_config.json
│   └── tokenizer.json
├── deepseek-r1_tokenizer.py
├── main_axcl_riscv
├── main_prefill
├── post_config.json
└── run_deepseek-r1_7b_gptq_int4_axcl_riscv.sh

 

deepseek-r1_tokenizer:是tokenizer相关文件,从DeepSeek/DeepSeek-R1-Distill-Qwen-7B中提取

deepseek-r1_tokenizer.py:是用python实现的Tokenizer HTTP Server

运行说明如下:

python deepseek-r1_tokenizer --host xxx.xxx.xxx.xxx --port 12345,其中--host xxx.xxx.xxx.xxx设置tokenizer解析服务器的IP地址,确保开发板能正常访问该地址。可以在具备python环境的开发板本地运行;

修改run_deepseek-r1_7b_gptq_int4_axcl_riscv.sh中--filename_tokenizer_model的IP信息和步骤1中的一致;

运行run_deepseek-r1_7b_gptq_int4_axcl_riscv.sh即可。

RISC-V

运行视频

结束语

当前,AI芯片行业竞争已从单纯算力比拼转向场景化适配能力。爱芯元智以“普惠AI造就美好生活”为使命,通过爱芯通元NPU与RISC-V产业链深度协同,成为驱动行业从“云端集中”迈向“边缘智能”的关键力量。

因此从今年开始,爱芯通元NPU IP正式启动商业授权服务,欢迎RISC-V产业链中感兴趣的朋友来咨询。

 

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分