故障排查 / 输出质量怪
输出乱码、复读、突然说另一种语言
本站未复现 改写 影响:全部 全版本 · Windows / Linux / macOS
现象
模型输出符号乱码、同一段话反复循环、把训练里的其他内容吐出来,或者中文进去英文/日文出来。
原因
最常见是聊天模板(chat template)用错了:不同模型的对话包装格式不同,用错模板等于把乱序标记喂进去。其次是非原生量化组合(某些极低端化在部分架构上会明显退化)、文件损坏、以及采样参数太极端(temperature 过高、repeat penalty 设成负数)。
按这个顺序处理
- 确认框架用的是模型自带的模板:llama.cpp 默认读文件里的模板,Ollama/LM Studio 需要你选对模型版本而不是随便一个 Modelfile。
- 换一档量化对照:如果 Q3 系列乱码而 Q4 正常,就是量化太激进,不是配置问题。
- 采样参数回到保守值:temperature 0.7、top_p 0.9、repeat_penalty 1.0–1.15 先跑一次。
- 排除文件损坏:按 gguf-truncated 那条核文件大小和哈希。
- 多语言模型要显式在提示词里指定输出语言,它们默认会跟随训练语料的分布。
怎么确认解决了
同一段输入换模板/换量化后输出正常且两次一致(temp=0 时应当完全一致,这是判断『是量化问题还是随机性问题』的最快方法)。
来源与可信度
条目性质依据公开事实与社区普遍报告,用本站自己的话重写(未搬运任何他人文章段落)
是否已在本站机器复现否——请把这条当线索而不是结论
- https://github.com/ggml-org/llama.cpp/issues/7240 — issue:全 offload+长上下文时 Vulkan 输出乱码,对应'量化/上下文导致输出崩坏'
- https://www.reddit.com/r/LocalLLaMA/comments/1fnctht/llamacpp_quantize_results_in_garbage_output_how/ — 社区:量化过低产生 garbage output,对应'换更高档量化'处置
- https://qwen.readthedocs.io/en/v3.0/quantization/llama.cpp.html — 官方文档:权重量化与反量化原理,支撑'量化档位决定输出质量'
相关条目
加载时报大小对不上 / missing tensor / 输出乱码起不来 · 模型加载失败,或者勉强加载成功但输出完全不通顺的乱码、乱吐训练数据。主要用中文,该选哪个模型?中文优先看 Qwen3 系列和 GLM-4-9B;要看图用 Gemma 3;只要英文推理用 Phi-4。词表对中文友好程度会直接影响同样上下文能装多少汉字。