SPACEMIT:进迭时空是一家计算芯片企业,专注于研发下一代 RISC-V架构的高性能CPU并提供软硬一体优化的计算解决方案。秉承进取不息、迭代不止的企业精神,公司致力于构建“云—边—端”架构原生一体的下一个计算时代。
爱芯通元:以算子为原子指令集的AI计算处理器。高效支持混合精度算法设计和Transformer,为大模型(DeepSeek、Qwen、MiniCPM……)在“云—边—端”的AI应用提供强力基础。
背景
最近,路边社消息说又要大力推广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桌面的理想选择。
芯茧加速卡
芯茧®人工智能算力卡是深圳市云集互联生态科技有限公司推出的基于AXCL软件架构的M.2 2280计算卡。
硬件安装
软件安装
适用于SPACEMIT M1的axcl deb包获取链接
详细安装流程可参考:AXCL安装 - AXCL V1.0文档
踩坑记录
在Milk-V Jupiter开发板上预装的Bianbu OS中,如果要使用python环境或者安装pip package,需要启用python虚拟环境进行隔离。很遗憾大家最熟悉的miniconda貌似没有RISC-V版本,建议采用python venv创建python虚拟环境。
当前DEMO依赖Transformer库,pip安装时请选用SPACEMIT提供的pip源。
测试
1、基本功能
DeepSeek
直接尝试DeepSeek-R1 7B模型,可以从AXERA-TECH/DeepSeek-R1-Distill-Qwen-7B-GPTQ-Int4获取。
安装完成后,可以使用类似nvidia-smi的设备管理工具axcl-smi。
使用axcl_ut_npu完成NPU功能自测。
2、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即可。
结束语
当前,AI芯片行业竞争已从单纯算力比拼转向场景化适配能力。爱芯元智以“普惠AI造就美好生活”为使命,通过爱芯通元NPU与RISC-V产业链深度协同,成为驱动行业从“云端集中”迈向“边缘智能”的关键力量。
因此从今年开始,爱芯通元NPU IP正式启动商业授权服务,欢迎RISC-V产业链中感兴趣的朋友来咨询。
感谢:
AXCL项目组小伙伴的支持
进迭时空开发者交流群
芯茧技术支持群
土拨鼠们
购买链接: