《Tronlong 创龙 RK3588(TL3588-EVM / SBC-TL3588)大模型完整部署指南》

📅 2026/7/31 7:12:57 👁️ 阅读次数 📝 编程学习
《Tronlong 创龙 RK3588(TL3588-EVM / SBC-TL3588)大模型完整部署指南》

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内存决定可运行模型规模:

  1. 4GB DDR(TL3588基础版)
    推荐:1.5B~3B量化模型(DeepSeek-R1 1.5B、Qwen2.5-3B W8A8)
    不建议尝试7B,极易OOM内存溢出
  2. 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 固件烧录(关键!版本匹配)

  1. 下载创龙最新Ubuntu22.04固件(Linux5.10),不要使用老旧出厂镜像
    创龙资源平台:https://www.tronlong.com
  2. 烧写工具:RKDevTool,按住Recover通电进入烧录模式
  3. 烧录完成上电,验证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-dev

3.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-toolkit

4.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,&param,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专属)

  1. NPU驱动版本不匹配
    报错:模型加载失败、segment fault。
    ✅ 解决:升级固件保证rknpu ≥0.9.8;RKLLM Runtime版本必须与转换工具版本严格一致

  2. 4GB内存运行7B模型OOM
    ✅ 限制:4GB板优先1.5B/3B;关闭桌面图形界面释放内存:sudo systemctl stop lightdm

  3. 模型转换成功,板子load模型失败
    ✅ 确认转换时target_platform = RK3588,不要选错RK3576;量化格式W8A8/W4A16不要混用。

  4. 推理速度忽快忽慢
    ✅ 开启CPU调频性能模式

sudoechoperformance>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governorsudoechoperformance>/sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
  1. 创龙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)

  1. 量产硬件选型:优先8GB DDR以上TL3588/SBC-TL3588
  2. 模型选型:工业问答、指令场景优先DeepSeek-R1-Distill 1.5B / Qwen2.5-3B W8A8
  3. 系统:使用创龙Ubuntu22.04;如需实时控制,区分AI推理进程与实时控制进程
  4. 封装:基于RKLLM C API开发守护进程,提供本地TCP/HTTP接口,方便上位机交互

如果你需要,我可以提供:
1)可直接编译的完整RKLLM聊天服务源码;
2)适配创龙TL3588的交叉编译CMake脚本;
3)Qwen2.5-3B完整转换脚本+参数调优模板;
4)带前端WebUI的RK3588边缘大模型整套工程包。