Tronlong 创龙 RK3588(TL3588-EVM / SBC-TL3588)大模型完整部署指南
创龙TL3588平台:RK3588/RK3588J,6TOPS NPU;优先使用瑞芯微官方RKLLM方案(NPU硬件加速);其次llama.cpp(纯CPU)、Ollama(ARM CPU,无法调用NPU)。
⚠️ 重要前提:创龙原厂固件必须升级,RKNPU内核驱动 ≥0.9.8,低于0.9.8无法正常运行RKLLM大模型。
一、三种部署方案横向对比(选型参考)
| 方案 | 加速硬件 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| RKLLM(rknn-llm) | ✅ NPU加速 | 官方原生、速度最快、功耗低;支持W8A8/W4A16量化;提供C API,适合嵌入式二次开发 | 需要PC端预先转换.rkllm模型;版本严格匹配 | 工业嵌入式、边缘产品、需要稳定NPU推理【首选】 |
| llama.cpp | ❌ CPU only | 直接加载GGUF,无需模型转换;快速调试 | 推理速度慢、CPU占用高、发热大 | 快速验证、临时测试 |
| Ollama | ❌ CPU only | 开箱即用、兼容OpenAI接口 | 无法调用RK3588 NPU,性能最差 | 原型调试,不建议产品落地 |
创龙官方提供的LLM Demo全部基于RKLLM SDK,下文以工业落地首选方案展开。
二、硬件&内存选型建议(创龙TL3588)
RK3588内存决定可运行模型规模:
- 4GB DDR(TL3588基础版)
推荐:1.5B~3B量化模型(DeepSeek-R1 1.5B、Qwen2.5-3B W8A8)
不建议尝试7B,极易OOM内存溢出 - 8GB/16GB DDR(TL3588高配/SBC-TL3588)
推荐:3B稳定运行;7B W8A8可跑(3~4 token/s)
实测参考(创龙SBC-TL3588 16GB)
Qwen2.5-3B W8A8:≈9~12 token/s
DeepSeek-R1 1.5B W8A8:≈10~14 token/s
Qwen2.5-7B W8A8:≈3.2~3.8 token/s
三、步骤1:创龙RK3588开发板系统环境准备
3.1 固件烧录(关键!版本匹配)
- 下载创龙最新Ubuntu22.04固件(Linux5.10),不要使用老旧出厂镜像
创龙资源平台:https://www.tronlong.com - 烧写工具:RKDevTool,按住Recover通电进入烧录模式
- 烧录完成上电,验证NPU驱动版本
# 查询RKNPU驱动版本,必须≥0.9.8cat/sys/kernel/debug/rknpu/version- 如果版本<0.9.8:两种方案
① 直接下载创龙更新后的完整固件(最简单,推荐)
② 手动内核源码替换rknpu驱动重新编译(不推荐新手)
3.2 板端系统依赖安装(Ubuntu22.04 aarch64)
sudoaptupdatesudoaptinstallgitcmake gcc g++ libssl-dev libopenblas-dev3.3 获取RKLLM Runtime库(板端推理库)
瑞芯微官方仓库:https://github.com/airockchip/rknn-llm
gitclone https://github.com/airockchip/rknn-llm.gitcdrknn-llm# 拷贝aarch64运行时库到系统库目录sudocprkllm-runtime/Linux/librkllm_api/aarch64/librkllmrt.so /usr/lib/sudoldconfig四、步骤2:PC端模型转换(Ubuntu x86_64,模型量化导出.rkllm)
转换主机建议内存≥32G;转换7B模型建议40G以上内存,否则容易OOM。
4.1 PC端搭建RKLLM-Toolkit环境
# 创建conda环境conda create-nrkllmpython=3.10conda activate rkllm# 安装RKLLM toolkitpipinstallrkllm-toolkit4.2 转换脚本示例(HuggingFace模型 → RKLLM W8A8)
新建export_llm.py
fromrkllm.apiimportRKLLM# 原始HF模型路径(本地下载Qwen2.5-3B-Instruct)model_dir="/path/to/Qwen2.5-3B-Instruct"llm=RKLLM()# 加载模型ret=llm.load_huggingface(model_dir=model_dir)ifret!=0:raiseException("模型加载失败")# 模型量化配置rkllm_params=RKLLM.RKLLMParam()rkllm_params.quant_type=RKLLM.RKLLMQuantType.RKLLM_W8A8# 8bit量化rkllm_params.target_platform=RKLLM.RKLLMTargetPlatform.RK3588# 构建模型ret=llm.build(rkllm_params)ifret!=0:raiseException("模型Build失败")# 导出rkllm文件llm.export_rkllm("./Qwen2.5-3B-Instruct-W8A8-RK3588.rkllm")print("模型导出完成!")执行转换:
python export_llm.py可选量化:
RKLLM_W4A164bit,模型体积更小,精度略有损失。
预转换模型捷径
可以直接下载社区预转换好的rkllm模型,免去PC转换:
HuggingFace搜索关键词:rkllm RK3588 Qwen2.5 DeepSeek-R1
五、步骤3:创龙TL3588开发板运行大模型
5.1 文件传输
将生成的xxx.rkllm模型文件传到开发板;
使用rknn-llm自带示例demo,或者创龙提供的llm_demo。
5.2 命令行快速测试(官方C Demo)
# 设置日志等级,输出推理速度exportRKLLM_LOG_LEVEL=1# 参数:./llm_demo 模型路径 max_new_tokens context_window./llm_demo ./Qwen2.5-3B-Instruct-W8A8-RK3588.rkllm20484096启动后即可交互式对话,日志打印Prefill/Generate token速度。
5.3 C/C++二次开发极简框架(创龙产品开发使用)
#include"rkllm_api.h"// 推理回调函数voidcallback(RKLLMResult*result,void*userdata){printf("%s",result->text);}intmain(){RKLLMHandle llm_handle;RKLLMParam param=rkllm_create_default_param();param.model_path="./model.rkllm";param.max_ctx_len=4096;rkllm_init(&llm_handle,¶m,callback);// 发起对话rkllm_run(llm_handle,"你好,请介绍创龙RK3588开发板",NULL);rkllm_wait_finish(llm_handle);rkllm_release(llm_handle);return0;}创龙TL3588配套SDK提供交叉编译环境,可直接编译部署到板卡。
六、部署Web服务(OpenAI兼容API,可选)
推荐rkllama:封装RKLLM,提供兼容OpenAI / Ollama REST接口
Github:https://github.com/notpunchnox/rkllama
# 开发板编译启动服务./rkllama server--model./Qwen2.5-3B.rkllm# 局域网其他设备调用curlhttp://192.168.1.100:8080/v1/chat/completions...七、高频踩坑清单(创龙RK3588专属)
NPU驱动版本不匹配
报错:模型加载失败、segment fault。
✅ 解决:升级固件保证rknpu ≥0.9.8;RKLLM Runtime版本必须与转换工具版本严格一致。4GB内存运行7B模型OOM
✅ 限制:4GB板优先1.5B/3B;关闭桌面图形界面释放内存:sudo systemctl stop lightdm模型转换成功,板子load模型失败
✅ 确认转换时target_platform = RK3588,不要选错RK3576;量化格式W8A8/W4A16不要混用。推理速度忽快忽慢
✅ 开启CPU调频性能模式
sudoechoperformance>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governorsudoechoperformance>/sys/devices/system/cpu/cpu4/cpufreq/scaling_governor- 创龙RT-Linux实时系统
RKLLM可以运行,但需要内核开启IOMMU;实时系统下建议限制NPU任务优先级,防止抢占实时任务。
八、备选方案:llama.cpp(纯CPU,无需模型转换)
如果你只是快速测试,不想做RKLLM模型转换:
gitclone https://github.com/ggerganov/llama.cppcdllama.cppmake# 运行GGUF量化模型./main-mqwen2.5-3b.Q4_K_M.gguf-n512⚠️ 警告:无法调用NPU,速度远低于RKLLM方案,不适合量产项目。
九、工程落地建议(工业场景-Tronlong TL3588)
- 量产硬件选型:优先8GB DDR以上TL3588/SBC-TL3588
- 模型选型:工业问答、指令场景优先DeepSeek-R1-Distill 1.5B / Qwen2.5-3B W8A8
- 系统:使用创龙Ubuntu22.04;如需实时控制,区分AI推理进程与实时控制进程
- 封装:基于RKLLM C API开发守护进程,提供本地TCP/HTTP接口,方便上位机交互
如果你需要,我可以提供:
1)可直接编译的完整RKLLM聊天服务源码;
2)适配创龙TL3588的交叉编译CMake脚本;
3)Qwen2.5-3B完整转换脚本+参数调优模板;
4)带前端WebUI的RK3588边缘大模型整套工程包。