我在 MLX 上使用同一个飞行模拟提示词测试了 9 个本地模型,全部均为 Q8 量化版本,但来自不同的量化提供商。

Reddit r/LocalLLaMA 新闻

摘要

在 MLX 框架下对 9 款量化本地大语言模型进行的基准测试表明,针对空战 HTML 提示词的测试结果显示:若要生成可用的代码输出,量化提供商的选择与模型自身的特性差异比参数量或位宽更为关键。

**我给9个本地模型下达了相同的空战模拟生成提示词。结果打破了我对量化方案选择与参数规模的若干假设。** *全部基于 8-bit MLX,运行于 M3 Max 128GB,通过 omlx 提供推理服务,并使用 Claude Code 进行提示编排。每次使用的提示词完全一致——要求生成单文件 HTML,包含三架可选飞机(喷气式、螺旋桨式、以及由模型自由决定的“特选款”),并需实现动态敌机、曳光弹、伤害判定及阵亡时的螺旋坠毁动画。我统计了完成目标所需的提示交互次数,并以“是否真正可玩”作为核心评测标准。* [https://alextzk.github.io/flight-combat-llm-comp/](https://alextzk.github.io/flight-combat-llm-comp/) <- 你可以在这里试玩这些游戏 **测评阵容:** * Gemma 31B dense unsloth * Gemma 4 26B a4b unsloth * Qwen3.5 27B dense * Qwen3.5 35B A3B MoE * Qwen3.6 35B A3B in three different quants (oMLX, Unsloth, MLX Community) * Qwen3 Coder Next 80B * Qwopus 3.5 27B **令人意外的发现:** **1. 量化方案的选择比位宽更重要。** 对同一个 Qwen3.6 35B 模型进行了三种不同的 8-bit 量化,结果生成了三款差异明显的游戏。Unsloth 仅用 3 次提示便顺利通关(1,304 行代码,小地图正常工作,行星呈球形,模型甚至会在提交前主动审查代码自查 Bug)。MLX Community 在第 4 次提示时达标。而 oMLX 则是一场长达 5 次提示的调试噩梦:飞控会出现严重的“回中/粘滞”现象,模型试错三次后仍找不到原因。基座模型一模一样,都是 8-bit,但量化后端带来的体验天差地别。“这只是个 8-bit 量化版”这句话根本不足以描述量化质量的全貌。 **2. 代码行数与质量基本脱钩。** 冠军得主(Qwopus 3.5 27B)仅用 2 次提示、1,049 行代码就交卷。落败者(Qwen Coder Next 80B)用了 3 次提示、1,635 行代码——全场最多——但结果是摄像机过于敏感、没有敌机、且所有飞机都倒转了 180°。这个 80B 版本生成的代码量是 Gemma 31B dense 的 3 倍,但做出的游戏反而更差。 **3. Qwopus 是唯一内置真实飞行物理引擎的模型。** 没人要求过这个功能,但它直接做到了——将推力和阻力与单机气动常数相结合,加入了逐帧速度阻尼,F-16 和 Mustang 的加速表现不同正是因为常数设置不同。它也是唯一实现程序化音频的模型(引擎频率随空速比调制)。仅 2 次提示。我不得不认为这是 Opus 蒸馏技术真正发挥了作用,因为原版 Qwen3.5 27B dense(同一基座)交出了全场最差的作业(控制循环在同一帧内混合了四元数旋转与直接的欧拉角写入,导致飞机像搅拌机一样在空中打转坠落)。操控虽然远非完美,但其实现方式和额外构建的其他功能是无可挑剔的。Web Audio 引擎配合随空速比调制的音调: `function updateEngineSound(speedRatio) {` ` engineOsc.frequency.setValueAtTime(80 + speedRatio * 120, audioCtx.currentTime);` `}` `// F-16 配置中的速度、推力与阻力数据` `speed: 1200, turnRate: 0.015, climbRate: 0.008, thrust: 0.02, drag: 0.001,` `// 在更新循环中` `this.velocity.add(forward.multiplyScalar(this.stats.thrust * 1000 * delta));` `this.velocity.multiplyScalar(1 - this.stats.drag);` **其他值得注意的细节:** \- 生成速度:Gemma 4 26B a4b 以 58.3 tok/s 的速度称王,几乎是 Qwen A3B 变体的 2 倍,稠密模型的 7 倍。Qwopus 生成速度不足 11 tok/s,却依然夺冠。单纯拿单个 token 的生成速度来衡量“产出可用成品的时间”是非常片面的。 \- Qwen3.6 相比 3.5 是一次实打实的跨越。这 0.1 的迭代进步远超预期——模型会主动复盘自身输出,甚至试图在浏览器中为你自动打开生成的 HTML。虽是细节,但聚沙成塔。 \- “自选第三架飞机”的开放题意外成为了绝佳的创造力探针。Qwen3.6 oMLX 选择了 AH-64 Apache(严格来说不算固定翼,但绝对是全场最有意思的答案)。Qwen Coder Next 80B 作为阵容中体量最大的模型,面对“你自定一款”的要求,竟然老老实实交了另一架战斗机。 \- Qwen 的标志性 Bug:飞机渲染时默认倒转了 180°。几乎在所有 Qwen 变体中都曾出现过。 **我的个人排名:** 1. Qwopus 3.5 27b dense 2. Qwen3.6 35b unsloth 3. Gemma 4 26b unsloth 4. Gemma 4 31b unsloth 5. Qwen3.6 35B mlx-community 6. Qwen3.5 35b mlx-community 7. Qwen3.6 35b oMLX oQ quant 8. Qwen3Coder-Next 80B mlx-community 9. Qwen3.5 27b mlx-community 如果有人对更详尽、带点幽默调侃、逐款拆解各模型具体 Bug 与特性的长文感兴趣,可以查看 [我的 Medium 专栏](https://medium.com/@alexandru_vasile/i-made-9-local-llms-build-the-same-flight-combat-game-ed7136cc3560),完全无付费墙限制。[GitHub](https://github.com/AlexTzk/flight-combat-llm-comp) 仓库中每个 HTML 文件的顶部注释都记录了喂给 Claude Code 的原始提示词及相关备注。欢迎在评论区深入探讨任何具体测试数据。目前已规划两项后续测试——让同样的 9 个模型进行一次含 10 个 Bug 的代码审查任务,以及一项暂未公开的创意命题。 EDIT: 已在文章开头补充了游戏试玩链接。
查看原文

相似文章

我在 MacBook Air M5 上对 21 款本地大模型进行了代码质量与速度的性能评测

Reddit r/LocalLLaMA

一位开发者在 MacBook Air M5 上使用 HumanEval+ 对 21 款本地大模型进行了基准测试,发现 Qwen 3.6 35B-A3B (MoE) 以 89.6% 的得分和 16.9 tok/s 的速度位居榜首,而 Qwen 2.5 Coder 7B 仅需 4.5 GB 内存即可达到 84.2% 的性能,拥有最佳的内存性价比。值得注意的是,Gemma 4 系列的表现远低于预期(31B 版本仅得 31.1%),这可能是受 Q4_K_M 量化策略的影响。

GLM 5.2 Q1_S 对比 Qwen 27B Q8

Reddit r/LocalLLaMA

一位爱好者将高度量化的 GLM 5.2(Q1_S)与高量化版本的 Qwen 27B(Q8)在代码生成任务上进行对比,发现量化程度较低的大模型在质量和完整性上明显优于量化程度较高的小模型。