跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • 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. 7900 XTX 单卡 llama.cpp MTP 优化小记:从 47 到 51 tok/s

7900 XTX 单卡 llama.cpp MTP 优化小记:从 47 到 51 tok/s

已定时 已固定 已锁定 已移动 LLM讨论区
amd7900xtx
16 帖子 11 发布者 735 浏览 4 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • CHIA AN YANGC 离线
    CHIA AN YANGC 离线
    CHIA AN YANG
    技术大牛
    编写于 最后由 编辑
    #7

    我反饋一下情況
    【實測回饋】upstream b9687 vs goodbyecain b9256 — 長 context agent 使用場景差異

    硬體:7900 XTX 24GB / ROCm 7.2 / Xeon E5-2678v3 128GB
    模型:Huihui-Qwen3.6-27B-abliterated Q4_K,MTP n=3,q4_0 KV,128K ctx,-b 2048


    上篇有提到把 binary 從 goodbyecain 換到 upstream b9687 之後,llama-bench tg128
    提升了 12.5%(28.4 → 32.0 t/s)、server log 實際含 MTP 也從 36–42 提升到 43–50 t/s。

    但在實際跑 Hermes agent(透過 Telegram 下任務、長期對話)後發現了一個嚴重問題,
    整理如下給有類似用法的人參考。


    使用場景:長期 agent,context 會隨對話持續累積

    我的情況:SOUL.md + 對話歷史 + skill 輸出,累積下來很快到 60K–70K tokens。

    ■ goodbyecain b9256

    • context checkpoint 穩定,新一輪對話只需 prefill 新增的幾百 token(幾秒內)
    • decode tg:28–32 t/s 基礎,MTP 有效輸出 36–43 t/s
    • 長對話連續使用體感流暢,等待時間可預測

    ■ upstream b9687

    • context 超過約 60K tokens 後,Qwen3 的 SWA(Sliding Window Attention)
      會讓 checkpoint 失效,觸發全量 re-prefill:

      W slot update_slots: forcing full prompt re-processing due to lack of cache data
      (likely due to SWA or hybrid/recurrent memory)

    62K tokens → 121 秒強制重算
    70K tokens → 142 秒強制重算

    • 這會在不固定的時間點發生(不是每輪,但觸發後就是等 2–3 分鐘)
    • decode 速度本身確實快(43–50 t/s MTP),但被 re-prefill 的等待完全抵消

    結論

    | | goodbyecain b9256 | upstream b9687 |
    |---|---|---|
    | llama-bench tg128 | 28.4 t/s | 32.0 t/s (+12.5%) |
    | server MTP 有效輸出 | 36–43 t/s | 43–50 t/s |
    | prefill pp512 | 925 t/s | 908 t/s(略慢) |
    | SWA cache 穩定性(60K+ ctx) | ✅ 穩定 | ❌ 觸發全量重算 |
    | agent 長期使用體感 | 流暢 | 隨機卡頓 2–3 分鐘 |

    短 context 或每次新對話的用法:b9687 有優勢。
    長 context、對話歷史持續累積的 agent 用法:b9687 目前不適合(Qwen3 SWA 問題)。

    相關 issue:https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055

    等 upstream 修好 SWA checkpoint 再考慮切換,目前 goodbyecain 穩定優先。

    1 条回复 最后回复
    0
    • Tony WangT 离线
      Tony WangT 离线
      Tony Wang
      超级版主
      编写于 最后由 编辑
      #8

      我一直以为 KV Cache压缩Q4会有比较大的质量损失...

      按照@kop-wang 提到的图, 看来 q5_0-q4_1 和q5, 应该处于甜点区. 或者KVarN_6, 精度能追平q8.

      1 条回复 最后回复
      0
      • K 离线
        K 离线
        kenshin
        编写于 最后由 编辑
        #9

        vulkan 后端+mtp模型。50+稳定。长文本prompt--spec-draft-n-max 3 \,一般聊天--spec-draft-n-max 2
        你会找到快感

        #!/bin/bash
        export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.json
        
        # 停止 systemd 服务(避免端口占用 + Restart=always 竞争)
        sudo systemctl stop hermes-llm.service
        
        # 用 Vulkan 编译的二进制启动 27B 模型
        ./build-vulkan/bin/llama-server \
          --host 0.0.0.0 \
          --port 8080 \
          -m ~/gguf_models/Qwen3.6-27B-uncensored-heretic-v2-Native-MTP-Preserved-Q4_K_M.gguf \
          -ngl 99 \
          -c 98304 \
          --flash-attn on \
          --cache-type-k q8_0 \
          --cache-type-v q4_0 \
          --spec-type draft-mtp \
          --spec-draft-n-max 2 \
          --cont-batching \
          --mlock \
          --no-mmap \
          --main-gpu 0 \
          -b 1024 \
          -ub 1024
        
        1 条回复 最后回复
        0
        • AGIA AGI

          @kop-wang 这个帖子质量很高!感谢

          @terry

          命令参数如下:

          llama-server \
              -m ./models/Qwen3.6-27B-Uncensored-HauhauCS-Balanced-MTP-Q5_K_P.gguf \
              --mmproj ./models/mmproj-Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-f16.gguf \
              -c 131072 \
              --parallel 1 \
              -b 2048 \
              -ub 512 \
              -fa 1 \
              -ngl 99 \
              -t 16 \
              --cache-type-k q5_0 \
              --cache-type-v q4_1 \
              --no-mmap \
              --temp 0.4 \
              --spec-draft-n-max 3 \
              --top-p 0.95 \
              --top-k 20 \
              --host 0.0.0.0 \
              --port 8080
          

          精度提高,默认显存占用降低,上下文提高到了128k,通过了https://lcz.me/post/4295 的测试,答案都正确,上下文还剩余不到点一半。

          甜点级别的参数了相当于,后续还会测试。

          截屏2026-06-17 19.03.19.png

          按照下面这个顺序测试:
          截屏2026-06-17 19.00.47.png

          @kop-wang 这个帖子质量很高!感谢

          @terry

          命令参数如下:

          llama-server \
              -m ./models/Qwen3.6-27B-Uncensored-HauhauCS-Balanced-MTP-Q5_K_P.gguf \
              --mmproj ./models/mmproj-Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-f16.gguf \
              -c 131072 \
              --parallel 1 \
              -b 2048 \
              -ub 512 \
              -fa 1 \
              -ngl 99 \
              -t 16 \
              --spec-type draft-mtp
              --cache-type-k q5_0 \
              --cache-type-v q4_1 \
              --no-mmap \
              --temp 0.4 \
              --top-p 0.95 \
              --top-k 20 \
              --host 0.0.0.0 \
              --port 8080
          

          精度提高,默认显存占用降低,上下文提高到了128k,通过了https://lcz.me/post/4295 的测试,答案都正确,上下文还剩余不到点一半。

          甜点级别的参数了相当于,后续还会测试。

          截屏2026-06-17 19.03.19.png

          按照下面这个顺序测试:
          截屏2026-06-17 19.00.47.png

          demoD 离线
          demoD 离线
          demo
          编写于 最后由 编辑
          #10

          @AGI 请问兄弟按照这个参数,吐字速度是多少呢?我按照你的参数设置是25左右

          AGIA 1 条回复 最后回复
          0
          • XiaoteX 离线
            XiaoteX 离线
            Xiaote
            劳动模范
            编写于 最后由 编辑
            #11

            @demo 你提到按照参数设置只有 25 tok/s,这比预期的低了不少。7900 XTX + ROCm + Qwen3.6-27B Q4_K 正常应该能到 45-55 tok/s。

            几个可能的原因:

            1. 没开 MTP(最常见)
            确保用了 MTP 版本的模型(模型文件名带 -MTP- 后缀),并且启动参数加上了:

            --speculative-draft-model-type 2
            --speculative-n-draft 2-3
            

            没有 MTP 的话速度大概就是 30-35 tok/s。

            2. CPU 瓶颈
            你的 CPU 是 X99 平台的 E5 v4 吗?这个平台的单核性能较弱。如果 --threads 设得太多反而会因为线程争用拖慢速度:

            --threads 8-12   # 不要超过物理核数
            

            试试 --threads 8。

            3. ROCm 版本
            确保用的是 ROCm 7.2.0+,老版本对 MTP 的支持有性能问题。

            4. KV Cache 精度
            如果你设了 --cache-type-k q8_0 或 --cache-type-v q8_0,降精度到 q4_0 或保持默认也能提点速。7900 XTX 的显存带宽(960 GB/s)足够吃 Q4 KV Cache 的。

            建议先开 MTP 试一下,如果还在 30 tok/s 以下,看看 CPU 占用率是不是跑满了。

            1 条回复 最后回复
            0
            • demoD demo

              @AGI 请问兄弟按照这个参数,吐字速度是多少呢?我按照你的参数设置是25左右

              AGIA 离线
              AGIA 离线
              AGI
              技术大牛 劳动模范
              编写于 最后由 编辑
              #12

              @demo 我这个参数没有开mtp,加参数,速度就翻倍了。

              https://agi.cd

              1 条回复 最后回复
              0
              • E 离线
                E 离线
                Enigma
                编写于 最后由 编辑
                #13

                👍 先赞后学习

                1 条回复 最后回复
                0
                • E 离线
                  E 离线
                  Enigma
                  编写于 最后由 编辑
                  #14
                  此主題已被删除!
                  1 条回复 最后回复
                  0
                  • 耗奇害死猫耗 离线
                    耗奇害死猫耗 离线
                    耗奇害死猫
                    编写于 最后由 编辑
                    #15

                    这个模型带mtp的版本在哪里下载呢,google没找到

                    A 1 条回复 最后回复
                    0
                    • 耗奇害死猫耗 耗奇害死猫

                      这个模型带mtp的版本在哪里下载呢,google没找到

                      A 离线
                      A 离线
                      abaalei
                      技术大牛 劳动模范
                      编写于 最后由 编辑
                      #16

                      @耗奇害死猫 你看我最新的那个贴,里面比较详细

                      1 条回复 最后回复
                      0

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

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

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

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


                      • 登录

                      • 没有帐号? 注册

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