Windows 11与Linux下llama.cpp的速度差异:中型和大型MoE模型其实没有差别

Reddit r/LocalLLaMA 新闻

摘要

用户评测表明,使用llama.cpp运行大型MoE模型时,Windows 11与Linux之间并无显著速度差异,打破了一个常见迷思。在多GPU配置下,使用Qwen 3.5 122B、397B和MiniMax 2.7等模型进行测试,提示处理和令牌生成速度几乎相同。

如标题所说,在Linux和Windows上使用llama.cpp时,速度没有差异。我曾经因为这个误解,在电脑上长期保留两个操作系统。但当我厌倦了频繁切换后,决定测试一下如果转到Windows会损失多少性能。先简要概述测试所用的电脑: - CPU:Core Ultra 7 265KF 水冷,轻微超频至核心频率5.6/4.7 GHz - 主板:Asus Z890,三个PCIe插槽,其中两个为PCIe 4.0 x4 - 内存:Kingston Beast DDR5 192 GB(4×48 GB),频率6400 MHz,略微降低电压并放松时序以控制温度 - GPU:Nvidia GeForce RTX 5080 16 GB + RTX 5060 Ti 16 GB + RTX 5060 Ti 16 GB,全部降压并轻微超频显存 - 电源:1200 W 80 Plus Gold——其实1000 W就够,但我从一开始就留出了余量 测试使用的操作系统:Ubuntu 26.04(KDE和GNOME——我还用Xfce跑了一次测试),以及Windows 11(已安装所有更新)。llama.cpp版本完全相同,前天通过cmake构建,恰好包含了减少VRAM占用的提交:‘llama: use f16 mask for FA to save VRAM’。 测试模型:Qwen 3.5 122B Q8、Qwen 3.5 397B iq4_xs、MiniMax 2.7 Q5。 llama.cpp启动参数:`-nocb -dio --no-mmap -np 1 -t 15 -tb 15 -c 50000`(编程任务使用`-c 150000`)`-mg 0 -fa on --reasoning-budget 19000 --reasoning-budget-message " ... reasoning budget exceeded, need to answer." --no-mmproj`。还通过设置`CUDA_VISIBLE_DEVICES=1,2,0`配置为从RTX 5080启动。Linux:‘-fit on’,Windows:‘-fit-target 250’。 结果: - Qwen 3.5 122B:Windows上PP 300、TG 28;Linux上PP 290、TG 28.5 - Qwen 3.5 397B:Windows上PP 140、TG 16;Linux上PP 150、TG 15.2 - MiniMax 2.7:Windows上PP 220、TG 17;Linux上PP 230、TG 16 所有测试均运行4次,针对以下任务: 1. 简短文章摘要,提示处理8k tokens。 2. 翻译一段中文书籍内容——提示处理20k tokens。 3. Java测试——所有模型结果百分比相同。在两个类中故意引入错误,提示处理共85k tokens。 好吧,WSL反而最慢——我只用Qwen 3.5 397B跑了一次测试,速度从PP 140、TG 16下降到PP 110和TG 13.5。 我给出了精确的llama.cpp启动参数,任何人都可以轻松在自己的硬件上复现结果。当然,每个人的配置不同,但对于采用混合CPU+GPU卸载的MoE模型,性能比例不会改变。而且运行如此大的模型并不需要大量空间、巨大功耗或其他人们常列出的东西。根据功率计读数,397B模型从插座只消耗了550–600瓦。我还附了一张电脑照片——在封闭机箱内,使用140mm风扇空气对流更好。 https://preview.redd.it/nb4i22ya3g4h1.jpg?width=3000&format=pjpg&auto=webp&s=2b259fcd089c0a4bb1c92a4a077bbfbae4d2b036 https://preview.redd.it/4fxd51ya3g4h1.jpg?width=4000&format=pjpg&auto=webp&s=7a3d67c87139f86d774fe4bd1942d39601624358
查看原文

相似文章