DeepSeek R1 7B 在 RK3588 上的完整部署流程
本文记录 DeepSeek R1 7B 模型在瑞芯微 RK3588 SoC 上的完整部署方案,涵盖从开发板驱动适配、模型量化转换到局域网 Web 访问的全流程。
一、硬件与驱动准备
我们需要一台搭载瑞芯微 RK3588 SoC 的 ARM64 开发板(如 Firefly 系列)。
1. NPU 驱动版本检查
RKLLM 对 NPU 驱动有特定要求。旧版驱动(如 0.8.2)仅支持传统 CV 模型的 librknnrt.so,而 LLM 推理依赖新版 librkllm.so,最低需要 0.9.8 版本。
在终端执行以下命令检查当前驱动版本:
sudo cat /sys/kernel/debug/rknpu/version
若版本低于 0.9.8,需重新烧录固件。升级驱动能优化内存管理、多核调度,并修复高负载下的稳定性问题。
2. 固件烧录流程
以 Firefly RK3588 为例,建议下载官方 Ubuntu 22.04 固件(含 kernel-6.1)。
- 获取工具:访问 Rockchip 或厂商官网下载
RKDevTool烧写工具和对应固件包。 - 连接设备:使用 Type-C 数据线连接 PC 与开发板。
- 进入刷机模式:断电状态下,按住 Recovery 键,通电后约两秒松开,此时工具应识别到 LOADER 设备。
- 烧录固件:选择固件文件(
.img),点击'升级固件'开始写入。 - 验证驱动:烧录完成后重启,再次运行
sudo cat /sys/kernel/debug/rknpu/version确认已更新至 0.9.8。
二、软件环境搭建
1. 模型权重获取
推荐直接从 Hugging Face 下载开源模型权重(.safetensors 格式),例如 DeepSeek-R1-Distill-Qwen-7B。由于文件较大,建议逐个下载分片文件以防传输中断。
2. 转换环境配置
模型转换建议在 x86 Linux 服务器或虚拟机上进行,需确保内存充足(建议 16GB+,不足可使用 Swap)。
创建 Python 3.10 虚拟环境并安装 RKLLM Toolkit:
conda create -n rkllm123 python=3.10
conda activate rkllm123
# 进入 rkllm-toolkit/packages 目录后执行
pip install rkllm_toolkit-1.2.3-cp310-cp310-linux_x86_64.whl
三、模型转换 (safetensors → RKLLM)
将下载的模型文件放入指定目录,并编写两个脚本:generate_data.py(生成校准数据)和 export_model.py(执行转换)。
1. 生成校准数据
import json
from transformers import AutoTokenizer
model_path = '/path/to/DeepSeek-R1-Distill-Qwen-7B'
prompts = [
"你好,请介绍一下你自己。",
,
,
]
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=)
data_list = []
prompt prompts:
messages = [{: , : prompt}]
text = tokenizer.apply_chat_template(messages, tokenize=, add_generation_prompt=)
data_list.append({: text, : })
(, , encoding=) f:
json.dump(data_list, f, ensure_ascii=, indent=)
()


