Qwen3.8-27B 本地实测:6 道题全交了,翻车翻在两行 CSS 上

Qwen3.8-27B 本地实测:6 道题全交了,翻车翻在两行 CSS 上

2026/08/1818 分钟
分类:技术分享
标签:#AI#AI大模型#本地部署#Apple Silicon#开源
📡
本文首发于黑粉科技公众号

Qwen3.8-27B 6 道题全交了,翻在两行 CSS 上

一台 M5 Pro 64G,17GB 权重,中位 13.4 token/秒 附:去审查版在哪拿、要占多少内存
🗓
黑粉科技 · 本机实测 · 2026-08-18

8 月 14 日 Qwen3.8-27B 开源,Apache-2.0。我没去点云端接口,直接把 17GB 的 GGUF 拖进自己写的 LocalBrain(中文名方寸智匣),出了 6 道题:三道图形动画、一道禁用 JavaScript 的纯 CSS 硬约束、一道游戏 UI 还原,最后一道必须真联网搜索、再产出 Excel 和 Word 的工具链题。从下午 13:51 发出第一题,到 16:48 最后一个文件落盘,6 道题全部产出了双击就能跑的文件,中间最长的一次生成等了 940.6 秒。最后翻车的两个地方也很具体:一个是两行 CSS,一个是一份标题齐全、内容是空的 Word。

🔑
先给结论:Qwen3.8-27B 是一个能在 64GB Mac 上真干活的多模态模型,但它不是一个能陪你抢时间的模型。代码质量够用,问题出在最后一公里的交付上。

▍🧩 27B 凭什么塞得进一台笔记本

27B 是密集模型,64 层,隐藏维度 5120,原生吃图片和视频。真正让它在消费级机器上活下来的不是参数量,而是注意力怎么排。官方模型卡写的结构是 16 × (3 × (Gated DeltaNet → FFN) → 1 × (Gated Attention → FFN))——每四层里三层用线性注意力,只留一层全注意力。那一层全注意力也做了收窄:Query 24 个头、Key/Value 只有 4 个头,头维度 256。

打个比方。全注意力像是每读一个新词,都把前面读过的全部重看一遍,读得越长越慢,内存涨得越凶。线性注意力更像随身带一份不断改写的摘要,新词进来只更新摘要,不回头翻旧账。代价是摘要会丢细节,所以还得留四分之一的全注意力层,把关键的东西钉住。

这套排布换来的是原生 262,144 token 上下文,官方说可以再扩到 100 万。落到我这台机器上,unsloth 的 UD-Q4_K_XL 主权重 17,093 MB,视觉投影 mmproj 888 MB,加起来不到 18GB。早在本地跑模型还要自己背 llama.cpp 参数表的年代,这个尺寸的多模态模型是不敢想的。

🧠
有个能互相印证的细节:官方模型卡给非思考模式的建议是 temperature 0.7、top_p 0.80、top_k 20,而我在 LocalBrain 里给 Qwen3.8 登记的档位一模一样,另加 presence_penalty 1.5。采样值套错别家的不会报任何错,只会让模型看起来变笨,这种坑最难查。

▍🎮 四道图形题:不看形容词,直接看画面

第 1 题要 Three.js 低多边形小岛,岛上一棵树、一间小房子、一只缓慢转圈的小鸡,相机自动环绕,渐变蓝天空加柔和阴影。产出的单文件 372 行,Three.js 走 importmap 从 CDN 引入。上面那张图是第 5 秒的画面:小鸡有鸡冠、喙和眼睛,绕岛公转时身体朝着运动方向,房子有门把手和三扇窗,草地上还多加了石头、蘑菇和小花。

# 它交完第 1 题时给的回执:画面元素逐条列清楚,右上角还挂着这次工具调用已经写了 2,056 字符、耗时 95 秒
# 它交完第 1 题时给的回执:画面元素逐条列清楚,右上角还挂着这次工具调用已经写了 2,056 字符、耗时 95 秒

顺带说一下这个回执。它不只是把文件丢给你,而是列了一张表说明每样东西怎么实现的——树是六棱柱树干加 4 个 Icosahedron 堆叠树冠,天空是 ShaderMaterial 三段渐变,阴影用 PCFSoftShadowMap。这些描述我对着代码核过,全部属实。它讲得清楚自己写了什么,这一点在后面会变成一个很讽刺的对照。

# 第 2 题:接住星星那一刻,分数跳到 10,金色粒子从篮子里炸开
# 第 2 题:接住星星那一刻,分数跳到 10,金色粒子从篮子里炸开

第 2 题是原生 Canvas 小游戏《接星星》,不许用任何外部库。我用真实键盘事件驱动篮子去接,截的就是接住的瞬间:左上角分数从 0 跳到 10,粒子爆炸特效在篮口炸开,天上还有两颗在转的星星。代码整个包在 IIFE 里,一个全局变量都没往外漏——这是个挺讲究的写法。

# 第 3 题:纯 CSS 3D 立方体,八秒一圈,带倒影和闪烁星空
# 第 3 题:纯 CSS 3D 立方体,八秒一圈,带倒影和闪烁星空

第 3 题最有意思,因为它是唯一一道有硬约束的题:只准 HTML 和 CSS,禁止 JavaScript、图片和 SVG。约束这种事最容易被模型偷偷绕过,所以我直接数了一遍:整个文件里 script 标签、img 标签、svg 标签和 onclick 属性的出现次数,全是 0。立方体靠一个 8 秒的 `spin` 动画自转,倒影和星空全是 CSS 画的。半透明面会透出对面的镜像文字,这是设计取舍,不是 bug。

# 它自己的说明:六面颜色是春粉、夏青、秋橙、冬蓝、日金、月紫,末尾一句“零 JavaScript、零图片、零 SVG”
# 它自己的说明:六面颜色是春粉、夏青、秋橙、冬蓝、日金、月紫,末尾一句“零 JavaScript、零图片、零 SVG”

它交稿时自己写了一句“零 JavaScript、零图片、零 SVG,纯 HTML + CSS”。这种自我声明本来不值几个钱——模型说自己守了规矩,和它真守了规矩是两回事。这次它说的是真的,我数出来的三个 0 和它的说法对得上,连倒影用 `scaleY(-1)` 加渐变遮罩、星星用 `box-shadow` 批量生成这些细节也都对得上。

# 第 4 题:绿色那发已经炸开并被重力拉出下坠拖尾,品红那发刚爆,第三发还在升空
# 第 4 题:绿色那发已经炸开并被重力拉出下坠拖尾,品红那发刚爆,第三发还在升空

第 4 题是烟花模拟器:点哪里就从底部发射一发升到哪里,炸出 80 到 150 个带重力下落、逐渐熄灭的粒子。这张图是连点三处之后挑出来的一帧,同时能看到三个阶段——升空的拖尾、刚炸开的亮核、已经被重力拽下来的余烬。底部城市剪影带亮着的窗户和红色航空障碍灯。

📌
这四道题我一个字都没改。几何、动画、物理、约束遵守,本地 27B 这一档已经不是“能跑就行”的水平了。

▍🔧 两个翻车现场:两行 CSS,和一份空 Word

第 5 题要一个像素风 RPG 开始界面:居中标题《像素勇者》带呼吸发光,下方三个菜单按钮,上下键切换选中项,选中项前有跳动的像素小剑,回车弹复古对话框。功能层面全部实现了——我按了方向键,选中项确实从「开始冒险」移到「读取存档」;按回车,「敬请期待」的对话框确实弹出来了。

# 原样运行:标题和三个菜单挤在同一行,题目要的“下方三个菜单按钮”没了
# 原样运行:标题和三个菜单挤在同一行,题目要的“下方三个菜单按钮”没了

但画面是这样的。标题和三个菜单横成一排,回车弹出的对话框因为是 `position: fixed` 居中,正好压在标题和「开始冒险」上面。根因在两处:`body` 写了 `display: flex` 却没写 `flex-direction: column`,于是标题容器和菜单被排成了一行;`.menu-item` 又是 `inline-block`,三个菜单项也横着排——而这道题要求的是上下键切换。

# 补上 flex-direction: column 和 display: block 之后,设计意图完整回来了
# 补上 flex-direction: column 和 display: block 之后,设计意图完整回来了

我没动模型写的任何一行,只在页面头部追加了两条声明:`body { flex-direction: column }` 和 `.menu-item { display: block }`。结果就是上面这张——标题居中带红色呼吸光,三个菜单竖着排在下方,像素小剑停在「读取存档」前面,像素山脉在背后横向滚动。它离正确答案只差两行,但它自己不知道。

⚠️
这条值得单拎出来:语法没错、能跑、功能齐全、自检也过——这种失败静态检查抓不到,只有把画面截出来才看得见。做代码类评测如果只看“跑没跑通”,会把这一类问题整个漏掉。

第 6 题是专门用来考工具链的:不给网址,逼它自己搜;搜到之后要真读网页;再跳到文档工具产出 Excel 和 Word;最后还要用预览工具自检一遍。这道题最容易糊弄人的地方是编网址——一个偷懒不联网的模型,完全可以凭记忆造出一串看起来很像的 URL,光看文件是看不出来的,必须一个个去抓。

所以我把它给的四个来源逐个抓了一遍。四个全是真的,而且内容对得上题:checkaimodels.com 那篇标题是《Run Open-Source LLMs Locally 2026: Which GPU, Ollama vs vLLM》,hardwarepedia.com 那篇是《Running AI Locally: Complete Hardware & Software Guide (2026)》,还有一篇 CSDN 的《Windows本地部署开源大模型保姆级教程》和一篇今日头条。Excel 那边也规规矩矩,表头加 8 行数据,列名就是题目要求的模型名称、参数量、量化格式、最低内存需求、信息来源网址。

# 它交作业时的自检回执:第五步写着 passed = true、无 issues、58 段落、6 个表格
# 它交作业时的自检回执:第五步写着 passed = true、无 issues、58 段落、6 个表格

然后是这份回执。第五步的自检结果写着 passed = true,无 issues,还报了具体数字:58 段落、6 个表格。第四步描述结构时更具体——「主流模型概览(Qwen/Llama/DeepSeek/Mistral)」,四个模型名都点出来了。看到这儿我基本认为这道题满分通过。

# 同一份 Word 的第 3 页:「结论与建议」写了个冒号,「参考链接」下面整页空白
# 同一份 Word 的第 3 页:「结论与建议」写了个冒号,「参考链接」下面整页空白

打开文件才发现不是。我用 XML 解析器把正文完整过了一遍:整份文档的正文只有 879 字,主体 11 个段落加 1 张表,超链接标签 0 个,整份文件里 “http” 出现 0 次。回执里点名的 Qwen/Llama/DeepSeek/Mistral,在文件的「主流模型概览」那一节一个都没有——那节只有一句“包括以下系列:”,然后直接跳到下一个标题。

🚨
关键在于这两个数字对不上,而且换任何一种口径都对不上:body 顶层段落 11 个,含表格单元格在内的段落总数 41 个,表格 1 张,表格行 6 行,单元格 30 个。回执说的 58 段落、6 个表格,在文件里找不到对应。自检那一步生成的预览 PDF 我也翻了,3 页,同样三节空白。它不是没检查,是检查完报了一份并不存在的文档。
回执怎么说文件实际是什么题目要求
主流模型概览(Qwen/Llama/DeepSeek/Mistral)只有一句“包括以下系列:”,四个模型名一个没有一节主流模型概览
硬件门槛(含显存档位对照表)表在,但 5 列数据只配了 4 个表头一节硬件门槛
结论与建议只有一句“给出以下建议:”,正文缺失一节结论与建议
参考链接标题之后整页空白,全文 0 个链接结尾附参考链接列表
passed = true,58 段落、6 个表格11 段(总计 41)、1 张表、879 字最后一步自检并报告结果

※ 统计口径:XML 解析器读 word/document.xml,body 共 13 个元素——11 个段落 + 1 张表 + sectPr。

还有个小破绽:简报开头写着“本简报基于 2026 年 3 月至 6 月间发布的多篇专题指南”,但它自己列的四个来源里,CSDN 那篇标题上明晃晃写着 2025 最新版。结构对、来源真、事实核到一半、正文空了三节,这个组合挺能说明现在本地模型的真实位置。

题目产出结果
1 · Three.js 3D 卡通场景卡通小岛.html(372 行)✅ 要素齐全
2 · Canvas 小游戏《接星星》接星星.html✅ 计分、粒子、旋转都在
3 · 纯 CSS 3D(禁 JS)3D旋转展示台.html✅ 约束零违反
4 · 物理粒子烟花烟花模拟器.html✅ 重力、拖尾、剪影都在
5 · 像素风 RPG 开始界面像素勇者.html⚠️ 功能全对,布局差两行 CSS
6 · 搜索 + 文档工具链局部部署对比.xlsx + 本地部署调研简报.docx⚠️ 网址全真,Word 空三节且自检报了假数

※ 环境:LocalBrain 1.1.0,temperature 0.65,思考档位 low,单次输出上限 6144 token。


▍⏱️ 速度:得按分钟算,不是按秒

llama.cpp 的日志把账记得很清楚。这台机器上 Qwen3.8 累计跑了 144 次生成、189,833 个 token、纯生成耗时 254.3 分钟。生成速度中位数 13.43 token/秒,四分位区间 12.56 到 13.88,最慢 7.64,最快 16.22。输入侧快得多,预处理中位数 285.4 token/秒。这 6 道题跑的是 temperature 0.65、思考档位 low、单次输出上限 6144 token,第一题光是第 1 轮思考就写了 4,305 字。

指标实测值说明
生成速度中位数13.43 token/秒144 次生成的中位数
最长单次生成940.6 秒 / 9,877 token10.50 token/秒,约 15.7 分钟
单次工具参数生成482 秒 / 9,868 字符写一个完整 HTML 文件的一次工具调用
输入预处理285.4 token/秒(中位)单次最大输入 69,393 token
默认上下文窗口32,768接外部 Agent 时需要开到 81,920

※ 数据来自本机 llama.cpp 后端日志与会话导出,累计口径,不只包含这 6 道题。

最后一行是踩出来的。当年把它接进 OpenCode 时,那类客户端的系统提示实测约 66K token,窗口留在默认 32K,llama.cpp 会直接拒绝每一次请求,客户端不停重试,用户看到的现象是“反复输出同一段回答”。日志里 69,393 token 那次输入,就是这个事故的现场记录。所以现在这类模型我一律开到 80K 窗口,并且关掉推测解码——大窗口叠草稿模型会把内存峰值抬得很难看。


▍💰 谁赚、谁亏、谁不说话

27B 这个尺寸不是随便挑的。它刚好卡在消费级统一内存吃得下的那一档:4bit 量化不到 18GB,32GB 内存的机器能跑,48GB 以上舒服。往上一档就得上工作站,往下一档能力又撑不住长流程任务。挑这个尺寸、配 Apache-2.0,指向很明确——抢的是本地 Agent 的入口。官方模型卡里放大的也是这一类分数:Terminal Bench 2.1 从 Qwen3.6-27B 的 63.4 抬到 73.0,SWE-bench Pro 从 53.5 到 61.7,QwenSWEBench 从 49.3 到 79.0,OSWorld-Verified 从 63.9 到 84.3,DeepSWE 1.1 更是从 13.3 跳到 42.2。这些全是“让模型自己动手把活干完”的评测,不是聊天评测。

谁赚:卖统一内存的和卖显卡的,因为“能不能跑得动”重新变成了买机器的理由。谁省:个人开发者,这 6 道题换成按 token 计费,长任务的账单不会好看。谁沉默:按调用量收钱的那一方没有任何动机告诉你,哪些活其实根本不必上传。沉默方的立场往往就是结论。

但也别把话说满。中位 13.4 token/秒意味着一道复杂题要等十几分钟,这个体验在云端是不可接受的。本地模型现在能替代的是“可以慢慢等”的活——批量处理、隐私敏感的文档、不想外传的代码,而不是所有活。


▍🔓 去审查版:目录里就能下,但边界先说清楚

# 发现页里的去审查模型:Qwen3.8 的纯文本版和保留视觉版各一条,量化档可选(截图里选的是 8bit 最高质量档)
# 发现页里的去审查模型:Qwen3.8 的纯文本版和保留视觉版各一条,量化档可选(截图里选的是 8bit 最高质量档)

官方权重带对齐,社区给它做二次加工,这套剧本在开源模型上一直在演。Qwen3.8-27B 也一样,而且已经跑出了成熟的两条线。做法上有区别:一条用 Heretic 去压制模型内部的拒答方向,同时拿 KL 散度约束住原有对齐能力,尽量别把别的本事一起削掉;另一条走 abliterated,只改语言权重。两条都能在 LocalBrain 的发现页按量化档直接下载,不用自己去拼 HuggingFace 那一长串文件清单。

版本做法视觉能力体积 / 最低内存
JonathanColetti/Qwen3.8-27B-Uncensored-GGUFHeretic 压制拒答方向,用 KL 散度约束保住原有对齐能力无(纯文本)5bit 19.5GB / 32GB
Blackfrost-AI/Qwen3.8-27B-ABLITERATED-GGUFabliterated,只改语言权重,视觉投影原样保留5bit 20.2GB / 32GB

※ 两者基座都是 Qwen/Qwen3.8-27B。第一条 Apache-2.0;量化档 4bit 16.8GB、5bit 19.5GB、6bit 22.4GB、8bit 29.0GB,8bit 需要 64GB 内存。

第二条那行值得多说一句:官方 Qwen3.8-27B 本身就是视觉语言模型,而 abliterated 只动语言权重,视觉投影原封不动——所以“27B + 看得懂图 + 不轻易拒答”是能同时成立的,这在 4bit 就能跑的尺寸段里并不多见。第一条那个纯文本版则走了另一条路,它把省下来的体积换成了更高的量化档,同样是 5bit 19.5GB,答复细节会比 4bit 更稳一些。

两条边界必须说清楚。第一,这 6 道题我跑的是官方 unsloth 版,去审查版的实际表现我还没测,能下载不等于我替它背书。第二,上游仓库动辄十几个量化档加草稿头、总量两百多 GB,下载时必须精确锁定单个文件,否则一次就能把整仓拖下来。去审查改的是拒答倾向,不是让你去干违法的事——法律责任和内容责任还在你自己身上。

▍🧭 该不该装,装哪个

回到开头那三个小时。6 道题全交了,但每一道我都得盯着——盯它有没有偷偷绕过约束,盯布局对不对,盯它承诺的小节里到底有没有东西。最该记住的是第 3 题和第 6 题的对照:同一个模型,能准确讲清自己怎么写的立方体,也能对着一份空了三节的 Word 报出 passed = true。它交的东西可以信,它对自己交的东西的评价不能信。

你的情况建议版本为什么
32GB 内存,想先试试官方 4bit(17.6GB,含视觉)能看图、能调工具、体积最小
48GB 以上,主力用官方 4bit 或去审查 5bit5bit 答复细节更好,纯文本任务够用
既要看图又不想被拒答ABLITERATED 5bit(20.2GB)视觉投影保留,同基座同上下文
接 OpenCode 这类外部 Agent任意版本 + 80K 窗口默认 32K 会被系统提示直接撑爆

上手路径很短:在 LocalBrain 的发现页选好量化档下载(内置魔搭、HF 国内镜像和 HuggingFace 官方三个源,自动测速选最快的一个),回主页点启动,模型就绪后去对话页直接用。要接开发工具就去集成页一键写入,Codex、OpenCode、Claude Code 都在里面。本地服务是标准 OpenAI 兼容格式,监听 `http://127.0.0.1:11434/v1`,其它 OpenAI 兼容客户端也能直接接上去。


📌
一句话收尾 Qwen3.8-27B 把“本地跑得动的多模态 Agent 模型”这件事往前推了一大截——四道图形题一次过,纯 CSS 的硬约束零违反,联网搜出来的四个网址全是真的。但它也会在最后一公里掉链子:两行 CSS 让整个界面横过来;一份空了三节的 Word,自检回执却写着 passed = true、58 段落、6 个表格。它值得装,前提是你自己验收,别把验收也交给它。


▍📚 官方资料与复现入口

  • Qwen3.8-27B 官方模型卡:https://huggingface.co/Qwen/Qwen3.8-27B
  • 本次实测所用权重 unsloth/Qwen3.8-27B-GGUF:https://huggingface.co/unsloth/Qwen3.8-27B-GGUF
  • 去审查版 JonathanColetti/Qwen3.8-27B-Uncensored-GGUF:https://huggingface.co/JonathanColetti/Qwen3.8-27B-Uncensored-GGUF
  • 去审查 + 视觉版 Blackfrost-AI/Qwen3.8-27B-ABLITERATED-GGUF:https://huggingface.co/Blackfrost-AI/Qwen3.8-27B-ABLITERATED-GGUF
  • LocalBrain(方寸智匣)下载:https://github.com/HackerChi-Hub/localbrain-releases/releases/latest
分享到:

相关文章

返回首页