背景
Qwen3系列发布带来了对比上代近乎翻倍的性能(指几乎所有模型都达到了上一代参数量翻倍版本的性能,如32b达到72b能力等),这里通过devopseval测试集的ProgrammingLanguage下4个子集(对应C_C++、Go、Java、Python编程相关问题,均为选择题),对上述说法进行验证。
另外,我也对Qwen3系列的两个MOE模型(235B-A30B和30B-A3B)性能很感兴趣。
测试方案
通过不同模型在相同测试集上的表现,大致判断模型性能对应档次;
- 测试集:devopseval测试集 - zh - test - CODE - Develop - ProgrammingLanguage (包含4个子集)
- 测试参数:temperature=0.8(Deepseek-V3、Qwen3-235B-A22B为0.7),其余默认,所有测试模型均为Q4_K_M量化模型
首先Qwen3系列全系列均具备可选推理能力,这里为提高验证效率,在提示词末尾增加/nothink,以取消模型思考。
参与测试模型:
- Deepseek-V3-0324
- Deepseek-coder-V2-Lite
- Qwen2.5:7B
- Qwen2.5:14B
- Qwen2.5-Coder:32B
- Qwen3:4B
- Qwen3:8B
- Qwen3:14B
- Qwen3:32B
- Qwen3-30B-A3B
- Qwen3-235B-A22B
测试数据
Deepseek-V3-0324 测试结果
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C_C++.c | 0.79 | 1.0 | 517.07 | 100 |
devopseval - Go.csv | 0.72 | 1.0 | 460.91 | 100 |
devopseval - Java.cs | 0.75 | 1.0 | 417.73 | 100 |
devopseval - Python. | 0.7945 | 1.0 | 282.17 | 73 |
总通过率: 0.7614
Deepseek-Coder-V2-Lite 测试结果
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C_C++.c sv 测试集 | 0.68 | 1.0 | 77.8 | 100 |
devopseval - Go.csv 测试集 | 0.59 | 1.0 | 74.08 | 100 |
devopseval - Java.cs v 测试集 | 0.62 | 0.99 | 70.79 | 100 |
devopseval - Python.csv 测试集 | 0.589 | 1.0 | 54.12 | 73 |
总通过率: 0.622
qwen2.5:7b
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C/C++.c | 0.48 | 0.83 | 19.23 | 100 |
devopseval - Go.csv | 0.45 | 0.78 | 12.66 | 100 |
devopseval - Java.cs | 0.51 | 0.82 | 13.54 | 100 |
devopseval - Python. | 0.7123 | 0.9315 | 8.91 | 73 |
总通过率: 0.5255
qwen2.5:14b
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C/C++.c | 0.61 | 0.98 | 28.78 | 100 |
devopseval - Go.csv | 0.55 | 0.97 | 31.07 | 100 |
devopseval - Java.cs | 0.64 | 0.99 | 28.19 | 100 |
devopseval - Python. | 0.7671 | 1.0 | 14.55 | 73 |
总通过率: 0.6327
qwen2.5-coder:32b
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C/C++.c | 0.73 | 1.0 | 49.11 | 100 |
devopseval - Go.csv | 0.66 | 1.0 | 47.23 | 100 |
devopseval - Java.cs | 0.72 | 1.0 | 45.31 | 100 |
devopseval - Python. | 0.8356 | 1.0 | 31.57 | 73 |
总通过率: 0.7292
qwen3:4b
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C_C++.c | 0.63 | 0.99 | 14.95 | 100 |
devopseval - Go.csv | 0.67 | 0.99 | 14.43 | 100 |
devopseval - Java.cs | 0.64 | 1.0 | 14.17 | 100 |
devopseval - Python. | 0.5479 | 0.9863 | 10.35 | 73 |
总通过率:0.6273
qwen3:8b
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C_C++.csv 测试集 | 0.68 | 1.0 | 21.25 | 100 |
devopseval - Go.csv测试集 | 0.67 | 1.0 | 16.75 | 100 |
devopseval - Java.csv 测试集 | 0.66 | 1.0 | 16.54 | 100 |
devopseval - Python.csv 测试集 | 0.6301 | 1.0 | 11.67 | 73 |
总通过率: 0.6622
qwen3:14b
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C_C++.csv 测试集 | 0.72 | 1.0 | 24.87 | 100 |
devopseval - Go.csv测试集 | 0.68 | 1.0 | 24.57 | 100 |
devopseval - Java.csv 测试集 | 0.74 | 1.0 | 23.83 | 100 |
devopseval - Python.csv 测试集 | 0.8219 | 1.0 | 16.79 | 73 |
总通过率: 0.7346
qwen3:32b
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C_C++.c | 0.76 | 1.0 | 51.87 | 100 |
devopseval - Go.csv | 0.73 | 1.0 | 49.73 | 100 |
devopseval - Java.cs | 0.73 | 1.0 | 47.56 | 100 |
devopseval - Python. | 0.7671 | 1.0 | 33.18 | 73 |
总通过率: 0.7453
Qwen3-30B-A3B 测试结果
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C_C++.csv 测试集 | 0.72 | 1.0 | 35.35 | 100 |
devopseval - Go.csv测试集 | 0.59 | 1.0 | 33.46 | 100 |
devopseval - Java.csv 测试集 | 0.76 | 1.0 | 31.7 | 100 |
devopseval - Python.csv 测试集 | 0.7808 | 1.0 | 21.36 | 73 |
总通过率: 0.7078
Qwen3-235B-A22B 测试结果
测试项 | 准确率 | 指令遵循率 | 耗时 | 测试次数 |
---|---|---|---|---|
devopseval - C/C++.c | 0.76 | 1.0 | 376.14 | 100 |
devopseval - Go.csv | 0.65 | 1.0 | 355.37 | 100 |
devopseval - Java.cs | 0.74 | 1.0 | 332.95 | 100 |
devopseval - Python. | 0.6438 | 1.0 | 226.32 | 73 |
总通过率 : 0.7024
汇总表格(已排序):
模型名称 | 准确率 |
---|---|
Deepseek-V3-0324 | 0.7614 |
qwen3:32b | 0.7453 |
qwen3:14b | 0.7346 |
qwen2.5-coder:32b | 0.7292 |
Qwen3-30B-A3B | 0.7078 |
Qwen3-235B-A22B | 0.7024 |
qwen3:8b | 0.6622 |
qwen2.5:14b | 0.6327 |
qwen3:4b | 0.6273 |
Deepseek-Coder-V2-Lite | 0.622 |
qwen2.5:7b | 0.5255 |
测试结论
稠密模型
首先对于同为稠密模型的qwen3系列,可见在该测试集上确实得到了近乎跨层级的提升,不仅是测试通过率,指令遵循率(即是否按提示词要求仅输出选项)也得到了大幅提升,这意味着8B级别的模型已经完全可以胜任Agent中的“执行者”角色。
另外,可见测试正确率随模型参数量提升而上升,因此我认为在同架构、同系列的模型上此测试是可信的。
MOE模型
而MOE模型似乎有些问题,Qwen3-30B-A3B(总参数30B,激活参数为3B)测试数据介于7B - 14B 模型之间,吞吐量数据同样介于7B - 14B 模型之间(基于llama-bench,Qwen3-30B-A3B | p1000+ | t 100+,Qwen2.5-7B | p4300+ | t134+),这对于额外占用的显存/内存以及降低的prefill速度而言似乎得不偿失。
至于Qwen3-235B-A22B,其测试数据低于同架构的Qwen3-30B-A3B就有些摸不着头脑,对于这个数据我调整参数测试了两次:
-
参考Qwen文档中提到的推荐参数(–presence_penalty 1.5 --top_k 20 --temperature 0.7 --top_p 0.95)测得数据为0.6907;
-
使用kt默认参数(–presence_penalty 0 --top_k 50 --temperature 0.95 --top_p 0.8)测得数据为0.7024;
数据均持平甚至低于Qwen3-30B-A3B。
但在逻辑推理方面,Qwen3-235B-A22B表现出接近R1的能力,这让我推测:或许Qwen3-235B-A22B的训练语料、预训练调优方面与Qwen3系列其他模型不一致。亦或者这款模型在gguf量化产生的损失超出预期,否则难以解释官方发布的数据中超过Deepseek R1,接近Gemini Pro的测试成绩。
总结
需要注意的是,上述测试仅代表在较短上下文、有明确指令约束、单选题场景下的模型性能,实际使用中,更大体量的模型往往有更强的指令遵循、人类意图理解能力,从而在复杂任务下表现更优。
但可以体现的是,在简单任务场景下,Qwen3的稠密模型确实可以称得上当前最强开源模型,还有其附带的基于/think|/nothink标签的可选思维链功能,可以有效拓展模型的能力边界,适应更多使用场景(但小于14B的模型按以往经验,开启思维链对回答质量是降低的)。
而MOE模型就需要更多后续的观察、复现,Qwen3-235B-A22B已知有出现 高概率进入死循环(官方文档中有提到可以增大presence_penalty参数,说明官方已知存在这个问题)、指令遵循异常(cline中出现不遵循diff格式问题)等,这些问题在qwq-preview版本也有出现,或许后面会再发布该模型的调优版本。
另外我很期待基于Qwen3-32B的Coder模型,在现在的性能表现下,或许Coder模型可以在小任务上达到超过deepseek-v3-0324的表现。
转载声明:此博文未经本人允许,不得转载,请勿爬取