跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

抡锤者

  1. 主页
  2. LLM讨论区
  3. llama.cpp目前有重大性能BUG:checkpoint的巡回逻辑对于混合模型(比如qwen3.6-27B)无效,从而导致大概率每次对话都要prefill全文,严重拖慢速度

llama.cpp目前有重大性能BUG:checkpoint的巡回逻辑对于混合模型(比如qwen3.6-27B)无效,从而导致大概率每次对话都要prefill全文,严重拖慢速度

已定时 已固定 已锁定 已移动 LLM讨论区
15 帖子 7 发布者 343 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • terryT terry

    @kop-wang 不够劲爆,我认为可以用,慢一点而已。而且不是有带缓存版本的吗?我需要解决问题的,而不是发现问题的内容。观众看:我解决了xx问题,而不是:我发现了xx问题。

    kop wangK 离线
    kop wangK 离线
    kop wang
    超级版主
    编写于 最后由 编辑
    #4

    @terry 有道理,学习了

    虚心交流,一起进步

    1 条回复 最后回复
    0
    • kop wangK kop wang

      在昨天研究qwen3.6-27B的优化时,看到了这个问题:server: fix context checkpoint restore for hybrid/recurrent models (DeltaNet/Mamba

      大概意思就是,因为llama.cpp的缓存巡回逻辑有问题,导致你n次调用大模型(n>1)时,大概率llama.cpp找不到之前的对话,会从头再次prefill你的对话全文。

      翻译成大白话讲,就是你对一个人,每多说一句话,就要从第一句开始重复一遍。

      更为悲惨的是:
      在5月份,llama.cpp制作组引入了另外一个checkpoint逻辑,使得缓存巡回性能再次下降:Commit e98cb51

      经过此帖中大神实测,NVIDIA RTX PRO 6000 Blackwell在运行qwen3.6-27B Q8时,上下文50K的长度下,每次请求LLM都会浪费40秒:

      3 consecutive full re-processings logged:
      
      ┌───────────┬────────────────────┬───────┐
      │ Turn │ Tokens reprocessed │ Time │
      ├───────────┼────────────────────┼───────┤
      │ Task 2795 │ 67,608 │ 38.4s │
      ├───────────┼────────────────────┼───────┤
      │ Task 3241 │ 71,211 │ 41.0s │
      ├───────────┼────────────────────┼───────┤
      │ Task 3401 │ 71,105 │ 41.4s │
      └───────────┴────────────────────┴───────┘
      
      Root cause visible in logs: The new prompt is ~19k tokens, but all checkpoints sit at positions 39k–71k (from previous longer requests). Every checkpoint
      is checked against 19340 and rejected because they're all beyond the new prompt length. Result: 0 usable checkpoints → full reprocess from BOS.
      

      结论是,目前的llama.cpp+qwen3.6-27B这个组合,在Agent工具这个场景下,性能不可用。

      目前此issues还是open状态,待修复。@terry @tony-wang

      L 离线
      L 离线
      laobenxiong
      德高望重 劳动模范
      编写于 最后由 laobenxiong 编辑
      #5

      @kop-wang 我在 7900xtx 上用 llama-server (vulkan, b9553) + unsloth/Qwen3.6-27B-MTP-GGUF + hermes 配 262144 context, 问题的症状和这个不一样. 我可以一个 session 顺利到达 >200K 的上下文结束. 中间没有这里提到的 prefill 重填的问题(或者我没有注意到?). 我碰到的问题是, 任务结束以后, gpu还在运行, llama-server log 显示收到了一堆任务, 然后最后导致 ~200K 的 prefill 全部失效 且重新 prefill. 让 hermes 自己调查了一下 (让它直接监控 llama-server 的日志, 它再和自己的日志对比), 它说是 creation_nudge_interval 和 nudge_interval 导致的, 并建议我把它们置0 (disable).

      N 1 条回复 最后回复
      1
      • N 离线
        N 离线
        neo
        编写于 最后由 neo 编辑
        #6

        是的,这个问题困扰我挺久了,严重影响任务节奏,前几天换成VLLM后,目前感觉还挺不错,开启前缀缓存,hit百分之八九十,开MTP后推理速度跟llama相差无几,而且可以多任务并行,如果不想折腾推荐先用vllm。SGLANG运行Qwen3.6 INT4时目前兼容度还不是很好,有bug,注意避坑。

        kop wangK terryT 2 条回复 最后回复
        0
        • N neo

          是的,这个问题困扰我挺久了,严重影响任务节奏,前几天换成VLLM后,目前感觉还挺不错,开启前缀缓存,hit百分之八九十,开MTP后推理速度跟llama相差无几,而且可以多任务并行,如果不想折腾推荐先用vllm。SGLANG运行Qwen3.6 INT4时目前兼容度还不是很好,有bug,注意避坑。

          kop wangK 离线
          kop wangK 离线
          kop wang
          超级版主
          编写于 最后由 编辑
          #7

          @neo vllm有个第一次启动导致OOM的问题,不知大神是否遇到过。我在运行vllm启用nvfp4模型时,会有一段时间内存、SSD读写直接爆炸,然后就崩溃了。

          虚心交流,一起进步

          N 1 条回复 最后回复
          0
          • M 离线
            M 离线
            mark
            超凡大师
            编写于 最后由 编辑
            #8

            vllm ,ollma, lm studio ,我最终选择了 lm studio ,因为简单,鼠标操作就行
            ollma 给你下载一堆的插件,让我卸载了,搞的我c盘都快满了.

            1 条回复 最后回复
            0
            • N neo

              是的,这个问题困扰我挺久了,严重影响任务节奏,前几天换成VLLM后,目前感觉还挺不错,开启前缀缓存,hit百分之八九十,开MTP后推理速度跟llama相差无几,而且可以多任务并行,如果不想折腾推荐先用vllm。SGLANG运行Qwen3.6 INT4时目前兼容度还不是很好,有bug,注意避坑。

              terryT 离线
              terryT 离线
              terry
              超级版主
              编写于 最后由 编辑
              #9

              @neo 其实只有SG-Lang能跑,本地才有意义,没有Radix缓存树,本地hermes挂机做任务好可以,要实时做事太慢了。

              油管:https://www.youtube.com/@抡锤者

              N B 2 条回复 最后回复
              0
              • kop wangK kop wang

                @neo vllm有个第一次启动导致OOM的问题,不知大神是否遇到过。我在运行vllm启用nvfp4模型时,会有一段时间内存、SSD读写直接爆炸,然后就崩溃了。

                N 离线
                N 离线
                neo
                编写于 最后由 编辑
                #10

                @kop-wang 大神不敢当,小学生而已,共同进步。你的情况我没有遇到,也许可以先关闭cuda-graph或前缀缓存启动一次试试,实在不行用我现在这个模型试下:shawnw3i/Qwen3.6-27B-AWQ-MTP,参考启动参数:
                vllm serve /path/to/models/Qwen3.6-27B-AWQ-MTP
                --tensor-parallel-size 2
                --max-model-len 262144
                --gpu-memory-utilization 0.88
                --kv-cache-dtype fp8
                --max-num-seqs 2
                --reasoning-parser qwen3
                --enable-auto-tool-choice
                --tool-call-parser qwen3_coder
                --port 9527 --host 0.0.0.0
                --trust-remote-code
                --served-model-name Qwen3.6-27B-AWQ-MTP
                --max-num-batched-tokens 16384
                --enable-prefix-caching
                --speculative-config '{"method":"mtp","num_speculative_tokens":3}'
                另外如果要用turboguant(跟MTP有兼容性问题),现在的版本需要先合并issues里的两个补丁,或者等0.23版本,以上希望可以帮到你。

                1 条回复 最后回复
                0
                • terryT terry

                  @neo 其实只有SG-Lang能跑,本地才有意义,没有Radix缓存树,本地hermes挂机做任务好可以,要实时做事太慢了。

                  N 离线
                  N 离线
                  neo
                  编写于 最后由 编辑
                  #11

                  @terry 是的,本来第一目标也是sglang,奈何有目前无法逾越的问题,只能退而求其次了。

                  1 条回复 最后回复
                  0
                  • L laobenxiong

                    @kop-wang 我在 7900xtx 上用 llama-server (vulkan, b9553) + unsloth/Qwen3.6-27B-MTP-GGUF + hermes 配 262144 context, 问题的症状和这个不一样. 我可以一个 session 顺利到达 >200K 的上下文结束. 中间没有这里提到的 prefill 重填的问题(或者我没有注意到?). 我碰到的问题是, 任务结束以后, gpu还在运行, llama-server log 显示收到了一堆任务, 然后最后导致 ~200K 的 prefill 全部失效 且重新 prefill. 让 hermes 自己调查了一下 (让它直接监控 llama-server 的日志, 它再和自己的日志对比), 它说是 creation_nudge_interval 和 nudge_interval 导致的, 并建议我把它们置0 (disable).

                    N 离线
                    N 离线
                    neo
                    编写于 最后由 编辑
                    #12

                    @laobenxiong hermes每个N轮对话,会自动运行一个background_review,总结对话中的记忆和skill,在单slot中会导致system prompt与之前的不一致,所以prefill全部失效,而且hermes硬编码这个任务必须主模型亲自来完成,对于目前的llama.cpp版本来说确实不太友好。

                    1 条回复 最后回复
                    0
                    • terryT terry

                      @neo 其实只有SG-Lang能跑,本地才有意义,没有Radix缓存树,本地hermes挂机做任务好可以,要实时做事太慢了。

                      B 离线
                      B 离线
                      Brian
                      编写于 最后由 编辑
                      #13

                      @terry 说:

                      @neo 其实只有SG-Lang能跑,本地才有意义,没有Radix缓存树,本地hermes挂机做任务好可以,要实时做事太慢了。

                      Sglang可以跑了,但是FP8 256k上下文速度还是不太行,还在测

                      terryT 1 条回复 最后回复
                      0
                      • C 离线
                        C 离线
                        Colt
                        编写于 最后由 编辑
                        #14

                        这个问题也困扰我很久,目前用chat template 补丁,还是有不少改善:
                        https://lcz.me/post/5404

                        1 条回复 最后回复
                        0
                        • B Brian

                          @terry 说:

                          @neo 其实只有SG-Lang能跑,本地才有意义,没有Radix缓存树,本地hermes挂机做任务好可以,要实时做事太慢了。

                          Sglang可以跑了,但是FP8 256k上下文速度还是不太行,还在测

                          terryT 离线
                          terryT 离线
                          terry
                          超级版主
                          编写于 最后由 编辑
                          #15

                          @Brian 有空发帖分享下,能抄作业我才去折腾,最好是docker版本的 。

                          油管:https://www.youtube.com/@抡锤者

                          1 条回复 最后回复
                          0

                          你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

                          厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

                          有了你的建议,这篇帖子会更精彩哦 💗

                          注册 登录
                          回复
                          • 在新帖中回复
                          登录后回复
                          • 从旧到新
                          • 从新到旧
                          • 最多赞同


                          • 登录

                          • 没有帐号? 注册

                          • 第一个帖子
                            最后一个帖子
                          0
                          • 版块
                          • 最新
                          • 标签
                          • 热门
                          • 用户
                          • 群组