Qwen3.8-27B 评测表的对比列:有一列在多数行上是空的

2026-08-16

翻 Hugging Face 上 Qwen/Qwen3.8-27B 的 model card 时,## Benchmark Results 一节给人的第一印象是”整齐”:两张表,各五列,行名一列列排下来,加粗的格子一眼可见。但如果你把这两张表逐格拆开数一遍,会看到一件在视觉上很容易被跳过的事——这五列填进去的格子数并不一样多,而且差得不算小。

本文写的全部数字都来自 model card 自述,对应快照 1d4bf0f,核对日 2026-08-16。我们没有下载权重、没有部署、也没有推理过这个模型,所有评测结果均为 model card 自己贴出来的值,我们没有复现过,评测方法与环境以官方说明为准。

先说这两张表长什么样

两张表分别在 README.md### Text Performance(三级标题在 README.md:58,表体 README.md:70README.md:174)和 ### VL Performance(标题 README.md:189,表体 README.md:191README.md:210)。它们在 model card 里是原生 HTML <table>,不是 Markdown 表格,所以你在网页上看到的和你 git clone 下来读到的源文本,形态差得挺远。

用 Python 数 <tr> 的结果是:表一 16 个 <tr>,表二 16 个 <tr>。表一的 16 行拆开是 1 个表头行 + 3 个分组行(Coding / Agent / General)+ 12 个评测行;表二是 1 个表头行 + 2 个分组行(Agentic Multimodal Intelligence / General Multimodal Intelligence)+ 13 个评测行。两张表合起来 25 个评测行、25 个互不重名的评测集

列名照抄 README.md:72README.md:192(两张表的表头列名完全相同):Qwen3.8-27BQwen3.6-27BQwen3.7-PlusMuse Glimmer-30BOpus4.6 Max。这是 model card 自己选的对比列,不是我们做的对比;其中 Qwen3.7-PlusMuse Glimmer-30BOpus4.6 Max 在 README 里只作为列名出现(README.md:72README.md:192),没有任何链接、版本号或来源说明,我们也没有去查证它们各自是什么。

逐列数一遍「有值 / --

把两张表用 HTMLParser<tr> / <td> 拆开、跳过带 colspan 的分组行,统计每一列有多少格是真数值、多少格是 --,结果是这样(快照 1d4bf0f,2026-08-16 实读):

列名(照抄表头)Text 表 12 行:有值Text 表:--VL 表 13 行:有值VL 表:--
Qwen3.8-27B120130
Qwen3.6-27B120130
Qwen3.7-Plus120130
Muse Glimmer-30B57310
Opus4.6 Max93103

横向再核一遍:表一 -- 合计 7 + 3 = 10 个,表二 10 + 3 = 13 个。这和直接用字符串数 >--< 的结果对得上——表一 10 个、表二 13 个。两条口径独立算出同一个数,说明拆表没拆错。

最扎眼的一格是 Muse Glimmer-30B 在 VL 表:13 个评测行里只有 3 行有数值,10 行是 --。也就是说,你在这张表上把它当成一条完整的对照线来读时,实际上有值的行还不到四分之一。Text 表也差不多,12 行里 5 行有值。Opus4.6 Max 的空格数少一些,两张表各有 3 行是 --。Qwen 自家的三列在 25 个评测行里全都有数值,一个 -- 都没有。

这里只陈述覆盖率差异本身,不推断为什么会这样,也不据此评价任何一个模型。

-- 到底是什么意思,README 自己写了

两张表的脚注最后一条是同一句话,原文照抄(README.md:184README.md:220):

Empty cells (—) indicate that results are not yet available or not applicable.

这句话必须原样引,因为它同时给了两种含义:尚未有结果,或者不适用。README 没有逐格说明某一个 -- 属于其中哪一种。

所以有几种读法是明确越界的:把 -- 当 0 分算、当成”该模型不支持这项能力”、当成”跑了但成绩不好所以没放”——都不行。model card 只给了这一句定义,多出来的解释都是读者自己加的。

顺带一提,「尚未有结果」这层含义也提醒你注意这张表的时效性:model card 会随上游更新变动,今天是 -- 的格子,下一版可能就有数了。你引用时最好把快照或核对日期一起写上。

这件事对「怎么引用这张表」的直接影响

覆盖率不齐,带来的第一个实际后果是:同一张表里,不同行的对比宽度不一样

比如表一的 Terminal Bench 2.1 (Terminus) 那一行,五列都有数值(README.md:76README.md:81);而同一张表的 DeepSWE 1.1README.md:100README.md:105),Muse Glimmer-30BOpus4.6 Max 两列都是 --,实际有数值的只有 Qwen 自家三列。这两行放在一张表里,看上去是并列的十二行之一,但它们能支撑的对比范围完全不同。

由此得出一条可执行的核对动作,引用之前先做:

  1. 先定位你要引的那一行,在 model card 里找到对应 <tr>(本文给出了行号区间,可直接跳)。
  2. 数一下这一行有几格是 --。如果你想比较的那两列里有一列是 --,这个比较就不成立,直接换行或者不比。
  3. 把评测集名、列名、以及指标名一起写进引用。多指标行尤其重要——Agents' Last ExamREADME.md:133README.md:138)有 Pass@1 与 Score 两个指标,ClawEval-MMREADME.md:199)有 Pass@3 与 Average,MathVision / BabyVision / CharXiv (RQ)README.md:203README.md:205)有 Without CI 与 With CI 两套值。只写一个裸数字必然会被人误读。
  4. 顺手看一眼这一行有没有脚注。有些行的分数是在特定条件下产生的,脱开脚注引就是断章。

第 4 步不是多余的,因为脚注的覆盖率同样不齐——这是本文主题的另一个面。

另一种缺口:脚注也没覆盖全

表一的脚注是一个 8 条的 <ol>README.md:176README.md:185),表二同样 8 条(README.md:212README.md:221)。但 25 个评测行里,并不是每一行都被脚注照顾到。

表一有 6 个评测集完全没有脚注:Terminal Bench 2.1 (Terminus)JobBenchAgents' Last ExamIFBenchGPQA DiamondLiveCodeBench v6。表二有 5 个:OSWorld-VerifiedAndroidWorldOmniDocBench 1.5RealWorldQAERQA。这些行在 model card 里没有任何关于跑法、参数、判分方式的说明。

而有脚注的那些行,条件差别不小。举两个必须连脚注一起引的例子:

  • SWE-bench Pro(脚注在 README.md:177):原文写除 Opus4.6 Max 用的是 officially reported score 之外,其余模型都是用 Claude Code harness 在 temp=1.0, top_p=0.95、256K 上下文窗口下评的,而且 “Problematic tasks were corrected, and all baseline models were re-evaluated on the refined benchmark”。同一行里分数来源本身就是混的。
  • MathVision(脚注在 README.md:214):Qwen3.8-27B 用的是固定 prompt,其余模型取两种 prompt 变体中的较高分。

另外,脚注里被自述为自建评测集(in-house)的有三个:QwenSWEBenchREADME.md:180)、CoWorkBenchREADME.md:181)、RecreationBenchREADME.md:216)。引用它们时得带上「model card 自述为自建评测集」这句限定。

至于评测执行日期、硬件、推理框架版本、随机种子、置信区间、方差——整节 README.md:56README.md:222 里都没有。我们检索过,没找到。

标注上的几处不一致

围绕这两张表,还有几处两边口径对不上的地方。按本站的写法,这里只陈述差异、标明位置,不推断原因,也不用它去评价这个项目。

一、加粗的含义只在表一说明。 表一脚注第 7 条写 “The best result in each row is shown in bold.”(README.md:183)。表二的 8 条脚注(README.md:213README.md:220)里没有任何一条说明加粗代表什么,但表二实际用了 18 处 <strong>(表一是 13 处)。表一的这条说明是否适用于表二,README 未作说明。

二、有一行出现了两个加粗。 表二 ClawEval-MMREADME.md:199)的 Pass@3 指标上,Qwen3.8-27BQwen3.7-Plus 都是 57.4,两格同时带 <strong>。若按表一脚注那句「每行最高值加粗」的口径去读,这一行就有两个”最高”。

三、CharXiv (RQ) 行有一格没有 CI 标签。 这一行(README.md:205)其余四列都写成 “Without CI xx” 的形式(部分还带 “With CI xx”),只有 Muse Glimmer-30B 列是裸的 78.8,既没有 “Without CI” 也没有 “With CI”。脚注(README.md:213)的说法是 “otherwise, only the available setting is shown”。

四、CI 这个缩写在整份 README 里从没被展开过。 我们对全文做过大小写不敏感的检索,code interpreterconfidence interval 都是 0 处命中。所以这篇文章里、以及你自己写材料时,都只能原样写 “Without CI / With CI”,不要替它补全称。同样地,Terminal Bench 2.1 后面括号里的 Terminus 在 README 里也没有解释。

五、脚注引用的版本号与列名不同。 SWE-MM 的脚注(README.md:219)写的是 “Claude Opus 4.7 system card”,而表头列名(README.md:192)写的是 Opus4.6 Max。两处版本号不一样,README 没有解释。

你可以自己数一遍

上面所有计数都可以在本地复核。把 model card 的 README.md 取到本地后,在文件所在目录执行:

python -c "
import io
lines=io.open('README.md',encoding='utf-8').read().split('\n')
text=' '.join(lines[70:174]); vl=' '.join(lines[191:210])
foot_t='\n'.join(lines[174:187]); foot_v='\n'.join(lines[210:222])
print('text <tr>:',text.count('<tr>'),'vl <tr>:',vl.count('<tr>'))
print('text <li>:',foot_t.count('<li>'),'vl <li>:',foot_v.count('<li>'))
print('text --:',text.count('>--<'),'vl --:',vl.count('>--<'))
print('text strong:',text.count('<strong>'),'vl strong:',vl.count('<strong>'))"

在快照 1d4bf0f 上,输出是 <tr> 各 16、<li> 各 8、-- 为 10 与 13、<strong> 为 13 与 18。逐列的「有值 / --」计数则需要用 HTMLParser<tr> / <td> 解析、跳过分组行才能得到,结果就是本文那张表。

需要注意行号切片是硬编码的,model card 一更新就会错位;真要长期用,得改成按标题定位。另外这份 README.md 在我们快照里是 65,012 字节、583 行、换行全为 CRLF;如果你用 Python 文本模式读,CRLF 会被折成 LF,字符数会变成 64,430,和 Hugging Face 侧显示的字节数对不上——那是换行符折算差异,不是文件不一致。

这篇不打算得出的结论

最后把边界划清楚。覆盖率不齐这件事,只支持一个结论:引用这两张表时,得先看你要引的那一格在不在。它不支持下面这些:

  • 不能因为某列 -- 多就说那个模型如何——-- 的官方释义是 “not yet available or not applicable”,两种都可能。
  • 不能把有值的行拿去算平均、算总分、排名次。原表只有 25 个评测行,没有任何总分、平均分或排行榜口径,自己算出来的排名不属于 model card 内容。
  • 不能把这张表的数字和别处的分数拼在一起对比。不同来源的评测条件不同,脚注里已经能看到同一行内部就存在来源差异。
  • 不能由分数推资源需求或实际业务表现。分数是分数,评测集不是业务场景,model card 也没做这层映射。

真要用这两张表,最稳的做法是:连行名、列名、指标名、脚注、快照日期一起引,然后停在那里。

延伸阅读


本文依据 Hugging Face 仓库 Qwen/Qwen3.8-27B 的 model card 与随仓配置文件 (config.jsongeneration_config.jsonpreprocessor_config.jsonchat_template.jinja 等)整理, 核对日 2026-08-16,对应仓库快照 1d4bf0f。 本文内容为 model card 与配置文件口径,我们没有下载权重、没有部署、也没有推理过这个模型, 因此不涉及生成质量、推理速度与显存占用的任何描述;文中所有评测数字均为 model card 自述,我们没有复现。 模型仓库内容随上游更新而变动,请以官方最新说明为准。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。