蓝迪哥玩转Ai(8)---端侧AI:RK3588 端侧大语言模型(LLM)开发实战指南

蓝迪哥玩转Ai(8)---端侧AI:RK3588 端侧大语言模型(LLM)开发实战指南

正点原子 ATK-DLRK3588 开发板

V1.0 | 2026年5月5日

一、前言

FPGA ,ARM, RISC-V, NPU大家都要认真努力学习。先科普一个简单的文章:

1.1 什么是端侧 LLM?

端侧 LLM 是指在本地设备上运行大语言模型,相比云端部署具有以下优势:

优势 说明

隐私安全 数据不离开本地设备

低延迟 无需网络传输,响应更快

离线可用 不依赖网络连接

成本更低 无需支付云服务费用

二、RK3588 与 RKLLM 技术概述

2.1 RK3588 芯片特性

特性 规格

CPU 四核 Cortex-A76 + 四核 Cortex-A55

GPU Mali-G610 MC4

NPU 6TOPS INT8/INT16/FP16

2.2 RKLLM 软件架构

RKLLM 是瑞芯微为大语言模型部署设计的完整软件栈:

复制代码
                               图 1: RKLLM 软件架构图

2.3 RKLLM 技术特点

  1. 支持多种模型架构
    • LLaMA / LLaMA2
    • Qwen / Qwen2 / Qwen3
    • Phi-2 / DeepSeek-R1
  2. 支持多种量化精度
    • w8a8:8位权重 + 8位激活(推荐 RK3588)
    • w4a16:4位权重 + 16位激活(更小模型)

三、LLM 模型转换详解

3.1 模型转换流程

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐

│ Hugging Face │────>│ RKLLM-Toolkit │────>│ RKLLM │

│ 模型 │ │ 转换工具 │ │ 量化模型 │

└─────────────────┘ └─────────────────┘ └─────────────────┘

图 2: LLM 模型转换流程

3.2 安装 RKLLM-Toolkit

创建 Python 虚拟环境

python3 -m venv rkllm_env

source rkllm_env/bin/activate

pip install rkllm-toolkit

3.3 模型转换代码

from rkllm.api import RKLLM

llm = RKLLM()

ret = llm.load_huggingface(model='./Qwen1.8B', device='cpu')

ret = llm.build(do_quantization=True,

quantized_dtype='w8a8',

target_platform='rk3588',

num_npu_core=3,

dataset='./data_quant.json')

ret = llm.export_rkllm('./qwen1.8b-w8a8-rk3588.rkllm')

3.4 量化参数说明

参数 可选值 说明

quantized_dtype w8a8, w4a16 量化精度

num_npu_core 1, 2, 3 NPU 核心数

target_platform rk3588, rk3576 目标平台

四、RK3588 模型部署

4.1 ADB 连接方式

连接开发板

adb connect 192.168.1.22:5555

adb shell

4.2 推送并运行模型

推送模型文件

adb push qwen1.8b.rkllm /userdata/aidemo/

解压并运行

cd /userdata/aidemo && unzip rkllm_qwen_1.8.zip

chmod +x llm_start.sh && ./llm_start.sh

五、C++ 应用开发

5.1 RKLLM C++ API 示例

#include "rkllm.h"

LLMHandle llmHandle = nullptr;

void callback(RKLLMResult *result, void *userdata, LLMCallState state) {

if (state == RKLLM_RUN_NORMAL) {

printf("%s", result->text);

}

}

int main() {

RKLLMParam param = rkllm_createDefaultParam();

rkllm_init(&llmHandle, &param, callback);

// ... 推理代码

六、支持模型列表

模型 参数量 量化方式 推荐平台

Qwen1.8B 1.8B w8a8, w4a16 RK3588

Qwen3-4B 4B w8a8 RK3588

DeepSeek-R1 1.5B/7B w8a8 RK3588

Phi-2 2.7B w8a8 RK3588

七、参考资料

7.1 官方资源

资源 链接

RKLLM SDK github.com/airockchip/rknn-llm

RKNN-Toolkit2 github.com/airockchip/rknn-toolkit2

--- 文档结束 ---

感谢阅读!

FPGA ,ARM, RISC-V, NPU大家都要认真努力学习。

相关推荐
夕阳_醉了几秒前
让 AI 回答“打字般”浮现:用 Vue 3 + DeepSeek 实现流式聊天
前端·vue.js·人工智能
MoRanzhi12031 分钟前
第5篇(上)· 使用 PyQt5 实现 2048 算法求解版:五类搜索算法内核
python·启发式算法·强化学习·搜索算法·蒙特卡洛树搜索·2048游戏·expectimax
xiaoyunxuexibiji3 分钟前
供应商绩效评价体系如何建立?从评价指标到自动化考核
运维·人工智能·自动化
lucas_AI5 分钟前
488 GiB 变 3.81 GiB:腾讯把视觉文档检索的索引砍掉 128 倍,精度只让了 7 分
人工智能
星川皆无恙5 分钟前
基于知识图谱的百科问答系统:Django + Neo4j 与实现
人工智能·python·机器学习·自然语言处理·django·知识图谱·neo4j
Raas1006 分钟前
MemT-1.0 接入设计指南:硬件核算、三方案选型与写入触发点
大数据·网络·人工智能·机器学习·数据挖掘·ai agent
qq_448011167 分钟前
EXEC字典沙箱仅是名字空间隔离,模块和解释器仍共享带来的坑
python
金仓社区的KK7 分钟前
Agent Skill 没按预期执行?用请求、调用记录和产物排查
人工智能·软件构建·ai-native
java1234_小锋9 分钟前
MySQL 宣布正式拥抱 AI
数据库·人工智能·mysql
打工仔折腾 AI11 分钟前
介入式脑机接口的跨尺度解码与闭环调控:从算法落地到后端工程实践
人工智能·后端·python·深度学习·算法·ai agent 实战