我测量了上次本地代理帖子中本子版块用户提出的三项主张。你们中有一位的预测超越了我自己的假设。学习一切而非知晓一切的规则

Reddit r/AI_Agents 新闻

摘要

用户测试了使用Qwen 27B模型扩展本地AI代理,发现由于内存带宽限制,添加更多代理仅能将吞吐量提高到一定程度,且长提示从并行中获益更多。

过去几天,我虔诚地(本应是在度假)在这里发帖讨论本地代理,特别是Qwen 3.8 27B 4 bit模型。评论比我的帖子更犀利,所以我没有独自写后续。这里的三位用户给了我主张,我将每个都变成了我开发设备MacBook Pro M3 Max 128 GB统一内存和40核GPU上的实验。同时启动,所以我无法秘密设置队列顺序。结果如下:第二个代理帮助一点,第四个则没有。聚合吞吐量从1个代理的16.6 tokens/sec提高到2个代理的20.8 tokens/sec,然后基本持平并在4个和8个代理时下降。同时,每个代理的解码速率从17.4降到12.8到6.8到3.9,而首token时间从0.46秒上升到32秒。总量接近固定,所以每个添加的代理只是让大家的份额更薄。你们中的一位预测了确切的形状。预测是1到2个代理时接近1.5倍,而不是2倍,因为解码受内存带宽限制。我测量到解码密集型为1.57倍,预填充密集型为1.51倍。几乎完全吻合。我自己的假设,即预填充会明显胜出,并没有按预期出现,我在写作中保留了这个失误。更长的提示批处理效果更好。扫描提示长度从约170到约3,100 tokens,1到2个代理的增益单调递增,分别为1.52倍、1.58倍、1.67倍、1.73倍。预填充是计算密集型的,并行化好;解码则不然。所以长上下文工作是第二个代理的最佳情况,短闲聊则是最差情况。一个密集的27B是难题。我在LinkedIn上的科技社区同伴也指出,我的模型每个token重新读取所有权重,所以这是最坏情况。一个MoE模型每个token激活约3B参数,在同一总线上有更多余地。整个运行矩阵都在磁盘上,可重现。我希望这项工作能帮助其他正在考虑或进行此操作并想知道他们结果如何的人。传递下去。
查看原文

相似文章