你好 @my-gao,
针对你想在 RDK X5 上部署 Qwen2.5-Omni 的需求,我必须首先告知一个关键硬件限制:
核心结论:RDK X5 无法运行 Qwen2.5-Omni (BPU 加速版)
根据官方文档和社区确认:
- 算力不足:Qwen2.5-Omni-3B 模型即使量化后,其推理需求也远超 RDK X5 BPU (10 TOPS) 的承载能力。官方 LLM 工具链仅支持 RDK S100/S100P (120 TOPS BPU)。
- 工具链限制:官方提供的
D-Robotics_LLM_S100工具包不包含 X5 的编译库。X5 的 BPU 主要针对视觉 CNN/Transformer 优化,对 LLM 的算子支持非常有限。 - 社区实证:已有用户尝试在 X5 上跑 Gemma 4 等大模型,结论是只能跑在 CPU 上,且速度较慢(约 2-4 秒/token)。
RDK X5 上的可行替代方案
虽然无法使用 BPU 加速 Qwen2.5-Omni,但你仍有以下两种路径:
方案 A:使用 CPU 运行 Qwen2.5-1.5B (推荐)
在 X5 上通过 llama.cpp 运行纯 CPU 版本的 Qwen2.5-1.5B (非 Omni 多模态版,或使用简化版 VLM)。
部署脚本 (deploy_qwen_x5.sh):
#!/bin/bash
# RDK X5 Qwen2.5-1.5B CPU 部署脚本
set -e
echo "=== 1. 环境检查 ==="
# 检查是否已安装 cmake 和 g++
if ! command -v cmake &> /dev/null; then
echo "错误:未找到 cmake,请先安装:sudo apt install cmake"
exit 1
fi
echo "=== 2. 克隆 llama.cpp (使用地瓜优化版或原版) ==="
cd ~
if [ ! -d "llama.cpp" ]; then
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
else
cd llama.cpp
git pull
fi
echo "=== 3. 编译 llama.cpp (针对 ARM64 优化) ==="
cmake -B build
cmake --build build --config Release -j4
echo "=== 4. 下载模型 (Qwen2.5-1.5B-Instruct Q4_K_M) ==="
MODEL_DIR=~/models
mkdir -p $MODEL_DIR
MODEL_PATH=$MODEL_DIR/qwen2.5-1.5b-instruct-q4_k_m.gguf
if [ ! -f "$MODEL_PATH" ]; then
echo "正在下载模型 (约 1GB)..."
# 使用 huggingface-cli 或 wget 下载
# 这里以 wget 为例,请替换为实际下载链接
wget -O $MODEL_PATH "https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF/resolve/main/qwen2.5-1.5b-instruct-q4_k_m.gguf"
fi
echo "=== 5. 设置 CPU 高性能模式 ==="
echo "performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
echo "=== 6. 运行推理测试 ==="
cd ~/llama.cpp
./build/bin/llama-cli \
-m $MODEL_PATH \
-n 512 \
-t 4 \
-c 2048 \
-p "你好,请介绍一下地瓜机器人 RDK X5。"
echo "=== 部署完成 ==="
echo "提示:X5 运行 1.5B 模型速度约为 3-5 秒/token,适合简单问答。"
性能预期:
- 首字延迟:约 1-2 秒
- 生成速度:约 3-5 秒/token (Qwen2.5-1.5B)
- 内存占用:约 1.2GB
方案 B:视觉 BPU + 语言 CPU (VLM 混合架构)
如果你需要多模态能力,可以沿用 hobot_llamacpp 或社区 VLM 方案:
- 视觉部分:ViT 模型运行在 BPU 上(快速提取特征)。
- 语言部分:Qwen2.5-0.5B/1.5B 运行在 CPU 上。
参考项目:
- RDK X5 运行 VLM 模型 (精华帖)
- 使用
hobot_llamacpp部署 InternVL2_5 (视觉 BPU + 语言 CPU)
硬件对比与建议
| 平台 | BPU 算力 | LLM BPU 支持 | 推荐方案 |
|---|---|---|---|
| RDK X5 | 10 TOPS | CPU 跑 1.5B 以下模型 | |
| RDK S100P | 120 TOPS | 完整 BPU 加速 | |
| RDK S600 | 更高 | 高性能场景 |
建议:
- 如果必须在 X5 上跑:使用方案 A,选择
Qwen2.5-0.5B或1.5B的量化模型,接受 CPU 推理的速度限制。 - 如果需要多模态 BPU 加速:请升级到 RDK S100P 开发板,这是目前唯一支持 Qwen2.5-Omni BPU 部署的平台。
- 关注后续更新:地平线正在优化 X5 的 LLM 工具链,未来可能会支持更小的 LLM BPU 部署,但 3B 级别模型在 X5 上几乎不可能。
下一步
如果你确认要在 X5 上尝试 CPU 方案,我可以帮你:
- 提供 Qwen2.5-0.5B 的 GGUF 下载链接。
- 编写一个 FastAPI 封装脚本,让 X5 上的模型能被 LangChain 调用。
- 优化
llama.cpp的编译参数,提升 X5 CPU 推理速度。
请告诉我你的具体需求!