之前在树莓派上成功运行 KittenTTS 后,我想到在星睿Orion O6上运行,效率能提升多少?
本文带你在一台搭载 Cix CD8180 SoC 的星睿Orion O6进行实测,并与树莓派 5 正面 PK,揭晓答案。
一、硬件平台介绍
1.1 为什么选择 Orion O6
Orion O6 是瑞莎(Radxa)推出的旗舰级 ARM 开发板,搭载此芯科技(Cix)CD8180 SoC,是一款主打 AI 算力的开发平台:
| 特性 | 说明 |
|---|---|
| SoC | Cix CD8180 |
| CPU | 4x A720 @ 2.8GHz + 4x A720 @ 2.4GHz + 4x A520 @ 1.8GHz |
| 核心数 | 12 核 (8大核 + 4小核) |
| GPU | Arm G720 MC10,支持 8K 解码、硬件光线追踪 |
| NPU | 30 TOPS 算力 |
| 内存 | 最高 64GB LPDDR5 |
注:Orion O6 采用的 CD8180 是一款面向 AI PC、边缘计算、机器人等场景的高性能 SoC,配备了强大的 NPU,非常适合端侧 AI 推理任务。
1.2 双平台硬件对比
| 项目 | 树莓派 5 | Orion O6 (CD8180) |
|---|---|---|
| SoC | Broadcom BCM2712 | Cix CD8180 |
| CPU | Cortex-A76 @ 2.4GHz | 4x A720 @ 2.8GHz + 4x A720 @ 2.4GHz + 4x A520 @ 1.8GHz |
| 核心数 | 4 核 | 12 核 |
| 内存 | 7.9GB | 15GB |
| NPU | 无 | 30 TOPS |
| 定位 | 入门级 SBC | 旗舰级开发板 |
| 参考价格 | ~500 元 | ~2000+ 元起 |
二、部署实战
2.1 环境配置
2.1.1 系统环境
| 项目 | 详情 |
|---|---|
| 设备 | Radxa Orion O6 |
| 操作系统 | Debian GNU/Linux 12 (bookworm) |
| 内核 | Linux 6.6.89-3-sky1 |
| SSH 主机 | orion-o6.ssh |
2.1.2 Python 环境配置
同样面临 Python 版本问题(系统 3.13 vs 依赖要求 < 3.13),使用 Conda 管理:
# 下载 Miniconda
cd /tmp
curl -LO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
bash Miniconda3-latest-Linux-aarch64.sh -b -p ~/miniconda3
# 激活并创建环境
source ~/miniconda3/etc/profile.d/conda.sh
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda create -n tts python=3.11 -y
conda activate tts2.1.3 安装依赖
# 设置代理
export HTTP_PROXY=http://192.168.1.183:8080
export HTTPS_PROXY=http://192.168.1.183:8080
# 安装 espeak-ng
sudo apt-get update && sudo apt-get install -y espeak-ng
# 安装 Python 依赖
pip install -r ~/Projects/tts/KittenTTS/requirements.txt2.2 克隆项目
# 如果尚未克隆
cd ~/Projects/tts
git clone https://github.com/KittenML/KittenTTS.git三、基准测试
3.1 测试方案
为保证公平对比,测试方案与树莓派完全一致:
测试文本:
One day, a little girl named Lily found a needle in her room.
She knew it was difficult to play with it because it was sharp.| 属性 | 值 |
|---|---|
| 字符数 | 113 |
| 单词数 | 29 |
| 句子数 | 2 |
测试流程:
- 加载模型(冷启动)
- Warmup 一次
- 连续 3 次生成,记录耗时
3.2 Orion O6 测试结果
| 模型 | 加载时间 | Gen 1 | Gen 2 | Gen 3 | 平均生成 |
|---|---|---|---|---|---|
| mini (80M) | 18.56s | 5.76s | 5.76s | 5.72s | 5.74s |
| micro (40M) | 9.89s | 3.25s | 3.21s | 3.21s | 3.23s |
| nano FP32 (15M) | 13.25s | 0.96s | 0.89s | 0.88s | 0.91s |
| nano INT8 (15M) | 8.72s | 2.83s | 2.89s | 2.83s | 2.85s |
3.3 双平台对比
3.3.1 生成速度对比
| 模型 | 树莓派 5 | Orion O6 | 提升幅度 | 提升倍数 |
|---|---|---|---|---|
| mini (80M) | 10.63s | 5.74s | -4.89s | 1.85x |
| micro (40M) | 5.91s | 3.23s | -2.68s | 1.83x |
| nano FP32 (15M) | 1.81s | 0.91s | -0.90s | 1.99x |
| nano INT8 (15M) | 5.23s | 2.85s | -2.38s | 1.84x |
关键发现:Orion O6 在所有模型上都展现了约 1.8-2x 的性能提升,与硬件配置差异基本成正比。
3.3.2 生成速度排名
树莓派 5:
nano FP32 (1.81s) > micro (5.91s) > nano INT8 (5.23s) > mini (10.63s)Orion O6:
nano FP32 (0.91s) > micro (3.23s) > nano INT8 (2.85s) > mini (5.74s)3.3.3 INT8 表现对比
| 设备 | nano FP32 | nano INT8 | INT8 vs FP32 |
|---|---|---|---|
| 树莓派 5 | 1.81s | 5.23s | 慢 2.9 倍 |
| Orion O6 | 0.91s | 2.85s | 慢 3.1 倍 |
结论:即使在性能更强的 Orion O6 上,INT8 量化依然比 FP32 慢约 3 倍。这证实了 INT8 量化在纯 CPU 环境下的劣势是普遍存在的,与硬件性能无关。
四、部署建议
4.1 设备选择建议
| 使用场景 | 推荐设备 | 理由 |
|---|---|---|
| 预算有限 | 树莓派 5 | 性价比高,满足基本需求 |
| 追求响应速度 | Orion O6 | nano FP32 仅需 0.91s |
| 多模型部署 | Orion O6 | 内存更大,支持更多并发 |
| 低功耗场景 | 树莓派 5 | 功耗更低 |
4.2 模型选择建议
| 场景 | 推荐模型 | 树莓派 | Orion O6 |
|---|---|---|---|
| 实时交互 | nano FP32 | 1.8s | 0.9s |
| 高质量播报 | mini | 10.6s | 5.7s |
| 嵌入式 | nano FP32 | ✅ 推荐 | ✅ 推荐 |
4.3 性价比分析
以 nano FP32 模型生成为例:
| 设备 | 耗时 | 设备价格 |
|---|---|---|
| 树莓派 5 | 1.81s | ~500 元 |
| Orion O6 | 0.91s | ~2000+ 元 |
从绝对性能看,Orion O6 快一倍;但考虑价格因素,树莓派的性价比反而更高。
五、完整复现命令
5.1 Orion O6 部署脚本
# ===== Orion O6 部署 KittenTTS =====
# 1. 安装 Miniconda
cd /tmp
curl -LO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
bash Miniconda3-latest-Linux-aarch64.sh -b -p ~/miniconda3
# 2. 创建 Python 环境
source ~/miniconda3/etc/profile.d/conda.sh
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda create -n tts python=3.11 -y
conda activate tts
# 3. 安装系统依赖
export HTTP_PROXY=http://192.168.1.183:8080
export HTTPS_PROXY=http://192.168.1.183:8080
sudo apt-get update && sudo apt-get install -y espeak-ng
# 4. 克隆项目
cd ~/Projects/tts
git clone https://github.com/KittenML/KittenTTS.git
# 5. 安装 Python 依赖
pip install -r requirements.txt
# 6. 运行测试
cd KittenTTS
python example.py六、总结
6.1 主要发现
- ✅ Orion O6 比树莓派快约 2 倍,但价格也贵约 2 倍
- ✅ nano FP32 在两个平台都是最优选择,兼顾速度和资源占用
- ❌ INT8 在纯 CPU 环境始终表现不佳,比 FP32 慢 3 倍
- 💡 性价比角度,树莓派 5 更适合入门和预算有限的场景
6.2 双平台性能天梯图
Orion O6 + nano FP32: 0.91s ← 最快
Orion O6 + micro: 3.23s
Orion O6 + nano INT8: 2.85s
Orion O6 + mini: 5.74s
────────────────────────────────
树莓派 5 + nano FP32: 1.81s
树莓派 5 + micro: 5.91s
树莓派 5 + nano INT8: 5.23s
树莓派 5 + mini: 10.63s ← 最慢测试时间:2026-03-21
测试设备:Radxa Orion O6 (orion-o6.ssh) vs Raspberry Pi 5 (mpi5.ssh)