跳到正文

本地模型横评:8 个 7B~14B 模型在同一套题上的实测

用 120 道固定的中文任务题,测了 8 个能本地跑的中等规模模型。含评分标准、原始数据表和我的选型结论。

1365 字约 4 分钟直达下载 ↓
本文目录(6)

网上不缺榜单,但榜单测的东西和你实际要用的事情往往差很远。所以我按自己真实的用法出了 120 道题,把能本地跑的模型都测了一遍。

先说结论:没有一个模型在所有维度上都最好,但选型其实没那么难 —— 先确定你的瓶颈是「中文写作」「代码」「指令跟随」还是「长文本」,答案立刻就收敛了。

测试方法

为什么不用 MMLU / C-Eval。 这些基准已经被训练数据覆盖得差不多了,分数区分度很低。而且它们测的是知识,不是「能不能按我的要求完成任务」。

120 道题的构成:

题型数量说明
指令跟随30带格式约束(输出 JSON、限定字数、指定结构)
中文写作改写25润色、压缩、换语气、改写受众
代码25补全、改 bug、解释、跨语言转换
信息抽取20从长文本里抽结构化字段
长文本理解208K~32K 上下文的定位与总结

评分方式 是混合的:能用程序判定的(JSON 合法性、代码能否通过单测、抽取字段是否准确)全部自动评分;主观题(写作、改写)由我和另外一位同事盲评,两轮取平均。

测试环境:RTX 4090 24 GB,全部使用 4-bit 量化版本,同一套 prompt 模板,temperature 0.3,上下文按各模型能力给到上限。

测评维度与权重分布
测评维度与权重分布

总分与分项

满分 100。

模型总分指令跟随中文写作代码抽取长文本
Qwen2.5-14B-Instruct84.29186788879
Qwen2.5-7B-Instruct78.68782718368
GLM-4-9B-Chat77.98488708072
InternLM2.5-7B-Chat74.17980687671
Llama-3.1-8B-Instruct72.48264857175
Mistral-Nemo-12B71.87666807081
Yi-1.5-9B-Chat70.37879667262
DeepSeek-Coder-7B66.56552885855

几个值得说的发现

Qwen2.5-14B 是这一档的综合最优。 除了代码,其他四项都是前两名,指令跟随 91 分拉开明显差距。24 GB 卡跑 4-bit 版本大概 19 GB,还能留点余量做 KV Cache。如果你只装一个模型,选它。

中文写作 GLM-4-9B 最好。 88 分,明显比 Qwen 的 86 更有「人味」—— 它的句子更短、更少用「首先/其次/总之」这类套话。写公众号、写产品文案,我会用 GLM。

代码任务 Llama-3.1-8B 和 DeepSeek-Coder 明显更强。 DeepSeek-Coder 在代码上 88 分,但中文写作只有 52 分 —— 它是纯代码模型,用它写文档会很痛苦。这类专用模型只适合放在代码补全的位置上。

长文本 Mistral-Nemo-12B 意外地好。 81 分,而且它的原生上下文是 128K。要做长文档处理又只有单卡,它是个被低估的选择。

7B 和 14B 的差距比想象中大。 Qwen 7B 到 14B,参数量翻倍,总分只涨了 5.6 分,但指令跟随涨了 4 分、长文本涨了 11 分。复杂任务上这个差距会放大。

分项第一的实用含义

要模型严格按格式输出  → Qwen2.5-14B(91 分)
要中文写得自然        → GLM-4-9B(88 分)
要写代码 / 改 bug     → DeepSeek-Coder-7B(88 分)
要处理长文档          → Mistral-Nemo-12B(81 分)
要一个都不差          → Qwen2.5-14B

实际生产中我见过最常见的错误是用一个模型硬扛所有任务。如果你的场景里既有代码又有中文文案,用两个小模型各管一摊,效果和成本都比用一个大模型好。

指令跟随:差距最悬殊的一项

这项的分差最大(88 到 65),也最影响实际体验。几个观察:

格式约束是试金石。 要求「输出严格的 JSON,不要包含任何解释文字」时,DeepSeek-Coder 和 Yi 会经常加一句「好的,这是结果:」在前面。对需要程序解析的场景,这就是致命的。

限制性约束最容易失败。 「用不超过 50 字概括」这类要求,小模型普遍会超。Qwen-14B 的超标率是 12%,而 Yi-9B 达到 41%。

多约束叠加会断崖式下降。 单独要求 JSON 没问题,单独要求字数也没问题,但两个一起要求时,7B 级别模型的通过率从 85% 掉到 47%。

应对办法很朴素:能拆成多次调用就拆开,一次只给它一个约束。

复现方式

下载区里有完整的 120 道题、评分脚本和 8 个模型的原始输出。评测脚本支持接 OpenAI 兼容接口,所以对着 vLLM 起的本地服务就能直接跑:

python bench.py \
  --base-url http://localhost:8000/v1 \
  --model Qwen2.5-14B-Instruct \
  --tasks tasks_120.jsonl \
  --output results/qwen14b.jsonl

python score.py results/qwen14b.jsonl   # 自动评分 + 分项统计

如果你想测自己关心的场景,改 tasks_120.jsonl 就行 —— 格式是每行一个 JSON,字段就是 prompt / type / checker。

说实话,测完之后我最大的感受是:这一档模型的差距,远小于「会不会写 prompt、会不会做后处理」带来的差距。 与其纠结选哪个,不如先把评测做起来。

资源下载

2 个入口

链接若失效,欢迎发邮件告诉我,我会尽快重新上传。