快速结论:在 llama-server 中,当同时启用 `–embeddings`(或 `–embedding`)和 `–spec-type draft-mtp` 时,启动过程会因 GGML_ASSERT 失败而中止。优先排查方案是确保不要同时启用这两个选项,或尝试暂时移除 `–spec-type draft-mtp` 以完成 embedding 操作。
适用环境:llama.cpp 版本 `b10194-e1a1abb78`;操作系统:Ubuntu 24.04;后端:CUDA(NVIDIA GeForce RTX 5070)与 ROCm(AMD Radeon XT 7900 XTX);涉及模型包括 KAT-Coder-V2.5-Dev-MTP、Ornith-1.0-35B-MTP 和 Qwen3.6-35B-A3B-MTP。
最快修复方案:暂无确认的一步修复方案。当前 Issue 中的主要结论是:如果要使用 embeddings,需要避免同时启用 `–spec-type draft-mtp`;反之,使用 MTP 推理时不要加 `–embeddings`/`–embedding`。
注意事项:该报错出现在模型构建阶段,属于启动即失败的问题;不建议通过忽略断言或使用旧版本来规避,因为底层计算图结构不支持该组合。
问题场景
用户运行 `llama-server` 并加载 MTP 模型(如 KAT-Coder-V2.5-Dev-MTP、Qwen3.6-35B-A3B-MTP 等),同时使用 `–spec-type draft-mtp` 以及 `–embedding` 或 `–embeddings` 参数来启动服务。该问题发生在 Ubuntu 24.04 + CUDA 和 ROCm 后端环境下,均能复现。
报错原文
GGML_ASSERT(inp != nullptr &&
"missing result_norm/result_embd tensor") failed
Backtrace:
common_speculative_init_result
↓
llama_init_from_model
↓
llama_context
↓
llama_model::build_graph
↓
llm_graph_context::build_pooling
↓
GGML_ASSERT(
inp != nullptr &&
"missing result_norm/result_embd tensor"
)
原因分析
可能原因是,在构建池化(pooling)计算图时(`build_pooling`),llama-server 期望找到能够产生 `result_norm` 或 `result_embd` 张量的节点。当同时启用 MTP 推测解码和 embedding 模式时,计算图的构建顺序或对模型输出的处理方式出现冲突,导致找不到预期张量,从而触发 GGML_ASSERT。该问题似乎与 llama-server 中特定的 embedding/pooling 图结构有关,因为 llama-cli 搭配相同的 MTP 模型和 `–spec-type draft-mtp` 时可以正常工作。
环境排查
- 确认 llama.cpp 版本是否为 `b10194-e1a1abb78` 或包含相同逻辑的版本。
- 检查当前使用的后端是否为 CUDA(NVIDIA)或 ROCm(AMD),该问题在两个后端上均有报告。
- 确认是否为目标 MTP 模型(如 KAT-Coder-V2.5-Dev-MTP、Ornith-1.0-35B-MTP、Qwen3.6-35B-A3B-MTP)。
- 检查启动参数中是否同时包含 `–embedding`/`–embeddings` 与 `–spec-type draft-mtp`。
解决步骤
- 当需要运行 embedding 服务时,暂时移除 `–spec-type draft-mtp` 参数,仅保留 `–embeddings`(或 `–embedding`)启动 llama-server。
- 当需要使用 MTP 推测解码功能时,不要添加 `–embeddings` 或 `–embedding` 参数,用 `–spec-type draft-mtp` 正常启动。
- 如果两种功能都需要,建议分别启动两个独立的 server 实例,一个用于 embedding,一个用于 MTP 推理,或等待上游修复该兼容性问题。
- 可优先尝试通过 GitHub Issue 跟踪后续补丁或相关 pull request,更新 llama.cpp 至修复版本后再进行组合测试。
验证方法
确认问题已解决的方法是:在保留所需功能的前提下,移除冲突参数后,`llama-server` 能正常启动并加载模型,不再出现 `GGML_ASSERT` 中止或 `missing result_norm/result_embd tensor` 报错。同时,可通过向 server 发送请求验证 embedding 接口或推理接口能正常返回结果。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[DSpark] Native graph assertion on Apple Silicon with official LFM2.5-2.6B DSpark GGUF](https://www.chat-gpts.plus/wp-content/uploads/2026/08/27528-0cf76c3f-768x403.jpg)

