ATK-DLRK3588 开发板 DeepSeek-R1-1.5B / 7B 完整部署指南
ATK-DLRK3588 开发板
DeepSeek-R1-1.5B / 7B 完整部署指南
面向零基础用户 · 含 NPU 加速方案 + Ollama 快速方案 · 步骤详细
版本:v1.0 | 适用系统:Ubuntu 20.04 / Debian 11 | 2026 年
目录
一、项目概述与硬件介绍
本指南面向零基础用户,手把手带你在正点原子 ATK-DLRK3588 开发板上成功运行 DeepSeek-R1 大语言模型。无论你是嵌入式爱好者还是 AI 初学者,按照本文步骤操作即可完成部署。
1.1 为什么选择 ATK-DLRK3588?
ATK-DLRK3588 是正点原子推出的旗舰级 AI 开发板,搭载瑞芯微 RK3588 芯片,具备以下核心优势:
|
组件 |
规格参数 |
对大模型部署的意义 |
|
CPU |
4×Cortex-A76@2.4GHz + 4×Cortex-A55@1.8GHz |
八核异构,处理预/后处理任务 |
|
NPU |
6 TOPS 算力,支持 INT8/INT16 |
核心推理加速,速度提升 5-10× |
|
内存 |
LPDDR4X 4GB / 8GB / 16GB |
决定可运行的模型规模 |
|
存储 |
32GB / 64GB / 128GB eMMC |
影响模型加载速度 |
|
GPU |
Mali-G610 MP4 |
可辅助图形渲染与部分计算 |
1.2 模型版本选择建议
|
模型版本 |
最低内存要求 |
量化后体积 |
推理速度 |
|
DeepSeek-R1-Distill-Qwen-1.5B |
4GB(推荐 8GB) |
约 1.9 GB |
5-8 token/s |
|
DeepSeek-R1-Distill-Qwen-7B |
8GB(推荐 16GB) |
约 7.5 GB |
2-4 token/s |
|
💡 小白建议: 首次部署请从 1.5B 版本开始,成功后再尝试 7B 版本。4GB 内存版开发板只建议运行 1.5B 模型。 |
二、资源下载清单
在开始操作之前,请先下载以下所有资源。建议提前准备好,避免部署过程中因网络问题中断。
2.1 官方工具链与运行时
|
资源名称 |
版本 |
下载地址 |
|
rknn-llm(官方仓库) |
v1.2.2(最新) |
|
|
RKLLM-Toolkit(转换工具) |
v1.1.4 / v1.2.x |
包含在 rknn-llm 仓库 rkllm-toolkit/ 目录 |
|
已转换 RKLLM 模型(可选) |
W8A8 量化版 |
2.2 DeepSeek 原始模型
- DeepSeek-R1-Distill-Qwen-1.5B:HuggingFace 地址 deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
- DeepSeek-R1-Distill-Qwen-7B:HuggingFace 地址 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
- 国内镜像加速:ModelScope(魔搭社区)同步提供上述模型,速度更快
2.3 开发板系统镜像
- 正点原子官网:www.alientek.com → 资料下载 → ATK-DLRK3588
- 推荐系统:Debian 11 ARM64(NPU 驱动支持最完善)
- NPU 驱动版本要求:v0.9.8 及以上(低版本需升级)
2.4 辅助工具
- Miniconda(Python 环境管理):mirrors.bfsu.edu.cn/github-release/conda-forge/miniforge/
- RKDevTool(烧录工具,Windows):正点原子资料包内附带
- MobaXterm 或 SecureCRT(SSH 终端工具):用于远程连接开发板
三、环境准备(主机端)
|
📌 说明: 模型转换需要在 x86_64 架构的 Ubuntu 主机(或虚拟机)上完成,推荐 Ubuntu 20.04 LTS。开发板本身只需要运行推理程序,不需要安装转换工具。 |
3.1 安装 Miniconda
Miniconda 用于管理 Python 环境,避免包冲突。在 Ubuntu 主机终端执行以下命令:
# 步骤1:下载 Miniconda 安装脚本(使用国内镜像加速)
wget https://mirrors.bfsu.edu.cn/github-release/conda-forge/miniforge/LatestRelease/Miniforge3-Linux-x86_64.sh
# 步骤2:执行安装(全程按 Enter 或输入 yes 确认)
bash Miniforge3-Linux-x86_64.sh
# 步骤3:使环境变量生效
source ~/.bashrc
# 步骤4:验证安装成功(应显示版本号)
conda -V
|
✅ 成功标志: 终端提示符前出现 (base) 字样,且 conda -V 显示版本号(如 conda 23.x.x)。 |
3.2 创建 RKLLM-Toolkit 专用环境
为避免与其他 Python 项目冲突,创建独立的 conda 环境:
# 创建名为 RKLLM-Toolkit 的 Python 3.8 环境
conda create -n RKLLM-Toolkit python=3.8 -y
# 激活环境(每次使用前都需要执行此命令)
conda activate RKLLM-Toolkit
# 激活后终端提示符变为:(RKLLM-Toolkit) user@host:~$
|
⚠️ 注意: 后续所有主机端操作都必须在 (RKLLM-Toolkit) 环境下执行。如果关闭终端重新打开,需要再次运行 conda activate RKLLM-Toolkit。 |
3.3 安装 RKLLM-Toolkit
首先克隆官方仓库,然后安装转换工具:
# 步骤1:安装 git(如已安装可跳过)
sudo apt install -y git
# 步骤2:克隆 rknn-llm 官方仓库
git clone https://github.com/airockchip/rknn-llm.git
cd rknn-llm
# 步骤3:安装依赖(先固定版本避免冲突)
pip3 install numpy==1.23.5 protobuf==3.20.3
# 步骤4:安装 RKLLM-Toolkit(选择对应 Python 版本的 whl)
cd rkllm-toolkit/packages
pip3 install rkllm_toolkit-1.1.4-cp38-cp38-linux_x86_64.whl
# 步骤5:验证安装
python3 -c "from rkllm.api import RKLLM; print('安装成功!')"
|
✅ 成功标志: 终端输出"安装成功!",无报错信息。如果出现 ImportError,请检查是否在 RKLLM-Toolkit 环境中,以及 whl 文件版本是否匹配。 |
四、方案 A:RKLLM + NPU 加速部署(推荐)
本方案利用 RK3588 的 6 TOPS NPU 进行硬件加速,推理速度比纯 CPU 方案快 5-10 倍,是生产环境的首选方案。整体流程分为四个阶段:
|
阶段 |
操作位置 |
主要任务 |
预计耗时 |
|
① 下载模型 |
Ubuntu 主机 |
从 HuggingFace/ModelScope 下载原始模型 |
1.5B:约 10 分钟;7B:约 40 分钟 |
|
② 量化转换 |
Ubuntu 主机 |
将模型转换为 .rkllm 格式 |
1.5B:约 15 分钟;7B:约 60 分钟 |
|
③ 编译程序 |
Ubuntu 主机 |
交叉编译板端推理可执行文件 |
约 5 分钟 |
|
④ 板端运行 |
ATK-DLRK3588 |
传输文件并启动推理 |
约 10 分钟 |
4.1 下载原始模型
推荐使用 ModelScope(魔搭社区)下载,国内速度更快:
# 确保在 RKLLM-Toolkit 环境中
conda activate RKLLM-Toolkit
# 安装 modelscope 下载工具
pip3 install modelscope -i https://mirrors.aliyun.com/pypi/simple/
# 下载 1.5B 模型(约 3GB,推荐新手)
mkdir -p ~/models && cd ~/models
modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B --local_dir ./DeepSeek-R1-1.5B
# 下载 7B 模型(约 15GB,需要 8GB+ 内存开发板)
modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --local_dir ./DeepSeek-R1-7B
|
💡 提示: 如果 ModelScope 下载失败,可以配置 HuggingFace 镜像:export HF_ENDPOINT=https://hf-mirror.com,然后使用 huggingface-cli download 命令下载。 |
4.2 模型量化转换
进入 rknn-llm 仓库中的示例目录,执行转换脚本:
# 进入 1.5B 示例目录
cd ~/rknn-llm/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/export
# 生成量化校准数据(约 5 分钟)
python3 generate_data_quant.py -m ~/models/DeepSeek-R1-1.5B
# 执行模型转换(1.5B 约 15 分钟,7B 约 60 分钟)
python3 export_rkllm.py
# 转换完成后,当前目录会生成:
# DeepSeek-R1-Distill-Qwen-1.5B_W8A8_RK3588.rkllm (约 1.9GB)
|
⚠️ 注意: 转换 7B 模型时,主机需要至少 16GB 内存。如果内存不足,可以直接从百度网盘下载已转换好的 .rkllm 文件(见第二章资源下载清单)。 |
4.3 编译板端推理程序
在 Ubuntu 主机上交叉编译,生成可在 ARM64 开发板上运行的可执行文件:
# 步骤1:安装交叉编译工具链
sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu cmake
# 步骤2:进入部署目录
cd ~/rknn-llm/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/deploy
# 步骤3:修改编译脚本中的编译器路径
# 打开 build-linux.sh,将以下内容:
# C_COMPILER=${GCC_COMPILER_PATH}-gcc
# 修改为:
# C_COMPILER=/usr/bin/aarch64-linux-gnu-gcc
# 步骤4:执行编译
chmod +x build-linux.sh
./build-linux.sh
# 编译成功后,生成目录:
# deploy/install/demo_Linux_aarch64/
# ├── llm_demo (推理可执行文件)
# └── lib/ (依赖库文件)
4.4 传输文件到开发板
将编译好的程序和模型文件传输到 ATK-DLRK3588 开发板。确保开发板已连接网络,并获取其 IP 地址(可在开发板终端执行 ip addr 查看):
# 方法一:使用 scp 传输(推荐)
# 传输推理程序目录(将 192.168.1.100 替换为你的开发板 IP)
scp -r ~/rknn-llm/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/deploy/install/demo_Linux_aarch64 \
root@192.168.1.100:/home/
# 传输模型文件
scp ~/rknn-llm/examples/DeepSeek-R1-Distill-Qwen-1.5B_Demo/export/DeepSeek-R1-Distill-Qwen-1.5B_W8A8_RK3588.rkllm \
root@192.168.1.100:/home/demo_Linux_aarch64/
# 方法二:使用 U 盘传输(适合无网络环境)
# 将上述文件复制到 U 盘,插入开发板后挂载并复制
4.5 开发板端运行 DeepSeek
SSH 登录到开发板(默认用户名 root,密码 root),执行以下命令:
# 步骤1:进入程序目录
cd /home/demo_Linux_aarch64
# 步骤2:检查 NPU 驱动版本(需要 v0.9.8 及以上)
cat /sys/kernel/debug/rknpu/version
# 步骤3:配置库路径
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
echo "export LD_LIBRARY_PATH=$(pwd)/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
# 步骤4:(可选)执行 CPU 固频脚本,提升推理稳定性
sh fix_freq_rk3588.sh
# 步骤5:启动 DeepSeek-R1 推理(绑定大核 CPU)
taskset f0 ./llm_demo ./DeepSeek-R1-Distill-Qwen-1.5B_W8A8_RK3588.rkllm 2048 4096
# 参数说明:
# taskset f0 :绑定到 CPU 0-3(大核 A76),提升性能
# 2048 :上下文窗口大小(输入 token 数上限)
# 4096 :最大生成 token 数
# 步骤6:监控 NPU 使用率(新开一个终端窗口执行)
watch -n 1 sudo cat /sys/kernel/debug/rknpu/load
|
✅ 成功标志: 终端显示 "rkllm init start" → "rkllm init success",然后出现交互提示符,即可输入问题与 DeepSeek 对话!NPU 使用率应达到 60-85%。 |
五、方案 B:Ollama 快速部署(CPU 方案)
Ollama 是一款开箱即用的大模型管理工具,安装简单,适合快速验证功能。注意:此方案使用 CPU 推理,速度较慢(约 1-2 token/s),NPU 不参与计算,但操作极为简便。
5.1 安装 Ollama
在开发板终端(SSH 连接后)执行:
# 方法一:一键安装脚本(需要良好网络)
curl -fsSL https://ollama.com/install.sh | sh
# 方法二:手动安装 ARM64 版本(推荐,更稳定)
sudo mkdir -p /opt/ollama && cd /opt/ollama
sudo wget https://github.com/ollama/ollama/releases/download/v0.5.7/ollama-linux-arm64.tgz
sudo tar -xzvf ollama-linux-arm64.tgz
# 配置环境变量
echo 'export OLLAMA_HOME=/opt/ollama' | sudo tee -a /etc/profile
echo 'export PATH=$OLLAMA_HOME/bin:$PATH' | sudo tee -a /etc/profile
source /etc/profile
# 配置为系统服务(开机自启)
sudo tee /etc/systemd/system/ollama.service << EOF
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/opt/ollama/bin/ollama serve
User=root
Restart=always
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_KEEP_ALIVE=-1"
[Install]
WantedBy=default.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl start ollama
# 验证安装
ollama -v
5.2 下载并运行模型
# 运行 1.5B 模型(Ollama 自动下载,约 1GB)
ollama run deepseek-r1:1.5b
# 运行 7B 模型(约 4.7GB,需要 8GB+ 内存)
ollama run deepseek-r1:7b
# 首次运行会自动下载模型,下载完成后进入对话界面
# 输入问题后按 Enter 发送,输入 /bye 退出对话
|
💡 提示: 如果下载速度慢,可以在主机上下载后用 ollama create 命令导入,或配置代理。Ollama 模型默认存储在 /root/.ollama/models/ 目录。 |
5.3 配置 Web 界面(可选)
通过 Open WebUI 可以在浏览器中与 DeepSeek 对话,界面更友好:
# 在开发板上安装 Docker(如未安装)
curl -fsSL https://get.docker.com | sh
# 启动 Open WebUI(将 3000 端口映射到主机)
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
--name open-webui \
ghcr.io/open-webui/open-webui:main
# 在同一局域网的电脑浏览器中访问:
# http://开发板IP:3000
六、实战案例:智能问答助手
本节通过一个完整的实战案例,演示如何在 ATK-DLRK3588 上运行 DeepSeek-R1-1.5B,实现一个本地智能问答助手。
6.1 案例环境
- 硬件:ATK-DLRK3588(8GB 内存版)
- 系统:Debian 11 ARM64
- 模型:DeepSeek-R1-Distill-Qwen-1.5B(W8A8 量化,NPU 加速)
- 目标:实现数学推理、代码解释、知识问答三类任务
6.2 完整操作流程(从零开始)
以下是完整的操作记录,包含每一步的预期输出:
第一步:SSH 登录开发板
# 在主机终端执行(替换为你的开发板 IP)
ssh root@192.168.1.100
# 输入密码:root
# 成功后显示:root@ATK-DLRK3588:~#
第二步:进入程序目录并启动
cd /home/demo_Linux_aarch64
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
taskset f0 ./llm_demo ./DeepSeek-R1-Distill-Qwen-1.5B_W8A8_RK3588.rkllm 2048 4096
# 预期输出:
# rkllm init start
# rkllm init success
# **********************
# 可输入以下问题对应序号获取回答/或自定义输入
# [0] 现有一笼子,里面有鸡和兔子若干只...
# [1] 有28位小朋友排成一行...
# **********************
# user:
第三步:测试数学推理能力
# 输入:一个工厂每天生产零件,第一天生产100个,
# 之后每天比前一天多生产5个,第10天生产多少个?
# DeepSeek 输出示例:
# <think>
# 这是一个等差数列问题。
# 首项 a1 = 100,公差 d = 5,求第10项。
# a10 = a1 + (n-1)×d = 100 + 9×5 = 145
# </think>
# 第10天生产 145 个零件。
第四步:测试代码解释能力
# 输入:解释以下 Python 代码的作用:
# def fib(n): return n if n<=1 else fib(n-1)+fib(n-2)
# DeepSeek 会详细解释递归斐波那契数列的实现原理
第五步:查看性能数据
# 新开终端窗口,执行:
watch -n 1 sudo cat /sys/kernel/debug/rknpu/load
# 预期显示:NPU load: Core0: 83% Core1: 79% Core2: 81%
6.3 实测性能数据
|
测试项目 |
NPU 加速方案 |
CPU 方案(Ollama) |
加速比 |
|
首 token 延迟 |
约 800ms |
约 3000ms |
3.75× |
|
推理速度(1.5B) |
5-8 token/s |
1-2 token/s |
4-5× |
|
内存占用(1.5B) |
约 2.5GB |
约 3.2GB |
节省 22% |
|
NPU 利用率 |
75-85% |
0%(不使用) |
— |
|
持续运行温度 |
约 65°C |
约 72°C |
更低 |
七、性能优化技巧
7.1 CPU 绑核优化
RK3588 采用大小核架构,将推理进程绑定到大核(A76)可显著提升性能:
# 绑定到 CPU 4-7(大核 A76,掩码 f0)
taskset f0 ./llm_demo ./model.rkllm 2048 4096
# 查看 CPU 核心分配
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
7.2 配置 Swap 交换分区(7B 模型必须)
运行 7B 模型时,建议配置 8GB Swap 防止内存溢出:
# 创建 8GB Swap 文件
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 设置开机自动挂载
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
7.3 NPU 频率锁定
锁定 NPU 频率可以减少推理延迟抖动:
# 执行官方固频脚本(在 demo 目录中)
sh fix_freq_rk3588.sh
# 或手动设置 NPU 为性能模式
echo performance > /sys/class/devfreq/fdab0000.npu/governor
7.4 调整推理参数
根据实际需求调整 llm_demo 的参数:
|
参数 |
默认值 |
建议范围 |
说明 |
|
上下文窗口 |
2048 |
512-4096 |
输入文本越长,需要越大的值 |
|
最大生成数 |
4096 |
512-8192 |
减小可加快响应,增大可生成更长内容 |
八、常见问题与解决方案
Q1:执行 ./llm_demo 报错 "error while loading shared libraries"
原因:动态库路径未配置。解决方法:
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
# 永久生效:
echo "export LD_LIBRARY_PATH=$(pwd)/lib:$LD_LIBRARY_PATH" >> ~/.bashrc && source ~/.bashrc
Q2:NPU 使用率为 0%,推理很慢
原因:NPU 驱动版本过低。解决方法:
# 检查当前 NPU 驱动版本
cat /sys/kernel/debug/rknpu/version
# 如果低于 v0.9.8,需要刷写新版系统镜像
# 从正点原子官网下载最新 Debian 镜像并重新烧录
Q3:模型转换时报 "out of memory" 错误
原因:主机内存不足(转换 7B 模型需要 16GB+)。解决方法:
- 方案一:直接下载已转换好的 .rkllm 文件(见第二章资源下载清单)
- 方案二:在主机上增加 Swap:sudo fallocate -l 16G /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
- 方案三:使用云服务器(16GB 内存)进行转换
Q4:Ollama 下载模型失败或速度极慢
解决方法:
# 配置 Ollama 使用代理
export HTTPS_PROXY=http://你的代理IP:端口
ollama run deepseek-r1:1.5b
# 或者在主机下载后导入
# 主机:ollama pull deepseek-r1:1.5b
# 导出:ollama save deepseek-r1:1.5b > deepseek-1.5b.tar
# 传输到开发板后:ollama load < deepseek-1.5b.tar
Q5:开发板 SSH 连接不上
解决方法:
- 确认开发板已正常启动(电源指示灯常亮)
- 在开发板串口终端执行 ip addr 查看实际 IP 地址
- 确认主机和开发板在同一局域网(可以 ping 通)
- 检查开发板 SSH 服务:systemctl status ssh
Q6:运行 7B 模型时系统卡死或重启
原因:内存不足。解决方法:
- 确认已配置 8GB Swap(见 7.2 节)
- 关闭其他占用内存的进程:sudo systemctl stop desktop-environment
- 使用 16GB 内存版开发板
九、参考资源
官方文档与仓库
[1] airockchip. rknn-llm 官方仓库. https://github.com/airockchip/rknn-llm
[2] DeepSeek AI. DeepSeek-R1-Distill-Qwen-1.5B 模型. https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
[3] 已转换 RKLLM 模型下载(百度网盘,提取码:rkllm).
[4] Ollama 官方网站. https://ollama.com
[5] Ian1274. RK3588 DeepSeek 部署指南. https://github.com/Ian1274/RK3588_deepseek
社区与支持
- 正点原子论坛:www.openedv.com(搜索 ATK-DLRK3588 获取最新资料)
- 瑞芯微开发者社区:dev.t-firefly.com
- DeepSeek 官方:www.deepseek.com
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)