一个看似不可能的场景正在成为现实:一个300亿参数的大语言模型,在树莓派5上以每秒8个token的速度实时运行。
ByteShape团队刚刚发布了他们针对Qwen3-30B-A3B的ShapeLearn量化版本,核心成果令人瞩目:在16GB内存的树莓派5上实现8.03 TPS,平均仅2.70比特每权重,同时保留了BF16基准质量的94.18%。
这背后的方法论值得深思。传统思路追求"更小",而他们的策略是把内存视为预算:先确保能装得下,再在速度和质量之间寻找最优解。
这种逆向思维源于一个反直觉的发现:在llama.cpp中,"更少的比特"并不自动意味着"更快的速度"。
尤其在GPU上,不同的量化格式会触发不同的计算内核和解码开销。你完全可能做到模型更小,却跑得更慢。4比特附近往往存在"黄金区间",而继续往低比特压缩反而可能适得其反。
CPU端的行为相对可预测——一旦模型能装下,越小通常越快。但GPU端则充满变数,性能更依赖于内核选择而非单纯的内存占用。
他们的量化方式也颇具匠心:不是简单的全模型统一量化,而是让系统学习每个张量应该使用什么精度。有些层2比特,有些3比特,有些4比特,最终平均2.7 BPW。
社区对此反响热烈。有人建议尝试Mamba2混合架构的Nemotron模型,理论上可以获得双倍速度;有人已经在用它跑代码助手,效果不错;也有人好奇是否能组建树莓派集群来分布式运行MoE模型。
当然,质疑声同样存在:"8 tok/s能干什么?"团队的回答很务实:这是为那些用树莓派做Home Assistant语音助手、替代Alexa的极客们准备的。在如此受限的硬件上实现可用的30B模型,本身就是一种技术边界的探索。
这或许提醒我们:在追求更大模型的同时,如何让现有模型在边缘设备上真正可用,同样是一个值得深耕的方向。