300 亿参数 Qwen 模型登陆树莓派…… 并实现实时运行
本次发布,我们聚焦用户实际运行模型时的核心体验:在特定目标设备上实现快速、高质量的响应。
我们采用自研的位长学习方法 Shapelearn,为 Qwen3-30B-A3B-Instruct-2507 选择权重数据类型,核心目标是在每秒令牌数(TPS)和输出质量上实现性能最大化,同时遵循一个实际约束:模型必须能舒适适配设备的可用内存。一旦满足内存适配需求,单纯缩小文件体积并非目标 —— 只有当进一步压缩能改善用户真正关心的核心权衡(速度与质量)时,我们才会进行优化。
这种位长学习思路至关重要,因为在 llama.cpp 中,“比特数越少” 并不意味着 “速度越快”。不同的量化格式会触发不同的内核和开销,在部分 GPU 上,即便占用内存更少,更低比特的量化反而可能导致速度变慢。
核心原则:将内存视为必须满足的预算,再优化最关键的指标 ——TPS 和质量。
核心摘要
是的,这款 300 亿参数的 Qwen3 模型可在树莓派上运行。在树莓派 5(16GB 版本)上,Q3_K_S-2.70bpw [KQ-2] 变体以 2.70 比特 / 参数(BPW)的规格实现 8.03 TPS,同时保留 94.18% 的 BF16 精度,真正带来实时交互感。更广泛地说,这一优势在所有测试场景中均成立:ByteShape 模型的 TPS / 质量权衡表现优于同类方案(本文对比了 Unsloth 和 MagicQuant)。
中央处理器(CPU)测试
在 CPU 上,通过缩短位长减小模型体积对 TPS 和精度权衡的影响符合预期:一旦模型适配内存,减小体积通常会以近乎单调的方式提升 TPS。若数据类型选择得当,可通过可预测的少量质量损耗换取速度提升,让用户能轻松找到符合自身约束的性能平衡点。
我们先从内存最受限的 CPU 场景(树莓派 5 16GB)入手(“适配内存” 是核心限制因素),再测试所有模型均能适配的 Intel i7(64GB)场景。
树莓派 5
下图展示了适配树莓派 5 16GB 内存的模型的 TPS 与标准化精度关系(气泡大小 = 模型体积 BPW,数值越小越优,范围:2.1-3.9):
树莓派 5:每秒令牌数(TPS) vs 质量(气泡大小 = 模型体积)
值得注意的是,300 亿参数模型在树莓派上能以 92% 以上的基准精度稳定运行在 8.5 TPS,彻底重塑了对树莓派级设备的性能预期。整体趋势显示,Shapelearn 持续生成更优模型 ——ByteShape 的性能点始终位于 Unsloth 的右上方,意味着在相同质量下实现更高 TPS,或在相同吞吐量下达到更高质量。
我们针对两大核心需求提供优选方案:
- 兼顾响应速度与精度:对于交互式端侧应用,用户感知的流畅度取决于文本生成速度而非峰值吞吐量。实际上,当 TPS 达到约 8(显著高于常规阅读速度)时,生成体验即可称为 “实时”。在树莓派的实时运行场景中,
Q3_K_S-2.70bpw [KQ-2](2.70 BPW、8.03 TPS、94.18% 精度)是首选推荐:它既突破实时阈值,又保持高准确性。与同等质量的 Unsloth 模型相比,ByteShape 以更低的 BPW 和更高的 TPS 实现实时性能,是交互式边缘部署的更优选择。 - 精度优先:下表列出了可在树莓派上运行的最高精度模型。其中,ByteShape 模型充分利用可用资源最大化精度,占据误差最低区间(相对误差约 1.1%-1.3%,精度约 98.8%),而 Unsloth 的最优模型相对误差仍在 2.1%-2.2%(精度约 97.9%)。与 Unsloth 的
UD-Q3_K_XL [8]相比,ByteShape 的误差率最高可降低 1.87 倍,同时保持 5-6 TPS 的运行速度(完全符合树莓派的常规 TPS 标准),是精度优先场景的更佳选择。
即便在优先追求极致速度并允许少量精度损耗的场景下,Q3_K_S-3.25bpw [KQ-5]仍展现更优权衡:比 Unsloth 的最快模型更精准、体积更小且速度更快。
| 模型 | 相对误差 | 比特 / 参数(BPW) | 每秒令牌数(TPS) |
|---|---|---|---|
Q4_K_S-3.92bpw [KQ-7] | 1.14% | 3.92 | 5.30 |
Q4_K_S-3.61bpw [KQ-6] | 1.25% | 3.61 | 5.94 |
Q3_K_S-3.25bpw [KQ-5] | 2.03% | 3.25 | 6.68 |
UD-IQ3_XXS [6] | 2.22% | 3.38 | 5.03 |
UD-Q3_K_XL [8] | 2.13% | 3.62 | 6.28 |
注:许多其他 Unsloth 和 MagicQuant 模型(包括部分 ByteShape 模型)未列入本表,它们在其他章节中进行对比,但因无法适配树莓派内存而不适用。
Intel i7
接下来测试 Intel i7(64GB 内存),下图展示所有模型的 TPS 与标准化精度关系(气泡大小 = 模型体积 BPW,数值越小越优,范围:2.1-9.4):
Intel i7:每秒令牌数(TPS) vs 质量(气泡大小 = 模型体积)
整体而言,ByteShape 模型表现优于 Unsloth 和 MagicQuant,以更少的比特 / 参数实现相当吞吐量下的更高质量。唯有 ByteShape 提供了 26+ TPS 区间的模型,性能远超其他方案。
核心亮点:
- 精度优先:在高精度区间,
IQ4_XS-4.67bpw [KQ-9]实现最低相对误差(0.25%),优于 Unsloth 的最优模型(Q6_K [20]相对误差 0.36%、Q5_K_M [18]相对误差 0.44%)。直接对比显示,ByteShape 比Q6_K [20]误差率最高降低 1.44 倍且吞吐量更高,与Q5_K_M [18]速度基本持平但误差率降低 1.76 倍。MagicQuant 的mxfp4 [3]在此区间表现落后,误差更高且 TPS 更低。 - 均衡选择:在中精度、高吞吐量区间,
Q3_K_S-3.25bpw [KQ-5]以 3.25 BPW 的规格实现约 98% 精度和 23.1 TPS,是整体权衡最优的方案。Unsloth 需以更高 BPW 和更低 TPS 才能达到同等或更高精度(如IQ4_XS [10]),而选择速度接近的模型(如Q3_K_S [7])则会导致误差率升高 1.73 倍。MagicQuant 在该区间无竞争力模型,其最快方案(IQ4_NL [2])在精度和吞吐量上均落后于 ByteShape 和 Unsloth。
关键结论:无论在精度优先还是均衡场景下,ByteShape 始终能将可用比特预算转化为更高精度或更高 TPS,是唯一同时覆盖高质量区间和 26+ TPS 均衡性能区间的方案。
图形处理器(GPU)测试:RTX 5090/32GB 与 RTX 4080/16GB
在 GPU 上,性能表现既取决于内存占用,也同样依赖内核选择。对于矩阵乘法 / 矩阵向量乘法,llama.cpp 的量化专用 GPU 解码路径会产生截然不同的开销,因此 “比特数越少” 并非可靠的 “TPS 越高” 保证。相反,TPS 通常在特定量化 “甜点区间” 达到峰值,过度降低 BPW 甚至可能增加显存(VRAM)流量和指令数,反而损害性能。我们将在 GPU 测试结果后详细解析这一现象,届时内核级别的权衡会更加清晰。
测试覆盖两款 GPU:RTX 5090(32GB 显存)—— 可运行 4 BPW 以上模型并达到最快甜点区间;RTX 4080(16GB 显存)—— 无法适配 4 BPW 以上模型,需进行差异化权衡,更易体现设备优化曲线。
RTX 5090(32GB 显存)
RTX 5090 具备充足显存支持所有量化模型,下图展示其 TPS 与标准化精度关系(气泡大小 = 模型体积 BPW,数值越小越优,范围:2.1-8.5):
RTX 5090:每秒令牌数(TPS) vs 质量(气泡大小 = 模型体积)
两大关键发现:
- 该 GPU 存在明确的~4 比特甜点区间:多款~4 比特模型聚集在高 TPS 区间且质量近乎一致,例如
Unsloth Q4_0 [12]、Unsloth IQ4_XS [10]、IQ4_XS-3.87bpw [IQ-6]和 MagicQuant 的iq4_nl-EHQKOUD-IQ4NL [1],均以~302-303 TPS 运行,精度达~98.4%-98.9%。在这一密集区间内,Unsloth 在吞吐量和质量上略有优势。 - 甜点区间之外,权衡关系变得极不均衡:
- 多数其他 Unsloth 和 MagicQuant 模型无论量化程度如何,TPS 均显著降低;
- 超出~4 比特区间后,唯有 ByteShape 能在精度可预测降低的同时持续提升 TPS。
高精度关键负载:当输出质量至关重要时,ByteShape 提供 RTX 5090 上最精准的模型 ——IQ4_XS-4.67bpw [IQ-8](4.67 BPW、272.98 TPS、99.75% 精度)。它优于Unsloth Q6_K [20](6.57 BPW、264.88 TPS、99.64% 精度),以更少比特实现略高吞吐量;同时在精度和速度上明显超越 MagicQuant 的mxfp4_moe-H-B16-EUR-IQ4NL-KO-Q5K-QD-Q6K [3](5.46 BPW、240.42 TPS、99.32% 精度),是质量关键型部署场景的最优选择。
实用建议:若你的 GPU 显存充足,能运行满足速度和精度需求的~4 比特模型,该区间是理想默认选择。当任务约束要求更高精度或更小模型(如显存预算紧张或受限环境,详见 RTX 4080 测试)时,性能曲线的差异化会更具参考价值。
RTX 4080(16GB 显存)
RTX 4080 是更易获取的 GPU,但其 16GB 显存无法适配 300 亿参数模型的~4 比特量化(“甜点区间”),恰好形成 “真实场景” 下的严格显存预算对比。下图展示适配该 GPU 的模型的 TPS 与标准化精度关系(气泡大小 = 模型体积 BPW,数值越小越优,范围:2.1-3.9):
RTX 4080:每秒令牌数(TPS) vs 质量(气泡大小 = 模型体积)
在 16GB 显存约束下,ByteShape 持续优于 Unsloth,展现更优的 TPS – 质量权衡。
其中,ByteShape 适配该 GPU 的最高精度模型IQ4_XS-3.87bpw [IQ-6](3.87 BPW、214.81 TPS、98.66% 精度)表现如下:
- 相较于
Unsloth Q3_K_XL [8](3.62 BPW、196.42 TPS、97.87% 精度):误差率降低 1.59 倍,TPS 提升 9.4%; - 相较于
Unsloth IQ2_M [2](2.84 BPW、214.79 TPS、96.59% 精度):在相同 TPS 下误差率降低 2.54 倍。
随着吞吐量提升,ByteShape 能保持精度稳定,而 Unsloth 的误差率会出现断崖式上升。
关键真相:3 比特并非单纯的 “3 比特”
测试结果揭示一个不容忽视的事实:在多个设备配置中,~4 BPW 的模型已能实现高速运行,进一步强化量化并不能提升速度,反而会导致 “体积更小但速度更慢”。
减小数据体积并非必然提升速度。虽然用更少比特存储数据看似能减少内存流量、加速计算,但 GPU 的工作机制并非如此。NVIDIA GPU 以 32 线程为一组的 “线程束”(warps)处理任务,线程束近乎同步执行指令。GPU 硬件针对特定数据格式、内存访问模式和运算进行了物理优化,当负载契合这些 “黄金路径” 时,才能发挥峰值性能;一旦偏离,就会出现速度下降。这并非设计缺陷,而是刻意的权衡 —— 支持更多灵活性需要额外的电路(更多线路、晶体管和复杂度),会增加所有运算的功耗和延迟,无论程序是否需要这些灵活性。
以下是几个关键硬件 “特性” 示例:
- 显存按 32 字节对齐块读取,读取 1 字节或 32 字节消耗相同带宽;
- 片上和片外内存的性能会受数据布局影响产生冲突,线程束的访问可能一步完成,最坏情况下需串行执行 32 步;
- 计算前的量化值解码需额外指令,开销取决于量化方案。
这解释了我们观察到的现象:4 比特内核比 3 比特或 2 比特内核更高效利用显存带宽,且解码步骤更少;同时,4 比特内核与低比特内核一样能有效利用子字并行性,且均主要依赖动态缓存(而非共享内存)实现数据复用。
为何 llama.cpp 未针对所有位长优化峰值速度?我们认为,llama.cpp 优先考虑可移植性和空间高效的量化方案,以适配广泛硬件。这一设计目标限制了后端对数据布局的重构或计算顺序的调整力度 —— 这类优化可能仅对特定 GPU 或位长有效。
一个关键示例是 llama.cpp 将量化权重存储在 256 个值的固定块中:每个块独立完整(包含解码所需全部信息),且在张量中位置可预测,便于实现且定位快速。
但权衡之处在于,GPU 需并行解码多个块才能充分利用其宽计算单元。大量独立的 256 值块会导致并行解码产生分散的显存读取和额外解码开销,降低带宽效率(尤其对部分低比特格式)。
以 RTX 5090 为例:iq4_xs数据类型执行 [256, 768]×[768, 2048] 矩阵乘法需~54 微秒,而iq3_xxs需~62 微秒(含 mul_mat_q () 和 mul_mat_q_stream_k_fixup () 操作)。也就是说,每权重减少近 1.2 比特(体积缩减超 25%),反而导致速度下降~13%,直接影响用户体验。
这充分证明位长学习的重要性:启发式方法只能解决部分问题,而 Shapelearn 通过针对性的逐张量数据类型选择,实现了速度提升与精度无损的兼顾。
测试方法(简要回顾)
若你想了解评估标准,完整方法详见我们上一篇博客。本文聚焦性能曲线和设备权衡,以下是精简版说明:
针对每个量化变体,我们在目标设备上测试吞吐量(TPS),并基于 BF16 基准计算标准化质量得分(采用与方法学博客一致的评估框架和提示词)。质量得分整合了标准基准测试(MMLU、GSM8K、IFEval、LiveCodeBench V4)的结果,便于直接对比。简言之,图表中的每个数据点均回答两个问题:在该设备上运行速度如何?相较于 BF16 基准保留多少质量?(内存适配为首要约束)
感谢用户在近期 Reddit 帖子中提出的诸多宝贵建议,我们正积极落实。目前,评估是主要瓶颈而非位长学习 / 量化 —— 严谨的评估是清晰传达各模型优势的关键。
原文链接:https://byteshape.com/blogs/Qwen3-30B-A3B-Instruct-2507/
