RDK S100/S100P/S600 的端侧 LLM/VLM 原生运行库,BLLM (已开源),让更多的大模型跑在 BPU 上

BLLM:让更多的大模型原生跑在 RDK BPU 上

BLLM(BPU LLM)D-Robotics RDK S100 / S100P / S600

C++17 端侧大语言模型 / 多模态运行时——把已编译的 .hbm直接跑在板载 BPU(hbDNN / hbUCP)上,

自带 KV / SSM 缓存、采样器与解码循环,不依赖任何额外的大模型 SDK

仓库地址:https://github.com/ruisv/bllm


效果展示 ( Qwen3.5-0.8B(混合 SSM)在 RDK S100P BPU 上原生流式对话)

Qwen3.5-0.8B(混合 SSM)在 RDK S100P BPU 上原生流式对话

具身策略:π0.5 跑在 BPU 上

libero_spatial 板上 99/100 ,全程在 BPU

核心特性

  • 原生 BPU 推理。 直接驱动 .hbm,无需 OpenExplorer OE-LLM 之类的第二套运行时。

  • 稠密 + 混合双架构。 覆盖 Qwen2.5-1.5B/7B、DeepSeek-R1-Distill、InternLM2、GLM-Edge、Phi-4-mini

等稠密文本模型;更支持 Qwen3.5-0.8B 混合 Gated-DeltaNet / SSM——严格 100% 落 BPU,约 21 tok/s

这是纯注意力运行时结构上做不到的。

  • 多模态。 Qwen2.5-Omni 的文本 + 图像 + 音频 + 视频;媒体可传文件路径或原始数组,相机 / 麦克风

零拷贝实时流式,边采集边编码进 KV 缓存。

  • 一行式会话。 bllm.load(model) 返回统一会话,内置 C++ 分词器、ChatML 模板、流式输出、多轮对话。

  • 完整采样。 greedy / temperature / top-k / top-p / min-p / typical-p,以及重复、频率、存在惩罚,

可复现。

  • 生产级能力。 困惑度、异步提交、提示缓存(KV+SSM 状态存取,逐位一致复现)、停止串(命中即提前

停止)、以及与视觉流水线共享单 BPU 核的优先级与时间片控制。

与官方 OE-LLM 运行时的区别

D-Robotics 官方提供了闭源的 OE-LLM 板端运行时(libxlm.so)。BLLM 不是它的封装,而是构建在

板子通用 hobot 栈之上的开源原生替代运行时——在对齐官方可用生成能力的基础上,补齐了官方在结构

上不具备的几项能力。核心差异如下(均为同一块 .hbm 上的实测结论):

维度 官方 OE-LLM 运行时(libxlm) BLLM(本项目)
开放性 闭源 开源,Apache-2.0
运行时依赖 在板载栈之上自带一套 libdnn / libhbucp,属第二套版本锁定的运行时 直接构建在板子通用 hobot 运行时上,单一运行时,无双运行时 ABI
风险
安装 需引入 OE-LLM SDK 一次 conda install,无额外 SDK 依赖
架构覆盖 面向注意力 prefill / decode 双图 稠密注意力 + Qwen3.5 Gated-DeltaNet / SSM 混合架构(100% 落 BPU)
模型范围 官方现成清单 官方清单,另可驱动 Phi-4-mini、GLM-Edge、Qwen3 等
文本向量 无编码器入口 支持
停止串 无中途取消,只能生成到 eos 后裁剪 命中即提前停止,省算力
.hbm 吞吐 基准 相当(逐模型实测对齐)

快速上手

板上安装:


conda install -c https://mirrors.ruis.ai/conda -c conda-forge bllm

一行加载,流式对话:


import bllm

llm = bllm.load("/path/to/qwen3.5-0.8b")

for chunk in llm.stream_chat("用一句话介绍北京"):

print(chunk, end="", flush=True)

.hbm 也能直接吃,运行时自动合成清单:


llm = bllm.load("Qwen2.5_1.5B.hbm", tokenizer_dir="Qwen2.5_1.5B_config/")

print(llm.chat("你好"))

C++ 侧对应 bllm::NativeLlm / bllm::NativeVlmfind_package(bllm) 即可链接。

演示

仓库 README 顶部附有实机流式对话录屏:Qwen3.5-0.8B 在 RDK S100P 上中英文对话,约 14 tok/s,

全程 100% 在 BPU 上。

类型 模型
稠密文本 Qwen2.5 1.5B / 7B、DeepSeek-R1-Distill-Qwen 1.5B / 7B、InternLM2-1.8B、GLM-Edge、Phi-4-mini
混合 SSM Qwen3.5-0.8B(原生独有)
多模态 Qwen2.5-Omni-3B(文本 / 图像 / 音频 / 视频)

BLLM 消费成品 .hbm + 分词器配置;模型转换是离线流程,不在本仓范围。

与视觉共享 BPU

S100 / S100P 单 BPU 核,LLM 与视觉会争用同一队列。BLLM 提供优先级与时间片控制:配合 .hbm 编译期的

max_time_per_fc,同驻检测器的 p99 延迟可从 41 ms 降到约 3 ms(383 FPS),而 LLM 空载时几乎不受影响。

参与

License:Apache-2.0。

Qwen3.5 hbm模型权重已经发布

最新版本已发布 欢迎使用 修复BUG 支持更多模型

最新版本已经支持 Qwen3.5 VLM

Qwen3.5 VLM 支持图文输入 已经公开转好好的权重还有转换方法思路
LLM:
Qwen3.5系列:
https://huggingface.co/ruisv/bllm-qwen3.5-0.8b
https://huggingface.co/ruisv/bllm-qwen3.5-2b
https://huggingface.co/ruisv/bllm-qwen3.5-4b

最新模型已支持 PI0.5 具身策略