Muse Glimmer 30B GGUF Broken

从 Hugging Face 拉取 Muse Glimmer 30B GGUF 后运行无输出(Muse Glimmer 30B GGUF Broken),通常是 Ollama 自动写入的模型元数据(尤其是 stop 参数)有误,导致生成一开始就被截断。优先检查 ollama show --model

快速结论:从 Hugging Face 拉取 Muse Glimmer 30B GGUF 后运行无输出(Muse Glimmer 30B GGUF Broken),通常是 Ollama 自动写入的模型元数据(尤其是 stop 参数)有误,导致生成一开始就被截断。优先检查 ollama show --modelfile 里的 PARAMETER stop。

适用环境:Issue 中的验证环境为 Ollama 运行 Hugging Face 上的 hf.co/unsloth/Muse-Glimmer-30B-GGUF:UD-Q4_K_XL 和 hf.co/meta-models/Muse-Glimmer-30B-GGUF:Q4_K_XL;日志来自 Linux 主机(XPS-15-9520)。Issue 未提供 Python、CUDA、PyTorch 或显卡版本,不作补充。

最快修复方案:在交互式 Prompt 中执行 /set parameter stop 0,临时清空错误的 stop 参数即可恢复输出。这是 Issue 中被确认可行的方案。

注意事项:该设置只对当前会话生效,退出后需重新设置;若要长期使用,可按 Issue 中的做法提取 GGUF 并重建一个 Modelfile 模型。/set parameter stop 0 是临时绕过,不等同于修复上游元数据问题,不同模型的正确停止符仍需按模型卡确认。

问题场景

用户通过 Ollama 直接拉取并运行 Hugging Face 上的 Muse Glimmer 30B GGUF 量化模型,例如 ollama run hf.co/unsloth/Muse-Glimmer-30B-GGUF:UD-Q4_K_XL 或 ollama run hf.co/meta-models/Muse-Glimmer-30B-GGUF:Q4_K_XL,输入 Prompt 后模型不返回任何回答。同一批模型在 llama cli 中用原始 GGUF 运行却正常,说明问题不在模型权重本身,而在 Ollama 拉取模型时附加的元数据。

报错原文

ollama run hf.co/unsloth/Muse-Glimmer-30B-GGUF:UD-Q4_K_XL
ollama run hf.co/meta-models/Muse-Glimmer-30B-GGUF:Q4_K_XL

srv  server_strea: conv_id= (empty=1)
srv    operator(): chat format: peg-native
slot get_availabl: id  0 | task -1 |  - skipping, slot is empty
slot launch_slot_: id  0 | task 0 | processing task, is_child = 0
slot   operator(): id  0 | task 0 | new prompt, n_ctx_slot = 4096, n_keep = 4, task.n_tokens = 62
slot print_timing: id  0 | task 0 | prompt processing, n_tokens =     58, progress = 0.94, t =   6.21 s / 9.34 tokens per second
slot init_sampler: id  0 | task 0 | init sampler, took 0.03 ms, tokens: text = 62, total = 62

原因分析

Issue 中的结论是“模型配置错误”(The model is misconfigured)。从 Hugging Face 拉取的模型会被 Ollama 追加额外元数据以适配 Ollama,而在很多情况下这些元数据并不正确。本 Issue 中,被写入的 stop 参数会阻止模型产生输出;llama cli 使用原始 GGUF、不经过这层元数据,所以可以正常生成。受影响模型里可见的错误 stop 参数包括:

PARAMETER stop <|begin_of_text|>
PARAMETER stop <|start|>
PARAMETER stop <|message|>
PARAMETER stop <|eot|>
PARAMETER stop <|start|>user<|message|>

另外,Issue 正文提到这些模型自带内部 Jinja 模板,Meta Models 的模型卡明确写了 --jinja 不是可选项。这可能与元数据配置问题相关,但讨论中确认的直接病因是 stop 参数。

环境排查

  • 确认触发问题的模型标识:hf.co/unsloth/Muse-Glimmer-30B-GGUF:UD-Q4_K_XL 或 hf.co/meta-models/Muse-Glimmer-30B-GGUF:Q4_K_XL。
  • 确认模型已完整下载:如果 ollama show --modelfile <模型> 报 Error: model '...' not found,先执行一次 ollama pull 把模型拉下来。
  • 检查模型元数据中的 PARAMETER stop 条目,确认是否存在 Issue 中列出的错误停止符。
  • 对比 llama cli -hf 用原始 GGUF 是否正常,以区分模型问题与 Ollama 元数据问题。
  • Issue 未提供 Python、CUDA、PyTorch、显卡型号或 Ollama 版本号,这些暂不作为排查前提。

解决步骤

  1. 先用临时方式验证根因:启动会话后执行 /set parameter stop 0,清空已加载的 stop 参数,再输入 Prompt。Issue 中确认这样可以让模型正常输出,无需另建模型副本。
  2. 如果需要持久化修复,先提取现有模型的 Modelfile:ollama show --modelfile hf.co/unsloth/Muse-Glimmer-30B-GGUF:UD-Q4_K_XL | grep FROM > Modelfile。
  3. 用该 Modelfile 创建一份本地模型,例如 ollama create unsloth/muse-glimmer:30b-ud-q4_K_XL,构建过程会复用已下载的 GGUF 层并写出 manifest。
  4. 可选:从库中模型补齐渲染器、解析器和参数,例如 ollama show muse-glimmer:30b --modelfile | egrep "^(RENDERER|PARSER|PARAMETER)" >> Modelfile,再执行 ollama create 重建。
  5. 运行新模型验证:ollama run unsloth/muse-glimmer:30b-ud-q4_K_XL hello --think=false。

验证方法

在会话中执行 /set parameter stop 0 后重新提问,如果模型能正常返回文本(例如输出 Hello! How can I help you today?),即可确认问题来自 stop 参数。对重建的模型执行 ollama run unsloth/muse-glimmer:30b-ud-q4_K_XL hello --think=false,若能正常生成回答,说明持久化修复生效。如需进一步确认,可对比 ollama show --modelfile 输出中 stop 参数与模型卡要求是否一致。

参考来源

ollama/ollama #18808

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 27922

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注