本地跑 Qwen 3.8 27B:17GB 说的是总内存,不是显存
Qwen3.8-27B 传得最广的 17GB 其实是内存加显存的总和,不是一块 16GB 显卡。实测 GGUF 体积:2-bit 9.01GB、4-bit 17.11GB,16GB Mac 上 7.11 tok/s。
传得最广的那个数字是 17GB,出处就是 Unsloth 自己的硬件表。但把表头读完,它说的比这个数字精确得多:单位是总内存,内存加显存,或者 Apple 芯片上的统一内存。这个区别决定了模型是跑在你的显卡上,还是有一半跑在主板上。
你的机器能跑什么,不能跑什么
24GB 能跑 Qwen 想让你跑的那档量化,16GB 只能跑妥协方案,再往下就别折腾了。 Qwen 把 Qwen3.8-27B 以 Apache 2.0 协议发在 Hugging Face 上,27B 稠密视觉语言模型,原生 262,144 token 上下文。它小到让问题从”该用哪个数据中心”变成了”我桌上这台装得下吗”。这和 GLM 5.2 那种 2-bit 都要 256GB Mac Studio 的局面完全不同。先看结论。
权重协议: Apache 2.0,允许商用
参数量: 27B 稠密(llama.cpp 数出 27.32B)
原生上下文: 262,144 token(YaRN 可扩到 1M)
最小可用 GGUF: 9.01 GB(Unsloth UD-IQ2_XXS)
4-bit GGUF: 16.81-18.97 GB,看谁打包的
厂商内存指引: 2-bit 11-13 GB,4-bit 17-19 GB,指内存+显存总和
视觉能力: 需单独下 mmproj 文件,+0.63-0.93 GB,按发布方不同
M2 Pro 16GB 实测: 2-bit 生成 7.11 tok/s,提示处理 74.59 tok/s
同一台机器 4-bit: 提示处理慢 4 倍,生成直接失败
配置耗时: 约 20 分钟,大部分时间在下载
配好之后你能做的:离线跑一个够强的编程和 agent 模型,没有按 token 计费,也没有数据离开这台机器。你做不到的:追上托管服务的延迟、在消费级机器上跑满 256K 上下文,或者用上 Max 那一档——它根本没有开放权重。
| 你的机器 | 装得下的量化 | 实际体验 |
|---|---|---|
| 32GB 显存(RTX 5090)或 32GB 以上 Mac | 4-bit,还有 32K 上下文的余量 | 目标配置。快,质量损失很小 |
| 24GB 显存(RTX 4090)或 24GB Mac | 4-bit,上下文要短 | 厂商推荐配置。盯紧 KV 预算 |
| 16GB 显存(RTX 5080、5070 Ti) | 3-bit 全上显卡,或 4-bit 配内存卸载 | 两条路都能走。卸载要付速度代价 |
| 16GB 统一内存 Mac | 2-bit,上下文要短 | 7 tok/s 左右。4-bit 能加载但生成不了 |
| 8-12GB 显存 | 没有值得跑的档位 | 直接用 API |
老实说:24GB 显卡才是 Qwen 真正希望你用的那档量化的入门线,32GB 才谈得上宽裕。16GB 以下要问的已经不是选哪档量化,而是本地推理这条路对不对。
Qwen 3.8 27B 到底要多少显存?
11GB 到 19GB 的总内存,这句话的重点全在”总”字上。 Unsloth 的硬件表把单位写得很清楚:总内存,也就是内存加显存,或者 Apple 芯片上的统一内存。这是给整台机器的预算,不是显卡的规格要求。
| 精度 | Unsloth 指引(总内存) | GGUF 实际文件体积 |
|---|---|---|
| 2-bit | 11-13 GB | 9.01-10.68 GB |
| 3-bit | 13-16 GB | 11.91-13.82 GB |
| 4-bit | 17-19 GB | 16.06-17.92 GB |
| 6-bit | 24 GB | 22.43-25.92 GB |
| 8-bit | 31 GB | 28.60-31.46 GB |
| BF16 | 56 GB | 53.81 GB |
指引比文件体积高出两三个 GB,是因为内存里装的不只有文件。你还要为 KV 缓存、计算缓冲区,以及操作系统本来就占着的那部分买单。
容易被读错的地方在这里:同一个 Unsloth 页面的正文写着 4-bit”能在大多数 17-19GB 显存的设备上跑,比如 RTX 5080、4090,或者 24GB 内存的 Mac”。而按 NVIDIA 官方对比页,RTX 5080 配的是 16GB GDDR7,5070 Ti 也是 16GB。4090 是 24GB,5090 是 32GB。所以在 5080 上,4-bit 走的是显卡加系统内存凑出来的总内存预算,正如表头写的那样,而不是 17GB 塞进显存。它照样能跑,只是有些层落在了 PCIe 总线的另一侧,生成速度也跟着落过去了。
如果只想记一条规则,用 Unsloth 那条:内存加显存至少要等于量化文件的大小,否则能跑,但会从磁盘换页,慢得很难受。
该下载哪个 GGUF 量化版本?
挑还能给你留出 2-3GB 余量的最大那个文件,而且比字节数,别比量化名。 名字不等于体积。三家给这个模型都发了叫 Q4_K_M 的文件,彼此差了 2.2GB,因为每家在同一个标签下选的逐张量精度都不一样。
| 发布方 | Q4_K_M 体积 | 还发了什么 |
|---|---|---|
| lmstudio-community | 16.81 GB | Q6_K 22.43 GB、Q8_0 29.05 GB、MLX 4-bit |
| unsloth | 17.11 GB | 21 个变体,UD-IQ2_XXS 9.01 GB 到 UD-Q8_K_XL 31.46 GB |
| ggml-org | 18.97 GB | BF16 53.81 GB,以及单独的 MTP 权重 |
在 16GB 显卡上,这个差值就是全部的决策依据。LM Studio 那版比 Unsloth 小 300MB,比 ggml-org 小 2.2GB,而这些从量化名上一点也看不出来。
按内存预算的实用选择:
- 32GB 以上:
UD-Q4_K_XL17.92 GB,或者Q6_K22.88 GB——如果你愿意把余量花在精度而不是上下文上。 - 24GB:lmstudio-community 的
Q4_K_M16.81 GB,给 KV 缓存留的空间最多。 - 16GB:
UD-Q3_K_XL13.44 GB,装得下还有干活的余量。4-bit 那几个文件不卸载就装不下。 - 16GB 统一内存 Mac:
UD-IQ2_XXS9.01 GB。这是地板,而且你会明显感觉到。
Unsloth 的 UD 前缀表示他们的动态量化,会把敏感层保留在更高精度,而不是一刀切。在 2-bit 和 3-bit 这一端,这件事比标称位数更重要。
什么时候值得本地跑 Qwen 3.8 27B,什么时候不值得?
数据不能出门的时候,或者用量大到显卡能摊平成本的时候。 其余情况下托管服务更便宜,也快得多。
这些情况适合本地部署:
- 你处理的代码或文档受合同约束,不允许走第三方推理。
- 你已经有 24GB 或 32GB 的显卡,想让日常重构和代码审查不再按 token 付费。
- 你需要离线可用——飞机上、隔离网络的实验室里,或者在你控制不了的网络后面。
这些情况别本地部署:
- 你的显卡只有 12GB 或更少。装得下的量化档位好不到值得你折腾的程度。
- 你想要这一家里最强的。Qwen3.8-Max 只有 API、没有开放权重,而 2.4T-A95B 那个兄弟型号 1-bit 都要 397GB。
- 你要跑长时间的 agent 任务。按下文实测的真实场景 2.91 tok/s,托管模型四分钟做完的任务,你这里要跑将近一个小时。
停手规则: 如果你走完下面第 4 步,在你实际使用的上下文长度下生成速度还不到 5 tok/s,就别再调了。这台机器不适合托管这个模型,没有哪个参数能把它拉高一个数量级。
什么硬件跑得动 Qwen 3.8 27B?
24GB 显卡或 32GB Mac 是舒服的入门线,16GB 能跑但要妥协。 显卡型号没有总内存池和它的带宽重要。
| 硬件 | 内存 | 最佳量化 | 说明 |
|---|---|---|---|
| RTX 5090 | 32 GB GDDR7 | 4-bit 或 6-bit | 完整 4-bit 加上像样的上下文窗口 |
| RTX 4090 | 24 GB GDDR6X | 4-bit | Unsloth 点名的那个配置 |
| RTX 5080 / 5070 Ti | 16 GB GDDR7 | 3-bit 上显卡,或 4-bit 配卸载 | 17GB 这个说法最常被安到它头上 |
| RTX 5070 | 12 GB GDDR7 | 不推荐 | 2-bit 装得下,但质量撑不起来 |
| Mac,32GB 以上统一内存 | 32 GB 以上 | 4-bit | Metal 工作集大约是内存的 75% |
| Mac,16GB 统一内存 | 16 GB | 只能 2-bit | 实测 Metal 上限 12.71 GB |
软件这边,llama.cpp 比大家想的省事。config.json 里的架构字符串是 qwen3_5,而 llama.cpp 从 2026 年 2 月 PR #19435 合入稠密和 MoE 支持起就认这一族了。这里实测过:b10375 这个构建发布于 2026-08-12 12:18 UTC,比权重本身第二天 08:23 UTC 落到 Hugging Face 还早,加载运行毫无怨言。所以”升级 llama.cpp”很少是真正的解法,只要你的构建新到跑过任何 Qwen 3.5 或 3.6 模型,它就跑得动这个。macOS 上 brew install llama.cpp 就够新;Linux 和 Windows 拿发行版二进制或者自己编译。
有一个 Apple 芯片的细节,任何厂商的表里都没写。macOS 不会把整个内存池交给 GPU。在写这篇文章用的 16GB M2 Pro 上,llama.cpp 启动时直接把 Metal 上限打了出来:
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 12713.12 MB
12.71GB,不是 16GB。这一行决定了任何一台 Mac 上哪些量化档位是候选项,值得在你下载 17GB 权重之前先读一眼。
怎么在 llama.cpp 里跑 Qwen 3.8 27B?
五步,慢的那步是下载。 下面每一步都在上面那台 M2 Pro 上跑过。
第 1 步:安装 llama.cpp
brew install llama.cpp
llama-cli --version
预期结果:一个构建版本号。我这里是 b10450-ece963f41。如上文所说,2026 年的构建基本都行。
第 2 步:挑一个量化档,拿它和你的上限比一比
curl -s "https://huggingface.co/api/models/unsloth/Qwen3.8-27B-GGUF/tree/main" \
| python3 -c "import json,sys;[print(f\"{f['path']:32s}{f['size']/1e9:6.2f} GB\") for f in json.load(sys.stdin) if f['path'].endswith('.gguf')]"
预期结果:完整文件列表,带精确到字节的体积。拿它比你的总内存,不是比你的显卡。
第 3 步:下载权重
curl -L -o qwen38-27b.gguf \
"https://huggingface.co/unsloth/Qwen3.8-27B-GGUF/resolve/main/Qwen3.8-27B-UD-Q3_K_XL.gguf"
预期结果:一个文件,这个体积不分片。把文件名换成你在第 2 步挑好的那个。
第 4 步:跑起来
llama-server -m qwen38-27b.gguf -c 16384 \
--temp 1.0 --top-p 0.95 --top-k 20 --port 8080
预期结果:localhost:8080 上一个 OpenAI 兼容端点。那几个采样值是 Qwen 为思考模式公布的设定。非思考模式用 --temp 0.7 --top-p 0.80 --top-k 20 --presence-penalty 1.5。
第 5 步:想要视觉能力就再加这一步
基础 GGUF 是纯文本的。单独加载它,llama.cpp 会明说,打印 modalities : text。视觉那一半在一个单独的投影器文件里:
curl -L -o mmproj.gguf \
"https://huggingface.co/unsloth/Qwen3.8-27B-GGUF/resolve/main/mmproj-F16.gguf"
llama-server -m qwen38-27b.gguf --mmproj mmproj.gguf -c 16384 --port 8080
预期结果:接受图片输入。给这个 F16 投影器留 0.93GB,加在权重之上,不在你原本规划的那个数字里面。如果你想要更小的 0.63GB Q8_0 投影器,三家发布方里只有 ggml-org 发它,所以那个文件要去和你的权重不同的仓库拿。
Qwen 3.8 27B 在 16GB Mac 上有多快?
2-bit 每秒 7.11 个 token,而 4-bit 文件根本生成不了。 用 llama-bench 在那台 M2 Pro 上测,llama.cpp b10450,两档量化同一台机器:
| 量化 | 加载体积 | 提示处理(pp512) | 生成(tg128) |
|---|---|---|---|
| UD-IQ2_XXS | 8.38 GiB | 74.59 ± 0.29 tok/s | 7.11 ± 0.10 tok/s |
| UD-IQ2_XXS,4K 深度 | 8.38 GiB | 54.44 ± 1.43 tok/s | 4.68 ± 0.52 tok/s |
| Q4_K_M | 15.92 GiB | 18.84 ± 0.17 tok/s | 致命错误 |
值得多看两眼的是 4-bit 那一行。文件加载成功。模型参数量报得也对。提示处理跑得起来,比 2-bit 慢四倍,因为权重已经装不进 12.71GB 的 Metal 工作集,机器在换页。然后生成阶段死在 failed to decode generation batch, res = -3。llama.cpp 的头文件里写明任何小于 -1 的返回值都是致命错误,区别于返回码 1——后者是批次过大时那个普通的”找不到 KV 槽位”。在这个硬件上,跌破厂商给的内存数字不会优雅降级,只会给你一份跑到一半的基准测试。
上面那些是零上下文下的合成数字。真实场景更差。同一个 2-bit 模型用 llama-server 以 -c 16384 提供服务,发一个 7,072 token 的提示,llama.cpp 自己的计时报告是这样:
prompt eval time = 208988.11 ms / 7072 tokens ( 33.84 tokens per second)
eval time = 27129.34 ms / 80 tokens ( 2.91 tokens per second)
total time = 236117.45 ms / 7152 tokens
一轮四分钟,生成是 2.91 tok/s,而不是基准测试承诺的 7.11。提示处理随着上下文填满而变慢,llama.cpp 每个进度节点打印的累计均值,在第 2,090 个 token 时是 43.58 tok/s,到第 6,186 个 token 降到 37.82。任何在零上下文下报出的 tok/s 数字,包括上面那张表里的,都是你这辈子能看到的最好情况。
那个请求也顺带演示了思考模式的默认行为。它被限制在 80 个补全 token,回来的是一个片段而不是答案,因为 reasoning_effort 默认是 xhigh,推理在答案出现之前就把预算吃光了。这个特征很好验证:问一个需要几步推理的问题,把 max_tokens 卡在 80,响应回来会带 finish_reason: length、content 为空,80 个 token 全在 reasoning_content 里。换成问 84 * 3,同样的上限就没事,三轮分别只用了 29 到 51 个 token,因为短推理装得下。问题不在上限本身,而在上限撞上了一个模型想仔细想想的问题。在这么慢的机器上,日常活儿把 reasoning_effort 设成 low 或者直接关掉思考,并且给一个像样的 max_tokens。
加载日志里还有一个不起眼的细节:llama.cpp 打印 model has unused tensor blk.64.nextn.* 然后跳过它。那是多 token 预测头,Qwen 训它是为了加速推理,而这条 GGUF 路径不用它。ggml-org 把 MTP 权重作为单独文件发布。想要这份加速,你得自己去找。
2-bit 的质量代价很快就会露出来。让它写一个合并两个有序链表的函数,模型的思考轨迹里把方案写成了畸形的 Python:def __init__(self, val): self.val; self.next——这是两个什么也不做的表达式,不是赋值。思考轨迹本来就是草稿,最终答案很可能没问题,但这类失误会随着量化档位往上走而越来越少。这是”想办法凑到 24GB”比”把 16GB 用出来”更值的最强论据。
还有两个标签别被绕进去。llama.cpp 把架构报成 qwen35,因为 Qwen3.8-27B 建立在 Qwen3.5 架构上,config.json 里写的是 model_type: qwen3_5。它还把 Unsloth 的动态 2-bit 文件报成 ftype Q4_K - Small,那是个头部字段,不是实际的精度混合。信字节数。
为什么 27B 模型的 KV 缓存这么小?
因为 64 层里只有 16 层用完整注意力。 Qwen 在模型卡里公布了层结构:16 次重复,每次是三个 Gated DeltaNet 块接一个 Gated Attention 块。Gated DeltaNet 是线性注意力层,它的状态对每个序列是固定大小,不会随着对话变长而增长。只有那 16 层完整注意力才按 token 存缓存。
按 config.json 算,这些层用 4 个 KV 头、头维度 256。f16 下每层每 token 是 4KiB,16 层加起来每 token 64KiB:
| 上下文 | KV 缓存(f16,推算) | 权重加缓存,3-bit UD-Q3_K_XL(12.52 GiB) |
|---|---|---|
| 8,192 | 0.5 GiB | 13.0 GiB |
| 32,768 | 2 GiB | 14.5 GiB |
| 131,072 | 8 GiB | 20.5 GiB |
| 262,144(原生上限) | 16 GiB | 28.5 GiB |
一个同样头配置的常规 64 层模型,缓存要四倍,跑满上下文是 64GiB。正是这套混合结构,才让一个带 256K 窗口的 27B 模型成为桌面上可以谈的事。
它也给出了上下文这个问题的老实答案。权重原生支持 262,144 token,用 YaRN 能拉到一百万,但跑满原生上下文光缓存就要 16GiB。在那台 16GB 测试机上,llama-server 用 2-bit 量化以 -c 16384 启动并正常服务请求,8K 到 16K 是那里的实用区间。32GB 的机器可以在 4-bit 模型旁边从容地放下 32K。把 -c 设成你实际用得到的长度,需要更长就用 --cache-type-k q8_0 --cache-type-v q8_0 量化缓存,占用大约减半,质量代价很小。完整窗口留给托管服务——这和上下文窗口本身的道理是一样的。
本地部署常见报错与修法
这里的本地故障大多是内存问题换了一件报错的外衣。 下面每一行都在测试机上复现过,除了最后一行——那条来自 Qwen 自己的最佳实践说明。
| 现象 | 原因 | 修法 |
|---|---|---|
failed to decode generation batch, res = -3 | 权重超出 GPU 工作集。提示处理还能撑住,生成撑不住 | 降一档量化。小于 -1 的返回码是致命的,不是可恢复的 1 |
| 提示处理比基准测试慢三到四倍 | 量化文件大于 GPU 能寻址的内存,机器在换页 | 看启动日志里的 recommendedMaxWorkingSetSize,挑一个比它小的文件 |
号称视觉语言模型却打印 modalities : text | 投影器没加载。基础 GGUF 是纯文本的 | 下载 mmproj 文件并传 --mmproj |
finish_reason: length、content 为空、整个预算都在 reasoning_content 里 | 思考默认开在 xhigh,把整个 max_tokens 预算吃光了 | 调大 max_tokens、把 reasoning_effort 设成 low,或者关掉思考 |
加载时出现 model has unused tensor blk.64.nextn.* | 这条 GGUF 路径不使用多 token 预测头 | 无害。要 MTP 就用 ggml-org 单独发布的权重 |
| 旧构建上根本加载不了 | 缺 qwen3_5 架构支持 | 少见。2026 年 2 月就合入了,跑过 Qwen 3.5 或 3.6 的构建都跑得动这个 |
| 非思考模式下无限重复 | 没设存在惩罚 | Qwen 建议指令模式下 presence_penalty 取 0 到 2,默认 1.5 |
一台本地 Qwen 3.8 27B 机器能给团队共用吗?
一台机器能服务一到两个开发者,服务不了一个团队。 llama-server 暴露的是 OpenAI 兼容端点,任何同事都能把客户端指过来,这部分确实简单:
llama-server -m qwen38-27b.gguf -c 16384 --host 0.0.0.0 --port 8080 --parallel 2
卡住的是算术。一块消费级显卡跑 4-bit 的 27B 只产出一条 token 流,而 --parallel 是把你的上下文预算分给各个槽位,不是把吞吐乘上去。两个开发者共用一块 4090 会互相感觉到。四个就得排队了。
想要共享本地端点的团队应该去看数据中心卡上的 vLLM 或 SGLang,那是另一个预算级别的另一个工程。那条路在 GLM 5.2 自建部署硬件与成本指南里写过,模型不同但容量测算的逻辑是通用的。4-bit 的 27B 大约只占一块 48GB 显卡三分之一的内存,剩下的空间足够放并发 KV 缓存,所以对团队来说买一块这样的卡,比买四块各自存一份权重的 4090 合理得多。
本地机器在任务中途顶不住了怎么办?
把客户端指向一个说同样协议的托管端点,接着干活。 每套本地部署都有同样两个缺口,而且不是 llama.cpp 的错。
第一个是容量。你的机器以内存带宽允许的速度跑一个模型,而当任务需要 2.4T 那个兄弟型号、需要 Max 那一档,或者仅仅是需要快一点的答案时,本地端点拿不出东西来。第二个是覆盖面。Qwen3.8-27B 有开放权重,Qwen3.8-Max 没有;模型卡指向 Qwen Cloud 上一个默认 1M 上下文的托管版 27B,标注为即将上线,而截至写稿时那个概览页链接仍然返回 404。这一家里有些型号,你花多少硬件预算都托管不了。
因为 llama-server 说的是 OpenAI Chat Completions 那套格式,托管网关也是,所以两边的修法一样:换掉 base_url 和密钥,代码不动。像 ofox.ai 这样的网关同时有 bailian/qwen3.8-max 和上一代的 bailian/qwen3.6-27b、bailian/qwen3.5-27b,同一个客户端可以从你的显卡回落到托管档位,不用再开第二个账号。开放权重的 27B 本身截至写稿时不在这个目录里;OpenRouter 上有两家供应商提供它,都给满 262,144 token 上下文:Chutes 每百万输入 0.40 美元、输出 3.00 美元,跑的是 fp8;AkashML 是 0.45 和 3.20 美元,跑的是 bf16。GGUF 那张表的道理在这里又演了一遍——便宜的那个端点是量化过的,价差就是精度差。
买硬件之前先算账。按这个价格,一个每月推 1,000 万输入 token 和 200 万输出 token 的开发者,花 10 到 11 美元,取决于请求落在哪家。4090 靠这笔账是回不了本的;买它的理由是隐私和离线可用,不是算术。
27B 到底值不值得跑?
跟自己的上一代比,明显值。 Qwen 公布的数字里,Qwen3.8-27B 在 Terminal Bench 2.1 上是 73.0,Qwen3.6 27B 是 63.4;SWE-bench Pro 上 61.7 对 53.5;他们自研的 QwenSWEBench 上 79.0 对 49.3。计算机操作方面,OSWorld-Verified 从 63.9 升到 84.3。这些是厂商自测数字,跑在 Claude Code harness 上,部分任务集做过修正,所以当方向看而不是当排行榜看。但同样参数量、只隔一代,这个方向确实很陡。想看 27B 这个尺寸级别对上前沿托管模型的独立评测,Qwen 3.6 27B 对比 Claude Opus 4.6 编程实测是我们手上最接近的基线。
对本地机器来说更要紧的比较,是跟你实际跑得起的那档量化比。24GB 显卡上的 4-bit 27B 接近 Qwen 拿去跑分的那个模型。16GB 笔记本上的 2-bit 27B 不是,而且这两者之间的差距比两代之间的差距还大。
多出来的内存买到了什么,有一个独立数据点。上一代发布时,Simon Willison 在本地跑了它,并在 2026-04-22 报了他自己的数字:“I tried it out with the 16.8GB Unsloth Qwen3.6-27B-GGUF:Q4_K_M quantized version”,记录到生成 25.57 tok/s,并称之为 “an outstanding result for a 16.8GB local model”。那是同一个尺寸级别、上一代、4-bit,在一台放得下它的机器上。而本文这台 16GB Mac 在 2-bit 下,合成基准 7.11 tok/s、真实提示 2.91 tok/s。慢三到九倍,量化还更差,为的是大约 8GB 的差距。买内存优先于买任何别的东西。
References
- Qwen/Qwen3.8-27B model card
- Qwen3.8-27B config.json
- Unsloth: Qwen3.8 how to run locally
- unsloth/Qwen3.8-27B-GGUF file listing
- ggml-org/Qwen3.8-27B-GGUF file listing
- lmstudio-community/Qwen3.8-27B-GGUF file listing
- NVIDIA GeForce graphics card comparison
- OpenRouter: qwen/qwen3.8-27b
- llama.cpp
- Simon Willison: Qwen3.6-27B
常见问题
- 16GB 显卡能跑 Qwen 3.8 27B 吗?
- 4-bit 跑不了,也没法全部放进显卡。4-bit GGUF 按打包方发布的不同在 16.8 到 19.0GB 之间,还没算 KV 缓存就已经超过 16GB 显卡了。16GB 显卡上要么降到 3-bit(12.6 到 13.8GB),要么留在 4-bit 让 llama.cpp 把溢出的层卸载到系统内存——能跑,但生成速度从此由内存带宽决定。
- 本地跑 Qwen 3.8 27B 还有视觉能力吗?
- 只有单独下载投影器文件才有。基础 GGUF 是纯文本的,单独加载时 llama.cpp 会打印 'modalities: text'。视觉能力要靠配套的 mmproj 文件,用 --mmproj 传进去,而且它占的内存加在权重之外,不在你规划的那个数字里面。unsloth 和 lmstudio-community 发的是 0.93GB 版本,只有 ggml-org 发 0.63GB 的 Q8_0 投影器,所以这个文件可能要去和权重不同的仓库拿。
- Unsloth、ggml-org 和 LM Studio 的 Q4_K_M 有什么区别?
- 体积差最多 2.2GB。同样叫 Q4_K_M,lmstudio-community 是 16.81GB,Unsloth 是 17.11GB,ggml-org 是 18.97GB,因为每家在同一个标签下选择的逐张量精度不一样。在内存吃紧的机器上这个差值直接决定装不装得下,所以要去 Hugging Face 文件列表比字节数,别信量化名。
- 本地机器能跑满 Qwen 3.8 27B 的 256K 上下文吗?
- 权重支持,你的内存一般不支持。f16 下 KV 缓存约每 token 64KiB,跑满 262,144 token 的上下文光缓存就要约 16GiB,还要叠在权重之上。64GB 以上的机器没问题,16GB 的机器不可能。把 -c 设成你实际用得到的长度,通常 8K 到 32K,需要更长就量化缓存。
- Qwen 3.8 27B 在 Apple 芯片上每秒能生成多少 token?
- 16GB 统一内存的 M2 Pro、llama.cpp b10450、2-bit Unsloth 量化版,合成基准测出生成 7.11 tok/s、提示处理 74.59 tok/s,这是零上下文的数字。换成 7,072 token 的真实请求,生成掉到 2.91 tok/s、提示处理 33.84 tok/s,单轮要四分钟。该引用的是后一组数,不是前一组。
- Qwen 3.8 27B 是开源的吗?
- 是,权重在 Hugging Face 上以 Apache 2.0 发布,允许商用。但这只覆盖 Qwen3.8-27B 这一个型号。Qwen3.8-Max 只有 API,Qwen Cloud 上那个默认 1M 上下文的托管版 27B 还标着即将上线,所以开放权重和托管服务不是同一个产品。
- 为什么 llama.cpp 把 Qwen 3.8 的架构报成 qwen35?
- 因为 Qwen3.8-27B 建立在 Qwen3.5 架构之上,config.json 里写的就是 model_type qwen3_5。产品名里的版本号往前走了,层结构没有跟着变。你下载的文件没问题。
- 27B 应该本地跑还是走 API?
- 本地赢在隐私、离线可用和硬件成本一次性付清。API 赢在速度,以及 2.4T 和 Max 这两档你根本没法自己托管。OpenRouter 上 Qwen3.8-27B 两家供应商的价格在每百万输入 token 0.40 到 0.45 美元、每百万输出 3.00 到 3.20 美元之间,所以用量不大的人要很久才能把显卡钱摊平。


