跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • 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+qwen3.6-27b 初步测试

llama.cpp+qwen3.6-27b 初步测试

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

    @blackjack 说:

    @joker_chang 说:

    @rock-shi 那就对了,24G跑128K上下文+MTP资源不够

    我27 q4量化,kv均q8_0量化,上下文128k,MTP, 5090laptop 24GRAM,开thinking,50+tps,快的起飞啊

    厉害!一样的卡,大哥能给个作业抄吗?14900k,32g内存,llama.cpp,感谢!

    ran zR 离线
    ran zR 离线
    ran z
    编写于 最后由 编辑
    #21
    此主題已被删除!
    1 条回复 最后回复
    0
    • L 离线
      L 离线
      laobenxiong
      编写于 最后由 laobenxiong 编辑
      #22

      关于 hermes 接入 llama-server, 这两天有两个观察:

      1. hermes 新会话的第一条 prompt 大概是不到 20k token, 7900xtx大概需要30~40秒pp, 然后tg. 观察 llama-server 的log, 发现第一条prompt之后紧接着会更一个小 prompt, 这个 prompt 会把前面的 checkpoint (大概每8k个token一个 checkpoint)都冲掉, 这样下一次再接着聊, 前面的~20K prompt 还得重新 pp. 让 hermes 自己检查了一下, 第二个小 prompt 是它发的 title generation request. 为了避免这种情况, 可以禁止 title generation, 或者设一个辅助 aux model来生成 title (比如我让在线的 deepseek-v4-flash 干所有的 aux 工作);
      2. hermes stream mode 下有一个环境变量 HERMES_STREAM_READ_TIMEOUT, 它 控制收到第一个回复token的 timeout, 缺省为120s. 而在7900xtx 下pp花的时间大概是这样的(q5_1/q5_1 cache quant):
       -  20k:  40s
       -  40k: 100s
       -  60k: 170s
       -  80k: 260s
       - 100k: 360s
       - 120k: 460s
       - 140k: 580s
       - 160k: 710s
      

      如果hermes有~50k的prompt, 赶上 llama-server cache checkpoint 刚好都是清空的情况下, pp没有完成之前, hermes就超时了.超时以后 hermes会中断当前请求,再发第二次(共三次). 如果第二次又刚好checkpoint被清空(我碰到过,具体原因还没搞明白),那么三次必然都会失败. 碰到这种情况, 可以把这个环境变量增大一下.

      今天更新llama.cpp到最新, 还碰到了 llama-server RSS 超大给 oom-kill的情况, 以及 llama-server/hermes 进入死循环的情况. 具体还没有时间搞清楚. 目前我回到了 b9305.

      目前的启动脚本如下:

      #!/bin/bash
      
      LLAMA_SERVER=/home/bruin/github/llama.cpp/build-vulkan/bin/llama-server
      
      TOKEN_PER_CKPT=8192    # token per checkpoint, seems llama.cpp hardcoded
      NUM_CKPT=32
      CTX_SIZE=$((TOKEN_PER_CKPT * NUM_CKPT))
      
      ARGS=(
        --model              /home/bruin/Qwen3.6-27B-Q4_K_M.gguf
        --mmproj             /opt/gguf-models/unsloth/Qwen3.6-27B-MTP-GGUF/mmproj-BF16.gguf
        #--chat-template-file /opt/gguf-models/froggeric/Qwen-Fixed-Chat-Templates/chat_template.jinja
        --spec-type          draft-mtp
        --spec-draft-n-max   2                       # Max draft tokens
        --ctx-checkpoints ${NUM_CKPT}                # 8k token per ckpt
        --ctx-size ${CTX_SIZE}                       # 262144 for 256k context
        #--swa-full                                   # qwen3.6-27b does not support it
        --parallel   1                               # Single slot
        --flash-attn on                              # Enable FlashAttention
        --n-gpu-layers 999                           # All layers to GPU
        --cache-type-k q5_1                          # Quantize KV cache keys
        --cache-type-v q5_1                          # Quantize KV cache values
        #--fit off                                    #
        --threads 16                                 # CPU threads helping tg
        --threads-batch 16                           # CPU threads helping pg
        --batch-size 2048                            # Batch size
        --ubatch-size 1024                           # Micro‑batch size
        --cache-ram 0                                # seems not working
        --reasoning auto                             # Auto reasoning
        --reasoning-format deepseek                  # Reasoning format
        --reasoning-budget 1024                      # Reasoning budget
        --log-verbosity 4                            # Log verbosity
        --host 0.0.0.0 --port 8000                   # Listen on all interfaces, port 8000
        --cont-batching                              # Continuous batching
        --no-warmup                                  # Skip warmup
        --no-mmap                                    # Don’t memory‑map model
        --mlock                                      # Lock model in RAM
        --jinja                                      # Jinja chat template
        --metrics                                    # View metrics by accessing http://<ip:port>/metrics
      )
      
      # print the cmdline
      echo "${LLAMA_SERVER}"
      for ((i=0; i<${#ARGS[@]}; i+=2)); do
        echo "${ARGS[i]} ${ARGS[i+1]}"
      done
      
      # run the cmd
      ${LLAMA_SERVER} "${ARGS[@]}"
      
      John AtoJ 1 条回复 最后回复
      1
      • L laobenxiong

        关于 hermes 接入 llama-server, 这两天有两个观察:

        1. hermes 新会话的第一条 prompt 大概是不到 20k token, 7900xtx大概需要30~40秒pp, 然后tg. 观察 llama-server 的log, 发现第一条prompt之后紧接着会更一个小 prompt, 这个 prompt 会把前面的 checkpoint (大概每8k个token一个 checkpoint)都冲掉, 这样下一次再接着聊, 前面的~20K prompt 还得重新 pp. 让 hermes 自己检查了一下, 第二个小 prompt 是它发的 title generation request. 为了避免这种情况, 可以禁止 title generation, 或者设一个辅助 aux model来生成 title (比如我让在线的 deepseek-v4-flash 干所有的 aux 工作);
        2. hermes stream mode 下有一个环境变量 HERMES_STREAM_READ_TIMEOUT, 它 控制收到第一个回复token的 timeout, 缺省为120s. 而在7900xtx 下pp花的时间大概是这样的(q5_1/q5_1 cache quant):
         -  20k:  40s
         -  40k: 100s
         -  60k: 170s
         -  80k: 260s
         - 100k: 360s
         - 120k: 460s
         - 140k: 580s
         - 160k: 710s
        

        如果hermes有~50k的prompt, 赶上 llama-server cache checkpoint 刚好都是清空的情况下, pp没有完成之前, hermes就超时了.超时以后 hermes会中断当前请求,再发第二次(共三次). 如果第二次又刚好checkpoint被清空(我碰到过,具体原因还没搞明白),那么三次必然都会失败. 碰到这种情况, 可以把这个环境变量增大一下.

        今天更新llama.cpp到最新, 还碰到了 llama-server RSS 超大给 oom-kill的情况, 以及 llama-server/hermes 进入死循环的情况. 具体还没有时间搞清楚. 目前我回到了 b9305.

        目前的启动脚本如下:

        #!/bin/bash
        
        LLAMA_SERVER=/home/bruin/github/llama.cpp/build-vulkan/bin/llama-server
        
        TOKEN_PER_CKPT=8192    # token per checkpoint, seems llama.cpp hardcoded
        NUM_CKPT=32
        CTX_SIZE=$((TOKEN_PER_CKPT * NUM_CKPT))
        
        ARGS=(
          --model              /home/bruin/Qwen3.6-27B-Q4_K_M.gguf
          --mmproj             /opt/gguf-models/unsloth/Qwen3.6-27B-MTP-GGUF/mmproj-BF16.gguf
          #--chat-template-file /opt/gguf-models/froggeric/Qwen-Fixed-Chat-Templates/chat_template.jinja
          --spec-type          draft-mtp
          --spec-draft-n-max   2                       # Max draft tokens
          --ctx-checkpoints ${NUM_CKPT}                # 8k token per ckpt
          --ctx-size ${CTX_SIZE}                       # 262144 for 256k context
          #--swa-full                                   # qwen3.6-27b does not support it
          --parallel   1                               # Single slot
          --flash-attn on                              # Enable FlashAttention
          --n-gpu-layers 999                           # All layers to GPU
          --cache-type-k q5_1                          # Quantize KV cache keys
          --cache-type-v q5_1                          # Quantize KV cache values
          #--fit off                                    #
          --threads 16                                 # CPU threads helping tg
          --threads-batch 16                           # CPU threads helping pg
          --batch-size 2048                            # Batch size
          --ubatch-size 1024                           # Micro‑batch size
          --cache-ram 0                                # seems not working
          --reasoning auto                             # Auto reasoning
          --reasoning-format deepseek                  # Reasoning format
          --reasoning-budget 1024                      # Reasoning budget
          --log-verbosity 4                            # Log verbosity
          --host 0.0.0.0 --port 8000                   # Listen on all interfaces, port 8000
          --cont-batching                              # Continuous batching
          --no-warmup                                  # Skip warmup
          --no-mmap                                    # Don’t memory‑map model
          --mlock                                      # Lock model in RAM
          --jinja                                      # Jinja chat template
          --metrics                                    # View metrics by accessing http://<ip:port>/metrics
        )
        
        # print the cmdline
        echo "${LLAMA_SERVER}"
        for ((i=0; i<${#ARGS[@]}; i+=2)); do
          echo "${ARGS[i]} ${ARGS[i+1]}"
        done
        
        # run the cmd
        ${LLAMA_SERVER} "${ARGS[@]}"
        
        John AtoJ 在线
        John AtoJ 在线
        John Ato
        编写于 最后由 编辑
        #23

        @laobenxiong 你这套参数接近目前的极限了,还有一个SMITHY可以试试,--cache-ram多轮对话好像有用。

        L 1 条回复 最后回复
        0
        • John AtoJ John Ato

          @laobenxiong 你这套参数接近目前的极限了,还有一个SMITHY可以试试,--cache-ram多轮对话好像有用。

          L 离线
          L 离线
          laobenxiong
          编写于 最后由 编辑
          #24

          @John-Ato smithy是什么? 没搜到

          1 条回复 最后回复
          0
          • G 离线
            G 离线
            goodhat5405
            编写于 最后由 编辑
            #25

            最近在用这个llama.cp +qwen 35 a3b。 m5 max 蛮好的 百来token

            1 条回复 最后回复
            0

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

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

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

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


            • 登录

            • 没有帐号? 注册

            • 登录或注册以进行搜索。
            • 第一个帖子
              最后一个帖子
            0
            • 版块
            • 最新
            • 标签
            • 热门
            • 用户
            • 群组