跳转到内容

RKLLM 大模型介绍

修改履历

NO版本修改内容修改日期
1Ver1.0新建2026/06/20

本文档信息可能会因文档改进而在未事先通知的情况下变更。最新版请参照本公司网站。

未经株式会社日昇科技书面许可,严禁以任何形式复制本文档。

1. RKLLM简介

1.1. RKLLM工具链介绍

1.1.1. RKLLM-Toolkit功能介绍

RKLLM-Toolkit 是为用户提供在计算机上进行大语言模型的量化、转换的开发套件。通过该 工具提供的 Python 接口可以便捷地完成以下功能:

(1)模型转换:支持将 Hugging Face 和 GGUF 格式的大语言模型(Large Language Model, LLM)转换为 RKLLM 模型,目前支持的模型包括 LLaMA, Qwen, Qwen2, Qwen3, Phi-2, Phi-3, ChatGLM3, Gemma, Gemma2, Gemma3, Gemma3n, InternLM2, TeleChat2, MiniCPM-S, MiniCPM 和 MiniCPM3, MiniCPM4,转换后的 RKLLM 模型能够在 Rockchip NPU 平台上加载使用。

(2)量化功能:支持将浮点模型量化为定点模型,目前支持的量化类型包括

a. w4a16;

b. w4a16 分组量化(支持的分组数为 32, 64, 128);

c. w8a8;

d. w8a8 分组量化(支持的分组数为 128, 256, 512);

1.1.2. RKLLM Runtime功能介绍

RKLLM Runtime 主要负责加载 RKLLM-Toolkit 转换得到的 RKLLM 模型,并在板端通过调 用 NPU 驱动在 Rockchip NPU 上加速 RKLLM 模型的推理。在推理 RKLLM 模型时,用户可以 自 行定义 RKLLM 模型的推理参数设置,定义不同的文本生成方式,并通过预先定义的回调函数 不断获得模型的推理结果。

1.2. RKLLM开发流程介绍

RKLLM 的整体开发步骤主要分为 2 个部分:模型转换和板端部署运行。

(1)模型转换:

在这一阶段,用户提供的 Hugging Face 格式的大语言模型将会被转换为 RKLLM 格式, 以 便在 Rockchip NPU 平台上进行高效的推理。这一步骤包括:

a. 获取原始模型:1、开源的 Hugging Face 格式的大语言模型;2、自行训练得到的大 语 言模型,要求模型保存的结构与 Hugging Face 平台上的模型结构一致;3、GGUF 模型,目 前仅支持 q4_0 和 fp16 类型模型;

b. 模型 加载 :通 过 rkllm.load_huggingface()函数 加载 huggingface 格式 模型 ,通过 rkllm.load_gguf()函数加载 GGUF 模型;

c. 模型量化配置:通过 rkllm.build() 函数构建 RKLLM 模型,在构建过程中可选择是否 进行 模型量化来提高模型部署在硬件上的性能,以及选择不同的优化等级和量化类型。

d. 模型导出:通过 rkllm.export_rkllm() 函数将 RKLLM 模型导出为一个.rkllm 格式文件, 用于后续的部署。

(2)板端部署运行:

这个阶段涵盖了模型的实际部署和运行。它通常包括以下步骤:

a. 模型初始化:加载 RKLLM 模型到 Rockchip NPU 平台,进行相应的模型参数设置来 定义 所需的文本生成方式,并提前定义用于接受实时推理结果的回调函数,进行推理前准备。

b. 模型推理:执行推理操作,将输入数据传递给模型并运行模型推理,用户可以通过预 先定 义的回调函数不断获取推理结果。

c. 模型释放:在完成推理流程后,释放模型资源,以便其他任务继续使用 NPU 的计算

资源。

以上这两个步骤构成了完整的 RKLLM 开发流程,确保大语言模型能够成功转换、调试,并 最终在 Rockchip NPU 上实现高效部署。

1.3. 资料下载

本手册所需的模型文件、模型转换代码以及部署代码,可通过以下两种方式下载。

图:RKLLM-Toolkit 安装包的放置示例

RKLLM-Toolkit 到 RKLLM Runtime / RKNPU 的工具链整体结构

图:RKLLM-Toolkit 到 RKLLM Runtime / RKNPU 的工具链整体结构