跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • 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

  • 默认(LCZ-Blue)
  • 不使用皮肤
  • LCZ-Green
  • LCZ-Blue
  • LCZ-Black
折叠
品牌标识

抡锤者

首页 版块 标签 硬件 AI 广场
S

sky

@sky
德高望重
取消关注 关注
关于
帖子
14
主题
3
分享
0
群组
1
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • 3並發146 t/s @105K nvfp4:Qwen3.8-27B RTX 5090 滿載實測 II,全 nvfp4 450K pool、419K 全上卡零 offload
    S sky

    0. 先給結論

    項目 結果
    本篇測什麼 上一篇測「真實 agent 負載 13.7 小時」,這篇純速度:prefill / decode 在 DSH compact 上限下的壓力曲線(含 NInfer 近期新增的 nvfp4 KV feature)、官方 docs 方法學對照、並發度對照
    Server --kv-dtype nvfp4 --kv-capacity 450560 --max-concurrency 3 --max-context 262144 --spec mtp(RTX 5090 單卡,CUDA 13.3,build 21a0e85f)
    Prefill 行為 嚴格 FIFO 串行:TTFT = 隊列位置 × 該路的 solo prefill 時間;--max-concurrency 完全不加速 prefill
    Solo prefill 47k → 6,004 tok/s;105k → 4,096;143k → 3,403;157k → 3,174;210k → 2,587 tok/s
    壓力 TTFT ladder(s1,C=3,每路 105k) 25.7 / 53.3 / 81.2 s(= solo × 1/×2/×3)
    C=3 vs C=4(同一 104k workload) C4 多一路(101.7 s),prefill 斜率不變;C4 的真實成本 = parent session 被擠到 host 冷層 → 維持 C=3
    docs/performance.md 對照 MTP0 prefill +0.3…+3.4%、decode −1.8…−4.9%;MTP3 per-fixture 最大偏差 −7.6%(在參考值 1σ 內);makespan C4 +7.2%、C8 −17.8%(本 build C8 不再 memory-throttled,avg batch 3.32 vs 參考 2.36)→ 零回歸
    C=3 最佳 context size 131,072:compact 上限 104,857 × 3 路並發 + 本 session = 419,428 ≤ 450,560 pool,全 device 容納、零 host offload(s1 實測)

    一句話:prefill 是串行的,context 上限是算出來的——C=3 + 131,072 + nvfp4 450K pool 是這顆卡上「3 路滿載並發 + 活的 agent session」全在 device 的最大窗口。

    1. 跟上一篇的分別

    上一篇(lcz.me/topic/1228,13.7 小時真實編程負荷,int8 KV)的結論是「agent 負載 98.6% 是 prefill,最佳 C=2」。這篇換三個變量:

    1. KV 換 nvfp4——NInfer 近期新增的 feature(--kv-dtype nvfp4,上一篇的路線還是 int8 KV);pool 從 262,144 提到 450,560 tokens(reservation 省約 1 GiB,token 容量反而多 73%);
    2. 把 context 窗口鎖在 DSH 實際會觸發 compact 的上限(floor(0.8 × contextWindow),thresholdRatio 0.8)去壓力測試,而不是拍一個整數;
    3. 拿官方 docs/performance.md 的完整方法學(MTP0 長 prompt profile + MTP3 corpus × C=1/2/4/8)跑一遍,跟發布參考值逐項對。

    2. 環境與測法

    項目 內容
    模型 / artifact qwen3.8-27b nvfp4,21,492,695,040 bytes(20.02 GiB)
    Server(壓力段) --max-context 262144 --kv-dtype nvfp4 --kv-capacity 450560 --max-concurrency 3 --pending-timeout-ms 600000 --spec mtp --draft-tokens 3 --lm-head-draft --prefill-chunk 1024
    KV pool 450,560 tokens = 7,040 page groups(max 12,288),reservation 9.89 GiB,slack ≈0.96 GiB;host 冷層 8 GiB / 8 state slots
    壓力輸入 隨機字/十六進制/數字文本,獨立 seed × 每 scenario;校準 100 KB ≈ 47,663 tokens(0.47 tok/byte,tokenizer 最壞情況)
    測法 base 先 solo 一條量 solo 速度;其餘各路同時提交;TTFT / prefill / decode 全部取 engine log 的 status=done 行(engine-measured,非 client 牆鐘)
    零中斷保證 每段 90s grace → kill → VRAM<4000MiB 確認 → 跑 → trap restore EXIT;全程 /health guard;本 DSH session 就在該 server 上解碼,壓力窗口內照常工作(prefix cache hit 55,923 tok)
    Doc campaign 完全照 docs/performance.md:INT8 KV、--no-prefix-reuse、max-context 131,072、--kv-capacity auto、stochastic(temp 0.6 / top-p 0.95 / top-k 20 / presence 1.0)、30 fixtures × 5 seeds、fixed shuffle

    3. 壓力測試:s1–s4 + C4

    TTFT ladder

    3-1. TTFT ladder(各路同時提交,engine-measured)

    Scenario C 每路 tokens Solo base 並發 TTFT ladder(s)
    s1(131k line) 3 104,846–105,648 26.4 s / 4,096 tok/s 25.7 / 53.3 / 81.2
    s4(145k target) 3 142,186–143,900 44.6 s / 3,403 tok/s 45.5 / 91.1 / 136.5
    C4 對照 4 104,122–104,452 ≈4,358 tok/s(全新 server) 23.9 / 49.8 / 75.8 / 101.7
    s2 2 156,860–157,804 49.6 s / 3,174 tok/s 49.9 / 101.9(第 3 條排隊)
    s3 2 210,376–210,854 81.5 s / 2,587 tok/s 81.6 / 165.5(第 3 條排隊)

    每條線都恰好是 solo prefill 時間 × 1/×2/×3——prefill 嚴格 FIFO 串行,每路都在用 solo 速度跑。所以 TTFT 的規劃公式非常簡單:TTFT(第 k 條) ≈ k × (prompt_tokens / solo_prefill_tps)。

    3-2. Solo prefill 隨 context 遞減

    prefill decay

    prompt tokens 47k 105k 143k 157k 210k
    prefill tok/s 6,004(全新 server 6,241) 4,096 3,403 3,174 2,587
    TTFT 7.6–8.0 s 26.4 s 44.6 s 49.6 s 81.5 s

    3-3. Decode

    256-token 短 output 下,每路 95–146 tok/s(MTP3)。output 太短 batching 收益未完全展開;長 output 的數字見第 5 節 doc campaign(155–419 tok/s)。

    3-4. Pool 從不 OOM、從不排隊阻塞

    所有壓力窗口 materializing=0、無 pool-queue 等待、零 request 失敗。s3 / s4(pool 被 3×157k / 3×143k 占滿)的實際代價是:閒置的 parent session(就是這篇所在的 DSH 對話)被 dematerialize 到 host 冷層(host_active_ms 小幅抬升),它後續的請求照常完成。s1(3×105k + session ≈ 419k ≤ 450,560)則完全沒有 offload——全部狀態留 device。

    4. C=3 vs C=4(同一 104k workload)

    路(FIFO 序) C=3 TTFT C=4 TTFT
    1 25.7 s 23.9 s
    2 53.3 s 49.8 s
    3 81.2 s 75.8 s
    4 (無) 101.7 s

    C4 的 prefill 略快(≈4,358 vs ≈4,090 tok/s)是因為那是全新、無 resident session 的 server,不是並發度帶來的——斜率(每路的 solo 時間)兩邊一樣。C=4 的真實成本:4 路占滿 pool 後 parent session 被擠到 host 層。結論:維持 C=3。

    5. docs/performance.md 對照官方發布值

    方法學完全照搬(INT8 KV / 131,072 / kv-capacity auto / stochastic / fixed shuffle / 75 requests per point)。

    5-1. MTP0 context-length profile(Long NIAH,n=5)

    MTP0

    prompt tokens Prefill ref → ours Decode ref → ours
    7,680 8,340.4 → 8,621.3(+3.4%) 71.2 → 69.3(−2.7%)
    64,512 5,297.9 → 5,315.7(+0.3%) 65.7 → 63.7(−3.1%)
    130,048 3,544.7 → 3,635.0(+2.5%) 59.6 → 58.5(−1.8%)
    260,096 2,203.1 → 2,224.0(+0.9%) 52.9 → 50.3(−4.9%)

    5-2. MTP3 corpus makespan(75 requests/point)

    makespan

    C Makespan ref → ours Decode tok/s ref → ours Avg batch ref → ours
    1 4,670.3 → 4,446.9(−4.8%) 161.1 → 155.3 1.00 → 1.00
    2 2,510.8 → 2,607.1(+3.8%) 294.7 → 279.6 1.98 → 1.96
    4 1,647.7 → 1,766.4(+7.2%) 432.9 → 403.1 3.29 → 3.20
    8 2,164.9 → 1,780.1(−17.8%) 334.2 → 419.0(+25.4%) 2.36 → 3.32

    發布參考值裡 C=8 被 memory pressure 壓到 avg batch 2.36(比 C=4 慢 31%);本 build 的 C=8 avg batch 3.32,已追平 C=4(1,780 vs 1,766 s)。C=4 仍是 makespan 最優點;C=3 是 450K pool + live session 的線上的操作點。 makespan Δ 混雜 stochastic 抽樣長度(decode tokens 690k–746k 各異),decode tok/s 較乾淨。

    5-3. MTP3 per-fixture(C=1 point,n=5/fixture)

    fixture

    Fixture Decode ref → ours Acceptance ref → ours
    aime 01 195.2 → 197.0(+0.9%) 76.0% → 79.3%
    aime 15 151.4 → 149.4(−1.3%) 56.2% → 56.6%
    aime 30 167.5 → 154.8(−7.6%) 64.6% → 58.1%(ref 自身 σ=23.7 tok/s,1σ 內)
    Code(3 fixtures 池化) 194.3 → 188.2(−3.1%) 76.4% → 76.4%
    Story(3 fixtures 池化) 126.1 → 124.9(−0.9%) 37.4% → 38.2%
    Translation(3 fixtures 池化) 192.3 → 190.3(−1.0%) 75.0% → 75.5%
    Structured(3 fixtures 池化) 219.8 → 216.7(−1.4%) 90.8% → 90.9%

    最大偏差 −7.6%(aime 30,stochastic 高變異 fixture,在參考值自身 1σ 內),其餘均在 ±3.1%。判定:零回歸。 300/300 requests 完成,無 request / CUDA / OOM 失敗。

    6. 為什麼 131,072 是 C=3 的最佳 context

    DSH 的自動 compact 在上限 = floor(0.8 × contextWindow)(thresholdRatio 0.8)觸發;policy 只讀 settings.yaml 的 contextWindow,從不參考 server 的 model discovery。pool 規劃 = 3 路在上限 + 1 條活的 session 在上限 ≤ 450,560:

    pool ceiling

    contextWindow compact 上限 3 路 + session Pool 450,560
    131,072 104,857 3×104,857 + 104,857 = 419,428 ✅ 容納,margin 31,132
    196,608 157,286 3×157,286 = 471,858 ❌ 超 21,298(只能 C=2)
    262,144 209,715 3×209,715 = 629,145 ❌ 超 178,585(只能 C=2)

    實測佐證:s1(3×105k,131k line)materializing=0、session 全程留 device;s4(3×143k)3 路照跑,session 轉 host 冷層繼續工作。131,072 是「3 路滿載並發 + 活 session 全在 device」的最大窗口。 配置:server 保持 --max-context 262144(只作 backstop),DSH settings.yaml 改 contextWindow: 131072,host restart 後生效。

    7. 新發現 / 坑

    1. --max-concurrency 不加速 prefill。 NInfer 的 prefill 是 FIFO 串行:每路用 solo 速度跑,TTFT 就是隊位 × solo 時間。並發度只決定「同時能 decode 幾條」。
    2. 改 server --max-context 防不了 compact。 DSH compact policy 只讀 settings.yaml 的 contextWindow;只把 server 調大,session 照樣在 0.8× 老窗口觸發 compact;走錯方向(server 比 DSH 窗口小)反而會觸發 CONTEXT_WINDOW_EXCEEDED → forced max balanced head reduction + 1 retry 的錯誤路徑。
    3. Pool overflow 不 OOM、不排隊。 超限時 engine 把最低優先的 resident(閒置 session)dematerialize 到 host 冷層,不是拒絕請求。體感代價 = 那個 session 自己的請求多一點 host 往返。
    4. 輸入 tokenization 校準:0.47 tok/byte。 隨機字/十六進制/數字是 tokenizer 最壞情況;100 KB ≈ 47.7k tok;600 KB 直接超 262,144 tok(server error)。做 calibration 記得用 ≤100 KB 的切片。
    5. nvfp4 pool 比 int8 大(nvfp4 KV 是 NInfer 近期新增的 feature,--kv-dtype nvfp4)。int8 262,144 pool reservation ≈11.20 GiB;nvfp4 450,560 = 9.89–10.21 GiB——省下的 ~1 GiB 直接變成多 73% 的 token 容量。
    6. C=8 在本 build 不再 memory-throttled(doc campaign:avg batch 3.32 vs 參考 2.36),makespan 比發布值快 17.8%;但 C=4 仍是 makespan 最優。

    8. 最終配置

    層 值
    Server --max-context 262144 --kv-dtype nvfp4 --kv-capacity 450560 --max-concurrency 3 --prefill-chunk 1024 --pending-timeout-ms 600000 --spec mtp --draft-tokens 3 --lm-head-draft
    KV pool 450,560 tokens(7,040/12,288 page groups),reservation 9.89 GiB
    DSH settings.yaml contextWindow: 131072(compact 上限 104,857),thresholdRatio 0.8
    操作點 C=3:3×104,857 + session 104,857 = 419,428 ≤ 450,560,零 host offload

    9. 限制與未測

    • 壓力輸入是最壞 tokenization 的隨機文本:真實 prompt 每 byte 更快,但真實 agent 負荷吃 prefix cache(上一篇 97–99% hit)——兩種 workload 的 prefill 數字不要直接互比。
    • 壓力段 output 只有 256 tok:batching 的 decode 收益未完全展開;doc campaign 的 4,096+ output 更代表實戰(155–419 tok/s)。
    • stochastic 抽樣:per-fixture decode 有 ±5% 級別抽樣噪聲(參考值 aime 30 自身 σ=23.7 tok/s)。
    • doc campaign 用 INT8 KV(方法學固定),跟壓力段的 nvfp4 數字不同 pool、不同 dtype,不可直接互比。
    • C4 ladder 跑在全新 server(無 resident session),solo baseline 比 s1 快 ~7%(23.9 vs 26.4 s),C3/C4 對照不是嚴格同條件——但結論(斜率不變、成本在 host offload)不受影響。
    • WSL2;全部數字可從 serve log 的 status=done 行與結果目錄逐項核對。

    數據與複現:全部結果目錄在本機 WSL home 下:壓力 ~/ninfer_stress_032756/(s1–s3)、~/ninfer_stress_s4_033927/(s4)、~/ninfer_c4_test_083409/(C4);doc campaign ~/ninfer_doc_test_20260902_035140/(mtp0_corpus/summary.csv、mtp3_makespan/points/*.json、每 request server jsonl),pointer ~/ninfer_doc_test_latest;engine build 21a0e85f,docs 參考 docs/performance.md。

    本篇由本地全棧生成:NInfer(自寫引擎)驅動 DeepSeek Harness(agent 框架)跑完全部測試與數據整理,圖表由本地 Python 生成,全部數字可從上述結果目錄與 ninfer_serve.log 逐項核對。歡迎複現或打臉。

    LLM讨论区 qwen-27b rtx5090 量化

  • RTX 5090 Qwen3.8-27B dsh 全套實測:自寫推理引擎 NInfer × DeepSeek Harness × 開源編碼 agent 任務 —— 跑 13 小時真實編程任務的數據、6 個坑、以及「並發不是越大越快」
    S sky

    @terry 我找到4090版本 可以試試
    Qwen 3.8 27b 128k 開MTP3 有77.5 tok/s
    https://github.com/sergiuszm/ninfer-4090

    LLM讨论区 rtx5090 qwen-27b dsharness

  • RTX 5090 Qwen3.8-27B dsh 全套實測:自寫推理引擎 NInfer × DeepSeek Harness × 開源編碼 agent 任務 —— 跑 13 小時真實編程任務的數據、6 個坑、以及「並發不是越大越快」
    S sky

    然後我發現了如果對Qwen 3.8 27b說趕時間會進入「專注」模式

    LLM讨论区 rtx5090 qwen-27b dsharness

  • RTX 5090 Qwen3.8-27B dsh 全套實測:自寫推理引擎 NInfer × DeepSeek Harness × 開源編碼 agent 任務 —— 跑 13 小時真實編程任務的數據、6 個坑、以及「並發不是越大越快」
    S sky

    @chenさん 我試了讓dsh自己改engine把kv放5080 可惜失敗了

    LLM讨论区 rtx5090 qwen-27b dsharness

  • RTX 5090 Qwen3.8-27B dsh 全套實測:自寫推理引擎 NInfer × DeepSeek Harness × 開源編碼 agent 任務 —— 跑 13 小時真實編程任務的數據、6 個坑、以及「並發不是越大越快」
    S sky

    裝到了

    4a627076-54c0-4d8f-bd4b-a4709a2e7517-image.jpeg

    LLM讨论区 rtx5090 qwen-27b dsharness

  • RTX 5090 Qwen3.8-27B dsh 全套實測:自寫推理引擎 NInfer × DeepSeek Harness × 開源編碼 agent 任務 —— 跑 13 小時真實編程任務的數據、6 個坑、以及「並發不是越大越快」
    S sky

    @terry 加圖了
    昨天原本打算用dsh的插件來配圖 但我把dsh升級到rc8就用不了

    LLM讨论区 rtx5090 qwen-27b dsharness

  • RTX 5090 Qwen3.8-27B dsh 全套實測:自寫推理引擎 NInfer × DeepSeek Harness × 開源編碼 agent 任務 —— 跑 13 小時真實編程任務的數據、6 個坑、以及「並發不是越大越快」
    S sky

    啟動腳本︰

    # ninfer-serve.sh
    #!/bin/bash
    # NInfer host control: ninfer-serve.sh start | stop | status
    # Binary reports usage.prompt_tokens_details.cached_tokens (OpenAI chat-completions),
    # so DSH shows real KV prefix cache hit % instead of 0%.
    # Default = text-only at 262K context (full int8 KV pool, ~10.45 GiB).
    # Vision is optional: VISION=1 ninfer-serve.sh start switches to 192K context + --vision
    # with media buffers trimmed from defaults (1G+2G) to 256M+512M so the fixed Vision
    # buffers fit the ~10.4 GiB free after weights on the 5090 (at 262K they do not).
    # C=2: median agent prompt scales to ~86K at 192K; two frontiers (~172K) fit the pool,
    # so requests reuse their frontier (97-99% cached).
    set -u
    PORT=18080
    LOG=/home/user/ninfer_serve.log
    APP=/home/user/ninfer-build/apps/ninfer-serve
    ART=/home/user/ninfer_artifacts/qwen3_8_27b_nvfp4.ninfer
    
    if [ "${VISION:-0}" = "1" ]; then
      CTX=196608
      VISION_FLAGS="--vision --media-cache-mib 256 --media-live-mib 512"
    else
      CTX=262144
      VISION_FLAGS=""
    fi
    
    is_running() { pgrep -f "ninfer-serve.*qwen3_8_27b" >/dev/null 2>&1; }
    
    case "${1:-start}" in
      start)
        if is_running; then
          echo "already running (pid $(pgrep -of 'ninfer-serve.*qwen3_8_27b'))"
          exit 0
        fi
        export LD_LIBRARY_PATH=/home/user/ninfer_deps/prefix/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH:-}
        cd /home/eason || exit 1
        setsid nohup "$APP" "$ART" \
          --host 0.0.0.0 --port $PORT --device 0 \
          --max-context $CTX --prefill-chunk 1024 --kv-dtype int8 \
          $VISION_FLAGS \
          --max-concurrency 2 --pending-timeout-ms 600000 \
          --spec mtp --draft-tokens 3 --lm-head-draft >>"$LOG" 2>&1 &
        for i in $(seq 1 30); do
          sleep 5
          if curl -s http://127.0.0.1:$PORT/health | grep -q ok; then
            echo "NInfer up: pid $(pgrep -of 'ninfer-serve.*qwen3_8_27b'), ctx=$CTX vision=${VISION:-0}, log $LOG"
            exit 0
          fi
        done
        echo "server did not become healthy in 150s; last log lines:"; tail -5 "$LOG"; exit 1
        ;;
      stop)
        if ! is_running; then echo "not running"; exit 0; fi
        pkill -f "ninfer-serve.*qwen3_8_27b"
        for i in $(seq 1 10); do sleep 2; is_running || break; done
        if is_running; then echo "still running (try: fuser -k $PORT/tcp)"; exit 1; fi
        echo "stopped"
        ;;
      status)
        if is_running; then
          echo "running pid $(pgrep -of 'ninfer-serve.*qwen3_8_27b')"; curl -s http://127.0.0.1:$PORT/health; echo
        else
          echo "not running"
        fi
        ;;
      *) echo "usage: $0 start|stop|status (VISION=1 for vision mode)"; exit 2;;
    esac
    

    記得把{ip}換掉

    :: start.bat
    @echo off
    setlocal
    title NInfer Start
    
    rem --- self-elevate (netsh portproxy + firewall need admin) ---
    net session >nul 2>&1
    if %errorlevel% neq 0 (
      echo Requesting administrator rights...
      powershell -NoProfile -Command "Start-Process '%~f0' -Verb RunAs"
      exit /b
    )
    
    echo [1/4] Starting NInfer server in WSL Ubuntu (port 18080, MTP3 on)...
    wsl -d Ubuntu -- bash /mnt/c/Users/user/Desktop/ninfer-serve.sh start
    if errorlevel 1 goto :fail
    
    for /f "usebackq" %%i in (`wsl -d Ubuntu -- hostname -I`) do set WSL_IP=%%i
    echo [2/4] Repairing LAN portproxy: 0.0.0.0:18080 -> %WSL_IP%:18080 ...
    netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=18080 >nul 2>&1
    netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=18080 connectaddress=%WSL_IP% connectport=18080
    
    echo [3/4] Ensuring firewall rule ...
    powershell -NoProfile -Command "if (-not (Get-NetFirewallRule -DisplayName 'NInfer serve 18080' -ErrorAction SilentlyContinue)) { New-NetFirewallRule -DisplayName 'NInfer serve 18080' -Direction Inbound -Protocol TCP -LocalPort 18080 -Action Allow -Profile Private,Public | Out-Null; Write-Host 'firewall rule added' } else { Write-Host 'firewall rule exists' }"
    
    echo [4/4] Verifying via LAN IP ...
    powershell -NoProfile -Command "try { $r = Invoke-RestMethod -Uri http://{ip}:18080/health -TimeoutSec 8; Write-Host ('LAN OK: ' + ($r | ConvertTo-Json -Compress)) } catch { Write-Host ('LAN FAIL: ' + $_.Exception.Message) }"
    
    echo.
    echo Done. Server URL for other devices: http://{ip}:18080
    echo Model qwen3.8-27b (nvfp4), MTP3 on, no vision, KV int8.
    pause
    exit /b 0
    
    :fail
    echo Start failed - check WSL log: wsl -d Ubuntu -- tail -20 /home/eason/ninfer_serve.log
    pause
    
    LLM讨论区 rtx5090 qwen-27b dsharness

  • RTX 5090 Qwen3.8-27B dsh 全套實測:自寫推理引擎 NInfer × DeepSeek Harness × 開源編碼 agent 任務 —— 跑 13 小時真實編程任務的數據、6 個坑、以及「並發不是越大越快」
    S sky

    0. 先給結論

    這篇跟論壇上其他 Qwen3.8-27B 帖的角度不同:那幾篇測的是「引擎快幾快」,這篇測的是「一整套本地 agent 環境在真實工作負載下體感如何」。全部數字都來自 2026-08 下旬的實際運行(含 13.7 小時、1,200+ 個真實請求的完整 log),測法都寫在後面,歡迎複現或打臉。

    項目 結果
    硬體 RTX 5090 32GB(單卡,--device 0)
    模型 Qwen3.8-27B NVFP4(20.02 GiB artifact)
    單請求 decode(實測中位數) 143 tok/s(最低 48,最高 216)
    98,919-token prompt 的 TTFT 23.3 秒(C=2 無排隊);同樣 prompt 在 C=4 擁堵時 140–190 秒
    13.7 小時真實 agent 工作負荷 1,205 個請求 / 142.8M prompt tokens / 2.05M 生成 tokens,全部跑完
    最大發現 真實 agent 負載 98.6% 是 prefill 工作量 → 最佳並發度從「sweep 裡的 4」翻轉成 2
    能力 GPQA-Diamond 88.38%(NInfer 官方評估);結構化輸出 MTP 接受率 90.8%

    一句話:5090 跑 Qwen3.8-27B NVFP4 做本地編程 agent,decode 速度不是瓶頸,TTFT 和 KV 容量規劃才是;整套環境可以用,但要把並發度和 context 開關想清楚。

    1. 三個組件各自是什麼

    組件 角色 說明
    NInfer 推理引擎(GPU 端) from-scratch C++/CUDA 引擎,編譯目標 sm_120a / CUDA 13.1,只支援明確註冊的 checkpoint(.ninfer 格式,closed set 設計,不做通用 runtime)。INT8 group-64 paged KV、CUDA Graphs、MTP 投機解碼、prefix reuse、OpenAI + Anthropic 兩套 HTTP API
    DeepSeek Harness (DSH) agent harness(Web GUI) DeepSeek AI 的開源 agent 框架(MIT,developer preview),「everything is a plugin」架構。我拿它當編程 agent 的主運行時:subagent / goal / 任務排程都跑在它上面,LLM provider 指向我本機的 NInfer(OpenAI 兼容 /v1/chat/completions)
    編碼 agent 插件(VS Code) 編程 agent(同時是被開發對象) Roo Code 停更後由原貢獻者延續的開源專案。我在個人 fork 上做 task-tree 控制與取消系列(見第 6 節),本文的 13.7 小時 DSH 工作負荷就是開發這個插件時產生的

    關係:NInfer 出 token,DSH 用 token 跑 agent,編碼 agent 插件是被開發的對象(同時是產品同類,對照它的任務模型來設計本地環境)。

    2. 環境

    項目 內容
    OS Windows 11 + WSL2 Ubuntu(kernel 6.6.87.2-microsoft-standard-WSL2)
    CPU Ryzen 9 9950X3D 16C/32T
    GPU RTX 5090 32GB(主角;多卡機,其餘卡未使用,--device 0 強制)
    驅動 610.88
    模型 artifact qwen3_8_27b_nvfp4.ninfer,21,492,695,040 bytes(20.02 GiB)
    服務配置(最終) --max-context 196608 --kv-dtype int8 --vision --media-cache-mib 256 --media-live-mib 512 --max-concurrency 2 --spec mtp --draft-tokens 3 --lm-head-draft
    網路 WSL NAT → Windows 經 netsh portproxy 暴露在家庭 LAN 192.168.x.x:18080。auth 是關閉的——只敢放在可信任的家庭網路,見第 8 節

    3. 效能數據(全部附測法)

    3-1. NInfer 官方發布數字(同顆 5090,INT8 KV + CUDA Graphs)

    MTP3 飽和 decode(1 秒完整區間內 batch = 設定並發度):

    C=1 C=2 C=4 C=8 C8/C1
    143.8 tok/s(接受率 48.9%) 267.6 461.1 766.6 5.33×

    單請求 corpus:7,680-token prompt → prefill 8,340 tok/s;260,096-token prompt → prefill 2,203 tok/s、decode 52.9(MTP0)。MTP3 結構化輸出 219.8 tok/s、接受率 90.8%、3.72 tokens/round。

    注意 Qwen3.8 的 MTP 接受率(45–49%)明顯低於 Qwen3.6(67–71%)——看 3.8 的 aggregate 數字時要連接受率一起看,不是引擎退化,是這代模型草稿頭猜得較差。

    3-2. 我自己在 WSL 的 makespan 掃描(2026-08-11)

    測法:75 個固定 corpus 請求(seed 20260811),--max-context 131072,mtp3/draft 3,量完整 makespan。

    C makespan aggregate decode 相對 C=1
    1 4,530 s 166.0 tok/s 1.0×
    2 2,538 s 285.7 1.78×
    4 1,698 s 426.2 2.67×(最優)
    8 2,285 s 326.3 1.98×(反而更慢)

    這張表是 decode-dominated 負載下的標準答案:4 最優、8 反效果(batch 利用率掉到 2.29)。

    3-3. 13.7 小時真實 agent 負載(本節全文最該看)

    測法:2026-08-19 23:16 → 08-20 12:03,C=4、262K context、WSL。負載 = DSH 開發編碼 agent 時的多 subagent 編程請求(含 tool calls、thinking、100–241 則訊息的長 history),完整 server log 存檔。

    指標 數值
    完成請求數 1,205
    prompt tokens / 生成 tokens 142.8M / 2.05M → 98.6% 是 prefill 工作
    實際 makespan 13.7 小時
    同負載若 C=1 順序跑(估算:solo prefill 3,500–5,000 tok/s + decode 166) 11.4–14.8 小時
    per-request decode 實測 min 48 / median 143 / max 216 tok/s,沒有一個低於 48
    TTFT(100K+ prompt) 138–193 秒
    DSH 界面顯示的「速度」 11–23 tok/s

    三個直接結論:

    1. C=4 和 C=1 總時間差不到 ±10%——因為 98.6% 的工作是 prefill,而 prefill 同一時間只有一個請求在做(log prefilling=1),並發對它零幫助;decode 佔 1.4%,batching 優勢救不回來。3-2 的「C=4 最優」在這種負載下直接失效。
    2. 「51 tok/s」是顯示假象。DSH 的 tok/s = 輸出 token ÷ 總 LLM 時間(TTFT + 排隊 + decode),而 TTFT+排隊佔了 84–91% 的 LLM 時間。實際 decode 是 143,差 7 倍。不要拿 agent harness 顯示的速度去評 engine——跟參考帖「只報數字不報測法等於沒有資訊」是同一課。
    3. decode 從來沒有變慢(min 48 tok/s)。用戶體感的「有時 10–30 t/s」全部來自 prefill/排隊,不是生成階段退化。

    4. KV cache / prefix reuse:整篇最實用的規劃方法

    NInfer 的 paged KV pool 容量 = --max-context(explicit 模式)。262K context + int8 KV = 10.45 GiB,weights 之後淨餘 10.47 GiB,零餘裕。而呢個 agent 的 prompt 中位數是 117,841 tokens(window 的 45%)。

    實測 reuse 分佈(1,157 個請求):

    prompt 尺寸 full_reset(重做全部 prefill) 有 cache hit
    <50K 39% 60%
    50–100K 78% 21%
    100–160K 97% 2%
    ≥160K 100% 0%

    條件很直白:C 個 frontier 同時駐留需要的容量 = C × 中位 prompt。C=4 × 117K = 470K > 262K pool → 不斷逐出 → 全部 full_reset。小 context(<50K)重用得好好的(97–99% hit),所以引擎機制本身沒問題,是容量規劃問題。

    兩個推論:

    • 縮 context 救不了:agent 會按比例 compaction,prompt 永遠是 window 的 ~45%,比例不變,C=4 永遠 miss。
    • 正確做法是 C=2(2 × 86K = 172K < 192K pool)。改成 C=2 + 192K 之後實測:98,919-token prompt TTFT 23.3s(純 prefill,無排隊),decode 184 tok/s。對比同尺寸 prompt 在 C=4 擁堵時的 140–193s,6–8 倍差距。

    DSH 多開 3–4 個 subagent 不用怕——第 3、4 個只在 FIFO 排隊(pending timeout 600s 不會 expire),排到時 frontier 還在 pool 裡,TTFT 很快。

    5. 踩過的坑(誠實記錄)

    # 坑 現象 正解
    1 引擎預設 max_concurrency=1 + pending timeout 30s DSH 多請求並發時全部 expired while waiting for admission --max-concurrency N --pending-timeout-ms 600000;N 按第 4 節規劃
    2 DSH「緩存命中」永遠 0% 兩層原因疊加:(a) NInfer 的 chat-completions usage 原本不報 cached tokens(Responses API 有報);(b) 即使報了,第 4 節的逐出會令它真的是 0 (a) 小 patch 補 prompt_tokens_details.cached_tokens(~20 行 + schema 測試),端到端驗證 DSH 記錄到非 0 cacheReadTokens;(b) 靠 C=2
    3 用 DSH 顯示速度評估 engine 「51 tok/s 好慢」→ 白排查一圈 decode 路徑 看 server log 的 per-request ttft= / decode=;顯示值含 TTFT+排隊
    4 KV pool = max_context,不是「越大越好」 262K context 在 32GB 卡上是零餘裕狀態,任何附加分配(vision)都放不進去 按「C × 中位 prompt ≤ pool」反推 context
    5 vision 與 262K 不能共存 10.45 GiB KV + 預設 media buffer(1G+2G)> 10.47 GiB 淨餘,啟動直接 reject --max-context 196608 --media-cache-mib 256 --media-live-mib 512 → fit,剩 489 MiB slack
    6 「C=8 更快」的直覺 3-2 掃描 C=8 已比 C=4 慢 23%;真實負載 8 個並發 = 純排隊 + 逐出加劇 本負載的最優 C 是 2,不是 8

    6. 編碼 agent 插件:task-tree 控制系列 + 進行中的 abort signal 工作

    動機很具體:本地 27B 跑多 subagent 編程時,任務樹會長得很深很長,上游的任務模型缺「深度控制」和「可靠取消/檢查點」。我在個人 fork 上做了 9 個 PR(5 個核心 + 4 個跟進,全部合併):

    類別 內容
    深度控制 任務嵌套深度追蹤(cycle-safe backfill)+ schema;maxNestingDepth / autoFlattenOnLimit 設定項 round-trip;達深度上限時 subtask 自動 inline flatten
    取消與恢復 取消時級聯中斷 live children + 歷史樹顯示深度;修跨 interrupt/resume 的 delegation link 遺失
    檢查點 手動對話 checkpoint 儲存 + trigger 方法
    呈現 i18n 補齊;把深度/parent id 給到 model 看;inline 轉換顯示為獨立 chat banner

    目前進行中:abort signal 的端到端 plumbing——由核心任務運行時,經 provider 橋接層(OpenAI provider 整合、pass-through providers),到 prompt 補全(complete-prompt)的取消與 config builder。動機:長本地多 subagent 運行下,取消路徑要真正 reach 住嘅 HTTP 請求同 provider 流,唔係只係將任務狀態標死;呢個系列同上面嘅 task-tree 控制係同一條線(深度限制 + 級聯取消 + 可恢復檢查點)。

    這跟第 4 節是配套的:checkpoint + 穩定前綴 → engine 的 prefix reuse 命中率上去 → TTFT 下來。本地模型時代,agent 框架的 context 管理和引擎的 KV 規劃要一起看,不是各管各的。

    7. 跟 7900 XTX 那篇的對照(同模型不同環境)

    7900 XTX 帖(llama.cpp) 本帖(NInfer)
    量化 Q4_K_M(17.1 GiB) NVFP4(20.02 GiB)
    顯存頻寬 960 GB/s ~1,792 GB/s
    工具調用 decode 73.4 tok/s(n-max 5) 143–166 tok/s(MTP3)
    MTP 接受率(工具/結構化輸出) 0.71–0.97 90.8%(官方)/ 實測 54–88%
    長 prompt prefill 39K 時 437 tok/s 99K 時 4,271 tok/s
    結論方向 完全一致:測法決定數字,工作負載類型決定 MTP 收益 同左,且補了一刀:負載 prefill-dominated 時,並發度最優解會翻轉

    5090 + NVFP4 + 自寫引擎在 decode 端明顯快過 7900 XTX + Q4_K_M(頻寬 + TensorCore 量化),這不是玄學;但 3.8 的 MTP 接受率天花板也確實比 3.6 低,兩邊抵消後實際體感差距沒有頻寬差距那麼大。

    8. 誰適合 / 不適合(開放討論)

    適合:

    • 想要零邊際成本、代碼不出 LAN 的本地編程 agent。27B 在結構化輸出/工具調用上的 decode 速度(~150–220 tok/s)完全夠 agent loop 用。
    • 願意花 20 分鐘做一次「KV 容量規劃」的人——第 4 節那張表就是全部方法,不用魔法數字。
    • 有多卡機器:本文只用了一張 5090,其餘卡全程閒置(--device 0 強制)。

    不適合 / 要預先接受:

    • TTFT 是真實存在的:100K+ prompt 20–190 秒。做長對話 agent 可以接受,拿來當聊天機器人會崩。
    • 單 GPU、無搶佔:FIFO admission,長請求會佔住 slot。
    • 27B 有質量天花板:複雜多步任務的天花板對不上 Opus 級別。本地環境的正確用法是「大批量、可重試、低價值單步」的工作放本地,關鍵步驟升級雲端(DSH 是 plugin 架構,provider 切換成本低——這點是實話)。
    • 安全:本帖環境 auth 是關的,靠家庭 LAN 隔離。別照抄到不可信任網路,別 port-forward。
    • WSL 是變數:全部數字在 WSL2 上量,跟 bare-metal 直接比不公平。

    如果只帶走三句話:

    1. agent 工作負荷是 prefill-dominated,先算「C × 中位 prompt ≤ KV pool」,再談並發。
    2. 別信 harness 顯示的 tok/s,看 server 端 per-request 的 ttft/decode。
    3. 縮 context 不能救 cache(prompt 跟 window 等比縮),要調的是並發度。

    9. 未測項目與已知限制(誠實揭露)

    • Qwen3.8-27B groupwise-int profile 已支援但未跑發布級 benchmark(本帖只用 nvfp4)。
    • 13.7 小時負載的「C=1 估算」用的是實測 solo 速率外推,不是真的重跑一遍(重跑要 12+ 小時,值得做但沒做)。
    • vision 只驗證了「放得進 + 能啟動」,影像生成品質/速度沒有正式 benchmark。
    • 全部 WSL 數字未做 bare-metal 對照。
    • DSH 同該編碼 agent 都係快速迭代項目(developer preview / v3.7x),本文行為基於 2026-08 下旬版本,之後可能有 breaking change。

    本帖由本地全棧生成:NInfer(Qwen3.8-27B NVFP4 @ RTX 5090)出 token,DSH 負責 agent 運行(讀 log、跑統計、核對數據、起草與修訂)。數據提取、13.7 小時 log 分析、數字交叉驗證到成文,全部由本地模型完成——它同時也在開發它自己跑在上面嗰套環境。有錯先係佢錯,歡迎打臉。

    附圖︰
    0d387ff8-0a64-4b97-a747-cb266e006e30-image.jpeg

    大部分時間都是(0-1) + 4 subtask 在跑
    bdf1af4a-7620-4018-8ff7-5008d2ff6290-image.jpeg

    d407336f-030d-4578-b13e-f283f7f75c80-image.jpeg 86630607-6906-4d42-8da0-1ba855a69c25-image.jpeg

    其中一個subtask
    ba8aea65-0d02-4ccc-98d9-982bc2926c20-image.jpeg

    LLM讨论区 rtx5090 qwen-27b dsharness

  • 从纯游戏机改成游戏+AI双用机,Qwen 3.6 27B MTP 速度只有 37 t/s,求大神指点怎么升级
    S sky

    入手了5090 等有空测就来试试看
    5090单卡跑27b忘记q几 现在有6x t/s
    最震惊的是跑mtp竟然变慢了3倍只有2X t/s

    AI硬件 nvidia rtx5080

  • 从纯游戏机改成游戏+AI双用机,Qwen 3.6 27B MTP 速度只有 37 t/s,求大神指点怎么升级
    S sky

    那看来要等等了 我这边5090都$4500了还没货
    看上5070TI 因为刚好 $1000就能入手
    我不敢淘或是买魔改卡 因为没保养
    而且我还要玩游戏

    AI硬件 nvidia rtx5080

  • 从纯游戏机改成游戏+AI双用机,Qwen 3.6 27B MTP 速度只有 37 t/s,求大神指点怎么升级
    S sky

    @Xiaote

    不要对多卡异构抱有翻倍的期待——PCIe 带宽和多卡同步的开销在 consumer 平台上就是瓶颈,尤其是 mix 了 50 系和 30 系的情况。

    qwen3.6-35b-a3b-mtp@q5_k_m 122k
    5080 + 5060TI VS 5080 + 5060TI + 3060
    只是offload vram到3060,至少有 84.5 / 61.3 = ~ 1.378 倍
    3060 loading = 0%


    5080 + 5060 TI + 3060

    b88f9cf8-2ad4-4371-864e-dc0800b26357-image.jpeg
    7f58c2f0-aaa3-4593-afd5-2a43bd3c9000-image.jpeg
    9e87b542-bf92-4d1a-b832-52d7bd56a9f7-image.jpeg
    1af62f2d-57ce-41fa-b547-d9c53c3a4e0b-image.jpeg
    b3423634-cff4-4a96-bf8e-2dd378fc51d5-image.jpeg
    70edbce4-9fb4-43c6-97aa-1a3e7aeff51f-image.jpeg

    (cpu后补的) 14%
    48dea3c2-60e4-4622-9e43-01224940e0cc-image.jpeg

    2026-05-26 03:16:27 [DEBUG]
     LlamaV4::load called with model path: C:\Users\user\.lmstudio\models\unsloth\Qwen3.6-35B-A3B-MTP-GGUF\Qwen3.6-35B-A3B-UD-Q5_K_M.gguf
    LlamaV4::load config: n_parallel=3 n_ctx=122144 kv_unified=true
    2026-05-26 03:16:27 [DEBUG]
     0.00.042.077 I srv    load_model: loading model 'C:\Users\user\.lmstudio\models\unsloth\Qwen3.6-35B-A3B-MTP-GGUF\Qwen3.6-35B-A3B-UD-Q5_K_M.gguf'
    2026-05-26 03:16:37 [DEBUG]
     0.09.953.553 W llama_context: n_ctx_seq (122368) < n_ctx_train (262144) -- the full capacity of the model will not be utilized
    2026-05-26 03:16:37 [DEBUG]
     0.10.207.268 W common_init_from_params: KV cache shifting is not supported for this context, disabling KV cache shifting
    0.10.207.283 I common_init_from_params: warming up the model with an empty run - please wait ... (--no-warmup to disable)
    2026-05-26 03:16:38 [DEBUG]
     0.10.801.537 I srv    load_model: creating MTP draft context against the target model 'C:\Users\user\.lmstudio\models\unsloth\Qwen3.6-35B-A3B-MTP-GGUF\Qwen3.6-35B-A3B-UD-Q5_K_M.gguf'
    0.10.801.591 W llama_context: n_ctx_seq (122368) < n_ctx_train (262144) -- the full capacity of the model will not be utilized
    2026-05-26 03:16:38 [DEBUG]
     0.11.062.141 W load_hparams: Qwen-VL models require at minimum 1024 image tokens to function correctly on grounding tasks
    0.11.062.147 W load_hparams: if you encounter problems with accuracy, try adding --image-min-tokens 1024
    0.11.062.148 W load_hparams: more info: https://github.com/ggml-org/llama.cpp/issues/16842
    2026-05-26 03:16:39 [DEBUG]
     0.12.223.766 I srv    load_model: loaded multimodal model, 'C:/Users/user/.lmstudio/models/unsloth/Qwen3.6-35B-A3B-MTP-GGUF/mmproj-F32.gguf'
    0.12.223.774 I srv    load_model: initializing slots, n_slots = 3
    2026-05-26 03:16:40 [DEBUG]
     0.12.358.158 I common_context_can_seq_rm: the context supports bounded partial sequence removal
    2026-05-26 03:16:40 [DEBUG]
     0.12.463.194 I common_speculative_impl_draft_mtp: adding speculative implementation 'draft-mtp'
    0.12.463.199 I common_speculative_impl_draft_mtp: - n_max=3, n_min=0, p_min=0.00, n_embd=2048, backend_sampling=1
    0.12.463.202 I common_speculative_impl_draft_mtp: - gpu_layers=-1, cache_k=f16, cache_v=f16, ctx_tgt=yes, ctx_dft=yes, devices=[default]
    2026-05-26 03:16:40 [DEBUG]
     0.12.463.595 I srv    load_model: speculative decoding context initialized
    0.12.463.598 I slot   load_model: id  0 | task -1 | new slot, n_ctx = 122368
    0.12.463.602 I slot   load_model: id  1 | task -1 | new slot, n_ctx = 122368
    0.12.463.602 I slot   load_model: id  2 | task -1 | new slot, n_ctx = 122368
    0.12.463.948 I srv    load_model: prompt cache is enabled, size limit: 8192 MiB
    0.12.463.950 I srv    load_model: use `--cache-ram 0` to disable the prompt cache
    0.12.463.950 I srv    load_model: for more info see https://github.com/ggml-org/llama.cpp/pull/16391
    0.12.463.967 I srv          init: idle slots will be saved to prompt cache and cleared upon starting a new task
    2026-05-26 03:16:40 [DEBUG]
     0.12.465.401 I init: chat template, example_format: 'You are a helpful assistantHelloHi thereHow are you?'
    2026-05-26 03:16:40 [DEBUG]
     0.12.465.862 I srv          init: init: chat template, thinking = 0
    0.12.466.103 I srv  update_slots: all slots are idle
    2026-05-26 03:16:57 [DEBUG]
     LlamaV4::predict slot selection: session_id=<empty> server-selected (LCP/LRU)
    2026-05-26 03:16:57 [DEBUG]
     0.29.629.955 I slot get_availabl: id  2 | task -1 | selected slot by LRU, t_last = -1
    0.29.629.960 I srv  get_availabl: updating prompt cache
    0.29.629.968 I srv          load:  - looking for better prompt, base f_keep = -1.000, sim = 0.000
    0.29.629.972 I srv        update:  - cache state: 0 prompts, 0.000 MiB (limits: 8192.000 MiB, 122368 tokens, 8589934592 est)
    0.29.629.974 I srv  get_availabl: prompt cache update took 0.01 ms
    0.29.629.994 I slot launch_slot_: id  2 | task 0 | processing task, is_child = 0
    0.29.630.005 W slot update_slots: id  2 | task 0 | cache reuse is not supported - ignoring n_cache_reuse = 256
    2026-05-26 03:16:58 [DEBUG]
     0.30.736.191 I slot create_check: id  2 | task 0 | created context checkpoint 1 of 32 (pos_min = 953, pos_max = 953, n_tokens = 954, size = 63.356 MiB)
    2026-05-26 03:16:58 [DEBUG]
     0.30.977.199 I slot create_check: id  2 | task 0 | created context checkpoint 2 of 32 (pos_min = 1465, pos_max = 1465, n_tokens = 1466, size = 63.647 MiB)
    2026-05-26 03:16:59 [DEBUG]
     0.31.967.975 I slot print_timing: id  2 | task 0 | n_decoded =    100, tg = 106.15 t/s
    2026-05-26 03:17:02 [DEBUG]
     0.34.975.315 I slot print_timing: id  2 | task 0 | n_decoded =    366, tg =  92.67 t/s
    2026-05-26 03:17:05 [DEBUG]
     0.37.993.364 I slot print_timing: id  2 | task 0 | n_decoded =    622, tg =  89.27 t/s
    2026-05-26 03:17:08 [DEBUG]
     0.41.012.599 I slot print_timing: id  2 | task 0 | n_decoded =    864, tg =  86.52 t/s
    2026-05-26 03:17:11 [DEBUG]
     0.44.030.567 I slot print_timing: id  2 | task 0 | n_decoded =   1119, tg =  86.05 t/s
    2026-05-26 03:17:14 [DEBUG]
     0.47.058.056 I slot print_timing: id  2 | task 0 | n_decoded =   1382, tg =  86.20 t/s
    2026-05-26 03:17:17 [DEBUG]
     0.50.070.442 I slot print_timing: id  2 | task 0 | n_decoded =   1628, tg =  85.48 t/s
    2026-05-26 03:17:20 [DEBUG]
     0.53.072.133 I slot print_timing: id  2 | task 0 | n_decoded =   1885, tg =  85.50 t/s
    2026-05-26 03:17:23 [DEBUG]
     0.56.097.969 I slot print_timing: id  2 | task 0 | n_decoded =   2117, tg =  84.44 t/s
    2026-05-26 03:17:26 [DEBUG]
     0.59.112.645 I slot print_timing: id  2 | task 0 | n_decoded =   2382, tg =  84.81 t/s
    2026-05-26 03:17:29 [DEBUG]
     1.02.140.147 I slot print_timing: id  2 | task 0 | n_decoded =   2638, tg =  84.78 t/s
    2026-05-26 03:17:32 [DEBUG]
     1.05.141.305 I slot print_timing: id  2 | task 0 | n_decoded =   2888, tg =  84.65 t/s
    2026-05-26 03:17:34 [DEBUG]
     1.06.432.802 I slot print_timing: id  2 | task 0 | prompt eval time =    1395.84 ms /  1470 tokens (    0.95 ms per token,  1053.13 tokens per second)
    1.06.432.809 I slot print_timing: id  2 | task 0 |        eval time =   35406.83 ms /  2992 tokens (   11.83 ms per token,    84.50 tokens per second)
    1.06.432.810 I slot print_timing: id  2 | task 0 |       total time =   36802.67 ms /  4462 tokens
    1.06.432.811 I slot print_timing: id  2 | task 0 |    graphs reused =       1150
    1.06.432.812 I slot print_timing: id  2 | task 0 | draft acceptance = 0.52496 ( 1830 accepted /  3486 generated)
    1.06.432.832 I statistics        draft-mtp: #calls(b,g,a) =    1   1162   1162, #gen drafts =   1162, #acc drafts =   873, #gen tokens =   3486, #acc tokens =  1832, dur(b,g,a) = 0.001, 8674.658, 0.563 ms
    2026-05-26 03:17:34 [DEBUG]
     1.06.432.925 I slot      release: id  2 | task 0 | stop processing: n_tokens = 4464, truncated = 0
    1.06.432.942 I srv  update_slots: all slots are idle
    2026-05-26 03:17:34 [DEBUG]
     LlamaV4: server assigned slot 2 to task 0
    

    5080 + 5060 TI

    (cpu后补的) 54%
    3bb83f33-82eb-4e1c-a641-88ba53a000db-image.jpeg

    8ed79593-bf0d-484a-9d94-09724b1a13e2-image.jpeg
    2b7973e5-ff9b-486a-a117-eef04a660a66-image.jpeg

    2026-05-26 03:20:32 [DEBUG]
     LlamaV4::load called with model path: C:\Users\user\.lmstudio\models\unsloth\Qwen3.6-35B-A3B-MTP-GGUF\Qwen3.6-35B-A3B-UD-Q5_K_M.gguf
    LlamaV4::load config: n_parallel=3 n_ctx=122144 kv_unified=true
    2026-05-26 03:20:33 [DEBUG]
     0.00.042.601 I srv    load_model: loading model 'C:\Users\user\.lmstudio\models\unsloth\Qwen3.6-35B-A3B-MTP-GGUF\Qwen3.6-35B-A3B-UD-Q5_K_M.gguf'
    2026-05-26 03:20:42 [DEBUG]
     0.09.165.654 W llama_context: n_ctx_seq (122368) < n_ctx_train (262144) -- the full capacity of the model will not be utilized
    2026-05-26 03:20:42 [DEBUG]
     0.09.249.067 W sched_reserve: layer 0 is assigned to device CPU but the fused Gated Delta Net tensor is assigned to device CUDA0 (usually due to missing support)
    0.09.249.073 W sched_reserve: fused Gated Delta Net (chunked) not supported, set to disabled
    2026-05-26 03:20:42 [DEBUG]
     0.09.277.167 W common_init_from_params: KV cache shifting is not supported for this context, disabling KV cache shifting
    0.09.277.178 I common_init_from_params: warming up the model with an empty run - please wait ... (--no-warmup to disable)
    2026-05-26 03:20:42 [DEBUG]
     0.09.704.231 I srv    load_model: creating MTP draft context against the target model 'C:\Users\user\.lmstudio\models\unsloth\Qwen3.6-35B-A3B-MTP-GGUF\Qwen3.6-35B-A3B-UD-Q5_K_M.gguf'
    0.09.704.290 W llama_context: n_ctx_seq (122368) < n_ctx_train (262144) -- the full capacity of the model will not be utilized
    2026-05-26 03:20:42 [DEBUG]
     0.09.826.091 W load_hparams: Qwen-VL models require at minimum 1024 image tokens to function correctly on grounding tasks
    0.09.826.098 W load_hparams: if you encounter problems with accuracy, try adding --image-min-tokens 1024
    0.09.826.099 W load_hparams: more info: https://github.com/ggml-org/llama.cpp/issues/16842
    2026-05-26 03:20:43 [DEBUG]
     0.10.771.065 I srv    load_model: loaded multimodal model, 'C:/Users/user/.lmstudio/models/unsloth/Qwen3.6-35B-A3B-MTP-GGUF/mmproj-F32.gguf'
    0.10.771.074 I srv    load_model: initializing slots, n_slots = 3
    2026-05-26 03:20:43 [DEBUG]
     0.10.893.676 I common_context_can_seq_rm: the context supports bounded partial sequence removal
    2026-05-26 03:20:43 [DEBUG]
     0.10.978.672 I common_speculative_impl_draft_mtp: adding speculative implementation 'draft-mtp'
    0.10.978.679 I common_speculative_impl_draft_mtp: - n_max=3, n_min=0, p_min=0.00, n_embd=2048, backend_sampling=1
    0.10.978.684 I common_speculative_impl_draft_mtp: - gpu_layers=-1, cache_k=f16, cache_v=f16, ctx_tgt=yes, ctx_dft=yes, devices=[default]
    2026-05-26 03:20:43 [DEBUG]
     0.10.979.181 I srv    load_model: speculative decoding context initialized
    0.10.979.184 I slot   load_model: id  0 | task -1 | new slot, n_ctx = 122368
    0.10.979.189 I slot   load_model: id  1 | task -1 | new slot, n_ctx = 122368
    0.10.979.189 I slot   load_model: id  2 | task -1 | new slot, n_ctx = 122368
    0.10.979.554 I srv    load_model: prompt cache is enabled, size limit: 8192 MiB
    0.10.979.557 I srv    load_model: use `--cache-ram 0` to disable the prompt cache
    0.10.979.557 I srv    load_model: for more info see https://github.com/ggml-org/llama.cpp/pull/16391
    0.10.979.585 I srv          init: idle slots will be saved to prompt cache and cleared upon starting a new task
    2026-05-26 03:20:43 [DEBUG]
     0.10.981.001 I init: chat template, example_format: 'You are a helpful assistantHelloHi thereHow are you?'
    2026-05-26 03:20:43 [DEBUG]
     0.10.981.453 I srv          init: init: chat template, thinking = 0
    0.10.981.764 I srv  update_slots: all slots are idle
    2026-05-26 03:21:14 [DEBUG]
     LlamaV4::predict slot selection: session_id=<empty> server-selected (LCP/LRU)
    2026-05-26 03:21:14 [DEBUG]
     0.41.142.122 I slot get_availabl: id  2 | task -1 | selected slot by LRU, t_last = -1
    0.41.142.126 I srv  get_availabl: updating prompt cache
    0.41.142.135 I srv          load:  - looking for better prompt, base f_keep = -1.000, sim = 0.000
    0.41.142.139 I srv        update:  - cache state: 0 prompts, 0.000 MiB (limits: 8192.000 MiB, 122368 tokens, 8589934592 est)
    0.41.142.142 I srv  get_availabl: prompt cache update took 0.01 ms
    0.41.142.164 I slot launch_slot_: id  2 | task 0 | processing task, is_child = 0
    0.41.142.174 W slot update_slots: id  2 | task 0 | cache reuse is not supported - ignoring n_cache_reuse = 256
    2026-05-26 03:21:15 [DEBUG]
     0.42.203.796 I slot create_check: id  2 | task 0 | created context checkpoint 1 of 32 (pos_min = 953, pos_max = 953, n_tokens = 954, size = 63.356 MiB)
    2026-05-26 03:21:15 [DEBUG]
     0.42.589.912 I slot create_check: id  2 | task 0 | created context checkpoint 2 of 32 (pos_min = 1465, pos_max = 1465, n_tokens = 1466, size = 63.647 MiB)
    2026-05-26 03:21:17 [DEBUG]
     0.44.136.037 I slot print_timing: id  2 | task 0 | n_decoded =    101, tg =  68.20 t/s
    2026-05-26 03:21:20 [DEBUG]
     0.47.179.351 I slot print_timing: id  2 | task 0 | n_decoded =    296, tg =  65.43 t/s
    2026-05-26 03:21:23 [DEBUG]
     0.50.221.447 I slot print_timing: id  2 | task 0 | n_decoded =    486, tg =  64.23 t/s
    2026-05-26 03:21:26 [DEBUG]
     0.53.223.641 I slot print_timing: id  2 | task 0 | n_decoded =    673, tg =  63.68 t/s
    2026-05-26 03:21:29 [DEBUG]
     0.56.268.298 I slot print_timing: id  2 | task 0 | n_decoded =    833, tg =  61.19 t/s
    2026-05-26 03:21:32 [DEBUG]
     0.59.273.712 I slot print_timing: id  2 | task 0 | n_decoded =   1023, tg =  61.56 t/s
    2026-05-26 03:21:35 [DEBUG]
     1.02.307.391 I slot print_timing: id  2 | task 0 | n_decoded =   1188, tg =  60.45 t/s
    2026-05-26 03:21:38 [DEBUG]
     1.05.349.065 I slot print_timing: id  2 | task 0 | n_decoded =   1385, tg =  61.03 t/s
    2026-05-26 03:21:41 [DEBUG]
     1.08.353.572 I slot print_timing: id  2 | task 0 | n_decoded =   1559, tg =  60.67 t/s
    2026-05-26 03:21:44 [DEBUG]
     1.11.380.609 I slot print_timing: id  2 | task 0 | n_decoded =   1723, tg =  59.98 t/s
    2026-05-26 03:21:47 [DEBUG]
     1.14.386.324 I slot print_timing: id  2 | task 0 | n_decoded =   1925, tg =  60.67 t/s
    2026-05-26 03:21:50 [DEBUG]
     1.17.421.446 I slot print_timing: id  2 | task 0 | n_decoded =   2126, tg =  61.15 t/s
    2026-05-26 03:21:53 [DEBUG]
     1.20.445.908 I slot print_timing: id  2 | task 0 | n_decoded =   2310, tg =  61.13 t/s
    2026-05-26 03:21:56 [DEBUG]
     1.23.479.436 I slot print_timing: id  2 | task 0 | n_decoded =   2497, tg =  61.16 t/s
    2026-05-26 03:21:59 [DEBUG]
     1.26.518.332 I slot print_timing: id  2 | task 0 | n_decoded =   2672, tg =  60.92 t/s
    2026-05-26 03:22:02 [DEBUG]
     1.29.551.405 I slot print_timing: id  2 | task 0 | n_decoded =   2904, tg =  61.92 t/s
    2026-05-26 03:22:05 [DEBUG]
     1.32.596.791 I slot print_timing: id  2 | task 0 | n_decoded =   3071, tg =  61.49 t/s
    2026-05-26 03:22:06 [DEBUG]
     1.33.650.974 I slot print_timing: id  2 | task 0 | prompt eval time =    1512.86 ms /  1470 tokens (    1.03 ms per token,   971.67 tokens per second)
    1.33.650.981 I slot print_timing: id  2 | task 0 |        eval time =   50995.81 ms /  3126 tokens (   16.31 ms per token,    61.30 tokens per second)
    1.33.650.982 I slot print_timing: id  2 | task 0 |       total time =   52508.67 ms /  4596 tokens
    1.33.650.983 I slot print_timing: id  2 | task 0 |    graphs reused =       1141
    1.33.650.984 I slot print_timing: id  2 | task 0 | draft acceptance = 0.57040 ( 1973 accepted /  3459 generated)
    1.33.651.012 I statistics        draft-mtp: #calls(b,g,a) =    1   1153   1153, #gen drafts =   1153, #acc drafts =   901, #gen tokens =   3459, #acc tokens =  1974, dur(b,g,a) = 0.000, 7190.776, 0.704 ms
    2026-05-26 03:22:06 [DEBUG]
     1.33.651.138 I slot      release: id  2 | task 0 | stop processing: n_tokens = 4597, truncated = 0
    1.33.651.156 I srv  update_slots: all slots are idle
    2026-05-26 03:22:06 [DEBUG]
     LlamaV4: server assigned slot 2 to task 0
    
    AI硬件 nvidia rtx5080

  • 从纯游戏机改成游戏+AI双用机,Qwen 3.6 27B MTP 速度只有 37 t/s,求大神指点怎么升级
    S sky

    补一补hermes的log

    ────────────────────────────────────────
    ● search this https://lcz.me/category/7/llm%E8%AE%A8%E8%AE%BA%E5%8C%BA it have more posts
    ────────────────────────────────────────
    
      ┊ 🌐 preparing browser_navigate…
      ┊ 🌐 navigate  lcz.me  2.8s
      ┊ 🖥️ preparing browser_console…
      ┊ ⚡ browser_c   0.2s
      ┊ 🌐 preparing browser_navigate…
      ┊ 🌐 navigate  lcz.me  1.4s
      ┊ 🖥️ preparing browser_console…
      ┊ ⚡ browser_c   0.2s
      ┊ 🖥️ preparing browser_console…
      ┊ ⚡ browser_c   0.2s
      ┊ 🌐 preparing browser_navigate…
      ┊ 🌐 navigate  lcz.me  1.0s
      ┊ 🖥️ preparing browser_console…
      ┊ ⚡ browser_c   0.2s
      ┊ 🌐 preparing browser_navigate…
      ┊ 🌐 navigate  lcz.me  1.1s
      ┊ 🖥️ preparing browser_console…
      ┊ ⚡ browser_c   0.2s
    
    ╭─ ⚕ Hermes ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
        Perfect! Now I have comprehensive data from both categories. Let me compile everything for you:
    
    
    
        📊 Forum 完整搜索结果汇总
    
        LLM讨论区关键发现:
    
        1. RTX 4080 (32GB) & RTX 4090 (48GB) 对比测试 (Michael Zhou):
        - Qwen3.6-27B FP8 + vLLM: 37 t/s
        - QuantTrio AWQ INT4 + MTP s=3: 81 t/s (单流), 208 t/s (并发3)
    
        2. RTX 5090 实测 (rem):
        - Qwen3.6-27B-Heretic-W4G128 + vLLM: 平均 43.5 t/s, 日志看到过 86 t/s
        - TTFT: 第一次 281ms → prefix cache命中后 69ms (快4倍!)
    
        3. 双 7900 XTX (各24GB) MTP 优化记录:
        - Qwen3.6-27B + llama.cpp ROCm: ~35 t/s
        - PCIe 4.0 x16 带宽翻倍 = sync延迟缩短约一半
    
    
    
        🎯 RTX 5070 Ti vs 你的配置对比表
    
        | GPU | VRAM | Qwen3.6-27B (t/s) | MTP支持 | CP评级 |
        |-----|------|------------------|---------|--------|
        | 你现有: RTX 5080 | 16GB | ~49 (IQ4_XS) | ✅ | ⭐⭐⭐ |
        | RTX 5070 Ti (预估) | ~24GB | 70-80+ | ✅✅ | ⭐⭐⭐⭐⭐ |
        | RTX 5090 (论坛实测) | 32GB | 43.5~86 | ✅✅ | ⭐⭐⭐⭐ |
        | AMD 7900XTX x2 (双卡) | 2x24GB | ~35-40 | ❌ | ⭐⭐⭐⭐ |
    
    
    
        💡 最终建议:RTX 5070 Ti 是最佳 CP 选择 ✅
    
        为什么?
        1. 显存从 16GB → ~24GB = KV cache + MTP draft model 不再拥挤
        2. 带宽提升 = LLM 推理速度直接受益(论坛数据证明)
        3. 单卡方案 = 无 TP 同步延迟,无需担心 PCIe 瓶颈
        4. 价格优势 ≈ ¥4,500-$6,000 RMB vs 二手 4090 (¥12k-14k)
    
        你现在应该做的:
        1. 确认 RTX 5070 Ti 是否已发布/上市(论坛主要讨论的是 AMD 卡和 NVIDIA 高端卡)
        2. 如果 5070 Ti 没出 → 考虑二手 RTX 3090 (¥3,500-4k) + 你的 5080 组双卡
        3. 或者等论坛更多 5070 Ti 评测帖出现再决定
    
        要我帮你回复帖子继续讨论吗?
    ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
     ⚕ qwen3.6-27b-uncensored-... │ 110K/262.1K │ [████░░░░░░] 42% │ 1h 57m │ ⏲ 2m 41s
    ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
    ❯
    ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
    
    

    ddf4ec2d-0b4e-444e-8e52-73dab7f487c9-image.jpeg
    其中一段log 这个好像卡了 prompt processing 有点慢

    2026-05-26 01:55:06 [DEBUG]
     LlamaV4::predict slot selection: session_id=<empty> server-selected (LCP/LRU)
    2026-05-26 01:55:06 [DEBUG]
     2.49.228.089 I slot get_availabl: id  0 | task -1 | selected slot by LRU, t_last = -1
    2.49.228.096 I srv  get_availabl: updating prompt cache
    2.49.228.100 I srv          load:  - looking for better prompt, base f_keep = -1.000, sim = 0.000
    2.49.228.103 I srv        update:  - cache state: 0 prompts, 0.000 MiB (limits: 8192.000 MiB, 262144 tokens, 8589934592 est)
    2.49.228.104 I srv  get_availabl: prompt cache update took 0.01 ms
    2.49.228.160 I slot launch_slot_: id  0 | task 823 | processing task, is_child = 0
    2.49.228.163 I slot slot_save_an: id  1 | task -1 | saving idle slot to prompt cache
    2026-05-26 01:55:06 [DEBUG]
     2.49.236.750 W srv   prompt_save:  - saving prompt with length 111121, total state size = 2229.245 MiB (draft: 124.201 MiB)
    2026-05-26 01:55:08 [DEBUG]
     2.51.254.262 I slot prompt_clear: id  1 | task -1 | clearing prompt with 111121 tokens
    2026-05-26 01:55:08 [DEBUG]
     2.51.281.229 I srv        update:  - cache state: 1 prompts, 9486.766 MiB (limits: 8192.000 MiB, 262144 tokens, 262144 est)
    2.51.281.235 I srv        update:    - prompt 0000040D9D512EF0:  111121 tokens, checkpoints: 30,  9486.766 MiB
    2.51.281.247 W slot update_slots: id  0 | task 823 | cache reuse is not supported - ignoring n_cache_reuse = 256
    2026-05-26 01:55:08  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 0.0%
    2026-05-26 01:55:10  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 4.0%
    2026-05-26 01:55:12 [DEBUG]
     2.55.238.316 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =   8192, progress = 0.08, t =   3.96 s / 2070.22 tokens per second
    2026-05-26 01:55:12 [DEBUG]
     2.55.238.855 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 0, creating new checkpoint during processing at position 12288
    2026-05-26 01:55:12  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 8.0%
    2026-05-26 01:55:12 [DEBUG]
     2.55.284.543 I slot create_check: id  0 | task 823 | created context checkpoint 1 of 32 (pos_min = 8191, pos_max = 8191, n_tokens = 8192, size = 158.782 MiB)
    2026-05-26 01:55:14 [DEBUG]
     2.57.358.731 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  12288, progress = 0.12, t =   6.08 s / 2021.89 tokens per second
    2026-05-26 01:55:14  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 12.0%
    2026-05-26 01:55:17 [DEBUG]
     2.59.502.451 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  16384, progress = 0.16, t =   8.22 s / 1992.90 tokens per second
    2026-05-26 01:55:17 [DEBUG]
     2.59.502.880 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 8192, creating new checkpoint during processing at position 20480
    2026-05-26 01:55:17  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 16.0%
    2026-05-26 01:55:17 [DEBUG]
     2.59.550.933 I slot create_check: id  0 | task 823 | created context checkpoint 2 of 32 (pos_min = 16383, pos_max = 16383, n_tokens = 16384, size = 167.939 MiB)
    2026-05-26 01:55:19 [DEBUG]
     3.01.774.168 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  20480, progress = 0.20, t =  10.49 s / 1951.79 tokens per second
    2026-05-26 01:55:19  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 20.0%
    2026-05-26 01:55:21 [DEBUG]
     3.04.080.558 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  24576, progress = 0.24, t =  12.80 s / 1920.10 tokens per second
    2026-05-26 01:55:21 [DEBUG]
     3.04.080.943 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 16384, creating new checkpoint during processing at position 28672
    2026-05-26 01:55:21  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 23.9%
    2026-05-26 01:55:21 [DEBUG]
     3.04.135.630 I slot create_check: id  0 | task 823 | created context checkpoint 3 of 32 (pos_min = 24575, pos_max = 24575, n_tokens = 24576, size = 177.095 MiB)
    2026-05-26 01:55:24 [DEBUG]
     3.06.529.554 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  28672, progress = 0.28, t =  15.25 s / 1880.34 tokens per second
    2026-05-26 01:55:24  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 27.9%
    2026-05-26 01:55:26 [DEBUG]
     3.09.014.985 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  32768, progress = 0.32, t =  17.73 s / 1847.78 tokens per second
    2026-05-26 01:55:26 [DEBUG]
     3.09.015.349 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 24576, creating new checkpoint during processing at position 36864
    2026-05-26 01:55:26  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 31.9%
    2026-05-26 01:55:26 [DEBUG]
     3.09.066.771 I slot create_check: id  0 | task 823 | created context checkpoint 4 of 32 (pos_min = 32767, pos_max = 32767, n_tokens = 32768, size = 186.251 MiB)
    2026-05-26 01:55:29 [DEBUG]
     3.11.626.265 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  36864, progress = 0.36, t =  20.35 s / 1811.94 tokens per second
    2026-05-26 01:55:29  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 35.9%
    2026-05-26 01:55:31 [DEBUG]
     3.14.262.589 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  40960, progress = 0.40, t =  22.98 s / 1782.32 tokens per second
    2026-05-26 01:55:31 [DEBUG]
     3.14.262.985 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 32768, creating new checkpoint during processing at position 45056
    2026-05-26 01:55:31  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 39.9%
    2026-05-26 01:55:31 [DEBUG]
     3.14.326.857 I slot create_check: id  0 | task 823 | created context checkpoint 5 of 32 (pos_min = 40959, pos_max = 40959, n_tokens = 40960, size = 195.407 MiB)
    2026-05-26 01:55:34 [DEBUG]
     3.17.054.852 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  45056, progress = 0.44, t =  25.77 s / 1748.15 tokens per second
    2026-05-26 01:55:34  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 43.9%
    2026-05-26 01:55:37 [DEBUG]
     3.19.851.457 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  49152, progress = 0.48, t =  28.57 s / 1720.39 tokens per second
    2026-05-26 01:55:37 [DEBUG]
     3.19.851.849 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 40960, creating new checkpoint during processing at position 53248
    2026-05-26 01:55:37  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 47.9%
    2026-05-26 01:55:37 [DEBUG]
     3.19.921.417 I slot create_check: id  0 | task 823 | created context checkpoint 6 of 32 (pos_min = 49151, pos_max = 49151, n_tokens = 49152, size = 204.564 MiB)
    2026-05-26 01:55:40 [DEBUG]
     3.22.797.914 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  53248, progress = 0.52, t =  31.52 s / 1689.52 tokens per second
    2026-05-26 01:55:40  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 51.9%
    2026-05-26 01:55:43 [DEBUG]
     3.25.751.545 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  57344, progress = 0.56, t =  34.47 s / 1663.58 tokens per second
    2026-05-26 01:55:43 [DEBUG]
     3.25.751.888 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 49152, creating new checkpoint during processing at position 61440
    2026-05-26 01:55:43  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 55.9%
    2026-05-26 01:55:43 [DEBUG]
     3.25.825.218 I slot create_check: id  0 | task 823 | created context checkpoint 7 of 32 (pos_min = 57343, pos_max = 57343, n_tokens = 57344, size = 213.720 MiB)
    2026-05-26 01:55:46 [DEBUG]
     3.28.859.117 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  61440, progress = 0.60, t =  37.58 s / 1635.01 tokens per second
    2026-05-26 01:55:46  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 59.9%
    2026-05-26 01:55:49 [DEBUG]
     3.31.976.086 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  65536, progress = 0.64, t =  40.69 s / 1610.43 tokens per second
    2026-05-26 01:55:49  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 63.9%
    2026-05-26 01:55:49 [DEBUG]
     3.31.976.461 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 57344, creating new checkpoint during processing at position 69632
    2026-05-26 01:55:49 [DEBUG]
     3.32.057.800 I slot create_check: id  0 | task 823 | created context checkpoint 8 of 32 (pos_min = 65535, pos_max = 65535, n_tokens = 65536, size = 222.876 MiB)
    2026-05-26 01:55:52 [DEBUG]
     3.35.255.641 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  69632, progress = 0.68, t =  43.97 s / 1583.47 tokens per second
    2026-05-26 01:55:52  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 67.8%
    2026-05-26 01:55:56 [DEBUG]
     3.38.536.009 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  73728, progress = 0.72, t =  47.25 s / 1560.22 tokens per second
    2026-05-26 01:55:56 [DEBUG]
     3.38.536.397 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 65536, creating new checkpoint during processing at position 77824
    2026-05-26 01:55:56  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 71.8%
    2026-05-26 01:55:56 [DEBUG]
     3.38.624.601 I slot create_check: id  0 | task 823 | created context checkpoint 9 of 32 (pos_min = 73727, pos_max = 73727, n_tokens = 73728, size = 232.032 MiB)
    2026-05-26 01:55:59 [DEBUG]
     3.41.998.454 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  77824, progress = 0.76, t =  50.72 s / 1534.47 tokens per second
    2026-05-26 01:55:59  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 75.8%
    2026-05-26 01:56:03 [DEBUG]
     3.45.462.050 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  81920, progress = 0.80, t =  54.18 s / 1511.97 tokens per second
    2026-05-26 01:56:03 [DEBUG]
     3.45.462.417 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 73728, creating new checkpoint during processing at position 86016
    2026-05-26 01:56:03  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 79.8%
    2026-05-26 01:56:03 [DEBUG]
     3.45.551.951 I slot create_check: id  0 | task 823 | created context checkpoint 10 of 32 (pos_min = 81919, pos_max = 81919, n_tokens = 81920, size = 241.189 MiB)
    2026-05-26 01:56:06 [DEBUG]
     3.49.105.522 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  86016, progress = 0.84, t =  57.82 s / 1487.54 tokens per second
    2026-05-26 01:56:06  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 83.8%
    2026-05-26 01:56:10 [DEBUG]
     3.52.735.222 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  90112, progress = 0.88, t =  61.45 s / 1466.33 tokens per second
    2026-05-26 01:56:10 [DEBUG]
     3.52.735.637 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 81920, creating new checkpoint during processing at position 94208
    2026-05-26 01:56:10  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 87.8%
    2026-05-26 01:56:10 [DEBUG]
     3.52.834.750 I slot create_check: id  0 | task 823 | created context checkpoint 11 of 32 (pos_min = 90111, pos_max = 90111, n_tokens = 90112, size = 250.345 MiB)
    2026-05-26 01:56:14 [DEBUG]
     3.56.551.665 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  94208, progress = 0.92, t =  65.27 s / 1443.35 tokens per second
    2026-05-26 01:56:14  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 91.8%
    2026-05-26 01:56:17 [DEBUG]
     4.00.372.963 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens =  98304, progress = 0.96, t =  69.09 s / 1422.80 tokens per second
    2026-05-26 01:56:17 [DEBUG]
     4.00.373.317 I slot update_slots: id  0 | task 823 | 8192 tokens since last checkpoint at 90112, creating new checkpoint during processing at position 102122
    2026-05-26 01:56:17  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 95.8%
    2026-05-26 01:56:18 [DEBUG]
     4.00.470.886 I slot create_check: id  0 | task 823 | created context checkpoint 12 of 32 (pos_min = 98303, pos_max = 98303, n_tokens = 98304, size = 259.501 MiB)
    2026-05-26 01:56:21 [DEBUG]
     4.04.142.790 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens = 102122, progress = 0.99, t =  72.86 s / 1401.59 tokens per second
    2026-05-26 01:56:21  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 99.5%
    2026-05-26 01:56:21 [DEBUG]
     4.04.245.109 I slot create_check: id  0 | task 823 | created context checkpoint 13 of 32 (pos_min = 102121, pos_max = 102121, n_tokens = 102122, size = 263.769 MiB)
    2026-05-26 01:56:22 [DEBUG]
     4.05.069.628 I slot print_timing: id  0 | task 823 | prompt processing, n_tokens = 102634, progress = 1.00, t =  73.79 s / 1390.92 tokens per second
    2026-05-26 01:56:22  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 100.0%
    2026-05-26 01:56:22 [DEBUG]
     4.05.173.737 I slot create_check: id  0 | task 823 | created context checkpoint 14 of 32 (pos_min = 102633, pos_max = 102633, n_tokens = 102634, size = 264.341 MiB)
    2026-05-26 01:56:22  [INFO]
     [qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller] Prompt processing progress: 100.0%
    2026-05-26 01:56:26 [DEBUG]
     4.08.487.088 I slot print_timing: id  0 | task 823 | n_decoded =    100, tg =  30.87 t/s
    2026-05-26 01:56:27 [DEBUG]
     4.10.362.290 I slot print_timing: id  0 | task 823 | prompt eval time =   73966.44 ms / 102638 tokens (    0.72 ms per token,  1387.63 tokens per second)
    4.10.362.296 I slot print_timing: id  0 | task 823 |        eval time =    5114.39 ms /   155 tokens (   33.00 ms per token,    30.31 tokens per second)
    4.10.362.297 I slot print_timing: id  0 | task 823 |       total time =   79080.83 ms / 102793 tokens
    4.10.362.298 I slot print_timing: id  0 | task 823 |    graphs reused =        806
    4.10.362.299 I slot print_timing: id  0 | task 823 | draft acceptance = 0.45641 (   89 accepted /   195 generated)
    4.10.362.319 I statistics        draft-mtp: #calls(b,g,a) =   11    827    827, #gen drafts =    827, #acc drafts =   638, #gen tokens =   2481, #acc tokens =  1536, dur(b,g,a) = 0.006, 14288.555, 0.495 ms
    2026-05-26 01:56:27 [DEBUG]
     4.10.363.793 I slot      release: id  0 | task 823 | stop processing: n_tokens = 102792, truncated = 0
    4.10.363.804 I srv  update_slots: all slots are idle
    2026-05-26 01:56:27 [DEBUG]
     LlamaV4: server assigned slot 0 to task 823
    

    另外应该不会卖卡 理论上5080 + 5070 TI + 5060 TI + 3060 应该放得下
    之后可能会学comfyUI 但不是刚需

    AI硬件 nvidia rtx5080

  • 从纯游戏机改成游戏+AI双用机,Qwen 3.6 27B MTP 速度只有 37 t/s,求大神指点怎么升级
    S sky

    @Xiaote
    其實我主要想補一張 5070 Ti,目標是組成 5080 + 5070 Ti + 5060 Ti 三張卡。

    2026-05-26 00:20:55 [DEBUG]
     LlamaV4::load called with model path: C:\Users\user\.lmstudio\models\lmstudio-community\Qwen3.6-27B-GGUF\Qwen3.6-27B-Q4_K_M.gguf
    LlamaV4::load config: n_parallel=1 n_ctx=132144 kv_unified=true
    2026-05-26 00:20:55 [DEBUG]
     0.00.043.210 I srv    load_model: loading model 'C:\Users\user\.lmstudio\models\lmstudio-community\Qwen3.6-27B-GGUF\Qwen3.6-27B-Q4_K_M.gguf'
    2026-05-26 00:21:01 [DEBUG]
     0.06.171.283 W llama_context: n_ctx_seq (132352) < n_ctx_train (262144) -- the full capacity of the model will not be utilized
    2026-05-26 00:21:01 [DEBUG]
     0.06.295.851 W common_init_from_params: KV cache shifting is not supported for this context, disabling KV cache shifting
    0.06.295.863 I common_init_from_params: warming up the model with an empty run - please wait ... (--no-warmup to disable)
    2026-05-26 00:21:01 [DEBUG]
     0.06.502.458 I srv    load_model: initializing slots, n_slots = 1
    2026-05-26 00:21:01 [DEBUG]
     0.06.562.459 W srv    load_model: speculative decoding will use checkpoints
    0.06.562.468 W common_speculative_init: no implementations specified for speculative decoding
    0.06.562.469 I slot   load_model: id  0 | task -1 | new slot, n_ctx = 132352
    0.06.562.490 I srv    load_model: prompt cache is enabled, size limit: 8192 MiB
    0.06.562.491 I srv    load_model: use `--cache-ram 0` to disable the prompt cache
    0.06.562.491 I srv    load_model: for more info see https://github.com/ggml-org/llama.cpp/pull/16391
    0.06.562.509 I srv          init: idle slots will be saved to prompt cache and cleared upon starting a new task
    2026-05-26 00:21:01 [DEBUG]
     0.06.563.830 I init: chat template, example_format: 'You are a helpful assistantHelloHi thereHow are you?'
    2026-05-26 00:21:01 [DEBUG]
     0.06.564.256 I srv          init: init: chat template, thinking = 0
    0.06.564.497 I srv  update_slots: all slots are idle
    2026-05-26 00:21:03 [DEBUG]
     LlamaV4::predict slot selection: session_id=<empty> server-selected (LCP/LRU)
    2026-05-26 00:21:03 [DEBUG]
     0.08.555.629 I slot get_availabl: id  0 | task -1 | selected slot by LRU, t_last = -1
    0.08.555.633 I srv  get_availabl: updating prompt cache
    0.08.555.643 I srv          load:  - looking for better prompt, base f_keep = -1.000, sim = 0.000
    0.08.555.646 I srv        update:  - cache state: 0 prompts, 0.000 MiB (limits: 8192.000 MiB, 132352 tokens, 8589934592 est)
    0.08.555.648 I srv  get_availabl: prompt cache update took 0.01 ms
    0.08.555.668 I slot launch_slot_: id  0 | task 0 | processing task, is_child = 0
    0.08.555.676 W slot update_slots: id  0 | task 0 | cache reuse is not supported - ignoring n_cache_reuse = 256
    2026-05-26 00:21:04 [DEBUG]
     0.09.277.868 I slot create_check: id  0 | task 0 | created context checkpoint 1 of 32 (pos_min = 957, pos_max = 957, n_tokens = 958, size = 149.626 MiB)
    2026-05-26 00:21:05 [DEBUG]
     0.09.716.647 I slot create_check: id  0 | task 0 | created context checkpoint 2 of 32 (pos_min = 1465, pos_max = 1465, n_tokens = 1466, size = 149.626 MiB)
    2026-05-26 00:21:07 [DEBUG]
     0.12.561.771 I slot print_timing: id  0 | task 0 | n_decoded =    100, tg =  36.14 t/s
    2026-05-26 00:21:10 [DEBUG]
     0.15.569.755 I slot print_timing: id  0 | task 0 | n_decoded =    209, tg =  36.19 t/s
    2026-05-26 00:21:13 [DEBUG]
     0.18.572.721 I slot print_timing: id  0 | task 0 | n_decoded =    318, tg =  36.23 t/s
    2026-05-26 00:21:16 [DEBUG]
     0.21.573.654 I slot print_timing: id  0 | task 0 | n_decoded =    426, tg =  36.17 t/s
    2026-05-26 00:21:19 [DEBUG]
     0.24.585.790 I slot print_timing: id  0 | task 0 | n_decoded =    535, tg =  36.17 t/s
    2026-05-26 00:21:23 [DEBUG]
     0.27.611.004 I slot print_timing: id  0 | task 0 | n_decoded =    644, tg =  36.15 t/s
    2026-05-26 00:21:26 [DEBUG]
     0.30.627.929 I slot print_timing: id  0 | task 0 | n_decoded =    753, tg =  36.14 t/s
    2026-05-26 00:21:29 [DEBUG]
     0.33.654.559 I slot print_timing: id  0 | task 0 | n_decoded =    862, tg =  36.13 t/s
    2026-05-26 00:21:32 [DEBUG]
     0.36.673.020 I slot print_timing: id  0 | task 0 | n_decoded =    971, tg =  36.13 t/s
    2026-05-26 00:21:35 [DEBUG]
     0.39.691.507 I slot print_timing: id  0 | task 0 | n_decoded =   1080, tg =  36.12 t/s
    2026-05-26 00:21:38 [DEBUG]
     0.42.705.623 I slot print_timing: id  0 | task 0 | n_decoded =   1188, tg =  36.10 t/s
    2026-05-26 00:21:41 [DEBUG]
     0.45.707.228 I slot print_timing: id  0 | task 0 | n_decoded =   1296, tg =  36.09 t/s
    2026-05-26 00:21:44 [DEBUG]
     0.48.724.452 I slot print_timing: id  0 | task 0 | n_decoded =   1404, tg =  36.07 t/s
    2026-05-26 00:21:47 [DEBUG]
     0.51.727.949 I slot print_timing: id  0 | task 0 | n_decoded =   1512, tg =  36.06 t/s
    2026-05-26 00:21:50 [DEBUG]
     0.54.745.149 I slot print_timing: id  0 | task 0 | n_decoded =   1620, tg =  36.04 t/s
    2026-05-26 00:21:53 [DEBUG]
     0.57.753.754 I slot print_timing: id  0 | task 0 | n_decoded =   1728, tg =  36.03 t/s
    2026-05-26 00:21:56 [DEBUG]
     1.00.769.040 I slot print_timing: id  0 | task 0 | n_decoded =   1836, tg =  36.02 t/s
    2026-05-26 00:21:59 [DEBUG]
     1.03.775.125 I slot print_timing: id  0 | task 0 | n_decoded =   1943, tg =  35.99 t/s
    2026-05-26 00:22:02 [DEBUG]
     1.06.797.168 I slot print_timing: id  0 | task 0 | n_decoded =   2051, tg =  35.98 t/s
    2026-05-26 00:22:05 [DEBUG]
     1.09.809.020 I slot print_timing: id  0 | task 0 | n_decoded =   2158, tg =  35.96 t/s
    2026-05-26 00:22:08 [DEBUG]
     1.12.809.424 I slot print_timing: id  0 | task 0 | n_decoded =   2265, tg =  35.94 t/s
    2026-05-26 00:22:11 [DEBUG]
     1.15.823.439 I slot print_timing: id  0 | task 0 | n_decoded =   2372, tg =  35.92 t/s
    2026-05-26 00:22:14 [DEBUG]
     1.18.833.805 I slot print_timing: id  0 | task 0 | n_decoded =   2479, tg =  35.91 t/s
    2026-05-26 00:22:17 [DEBUG]
     1.21.841.117 I slot print_timing: id  0 | task 0 | n_decoded =   2586, tg =  35.89 t/s
    2026-05-26 00:22:20 [DEBUG]
     1.24.864.105 I slot print_timing: id  0 | task 0 | n_decoded =   2693, tg =  35.87 t/s
    2026-05-26 00:22:23 [DEBUG]
     1.27.875.703 I slot print_timing: id  0 | task 0 | n_decoded =   2800, tg =  35.86 t/s
    2026-05-26 00:22:26 [DEBUG]
     1.30.902.157 I slot print_timing: id  0 | task 0 | n_decoded =   2907, tg =  35.84 t/s
    2026-05-26 00:22:29 [DEBUG]
     1.33.922.191 I slot print_timing: id  0 | task 0 | n_decoded =   3014, tg =  35.83 t/s
    2026-05-26 00:22:32 [DEBUG]
     1.36.938.672 I slot print_timing: id  0 | task 0 | n_decoded =   3121, tg =  35.81 t/s
    2026-05-26 00:22:35 [DEBUG]
     1.39.947.030 I slot print_timing: id  0 | task 0 | n_decoded =   3227, tg =  35.80 t/s
    2026-05-26 00:22:38 [DEBUG]
     1.42.972.363 I slot print_timing: id  0 | task 0 | n_decoded =   3334, tg =  35.78 t/s
    2026-05-26 00:22:41 [DEBUG]
     1.45.986.215 I slot print_timing: id  0 | task 0 | n_decoded =   3440, tg =  35.76 t/s
    2026-05-26 00:22:44 [DEBUG]
     1.48.989.937 I slot print_timing: id  0 | task 0 | n_decoded =   3546, tg =  35.75 t/s
    2026-05-26 00:22:44 [DEBUG]
     1.49.074.914 I slot print_timing: id  0 | task 0 | prompt eval time =    1239.17 ms /  1470 tokens (    0.84 ms per token,  1186.28 tokens per second)
    1.49.074.917 I slot print_timing: id  0 | task 0 |        eval time =   99280.06 ms /  3549 tokens (   27.97 ms per token,    35.75 tokens per second)
    1.49.074.918 I slot print_timing: id  0 | task 0 |       total time =  100519.23 ms /  5019 tokens
    1.49.074.919 I slot print_timing: id  0 | task 0 |    graphs reused =       3534
    1.49.074.993 I slot      release: id  0 | task 0 | stop processing: n_tokens = 5018, truncated = 0
    1.49.075.008 I srv  update_slots: all slots are idle
    2026-05-26 00:22:44 [DEBUG]
     LlamaV4: server assigned slot 0 to task 0
    

    我目前用 5080 + 5060 Ti 跑普通 Qwen 3.6 27B Q4_K_M(132k context,沒開 MTP)的速度只有 35~36 t/s(log 貼上面了)。 3060 不支援 MTP,而且很容易 checkpoint stuck 或 CUDA error,穩定性很差。

    我想要 5070 Ti 的主要原因:

    1. 三張 Blackwell 卡比較平衡
      5080 + 5070 Ti + 5060 Ti 全是 50 系列,架構一樣,llama.cpp 分層會更順,不像現在混 3060 那麼容易出問題。

    2. 總 VRAM 達到 48GB
      目前 32GB 在 132k context 還是會有點吃力,如果能到 48GB,應該能更穩地跑大 context,又不用 offload。

    3. 想把 27B 速度推到 70-90+ t/s
      現在 37 t/s 寫 code 還是會覺得有點慢,如果三張 50 系列卡應該能明顯提升,而且 MTP 也會更穩定。

    補一張 5070 Ti 好像比5080更划算,能把現在三張卡都充分利用。

    不知道這個思路對不對,還是不加卡比較好。

    AI硬件 nvidia rtx5080

  • 从纯游戏机改成游戏+AI双用机,Qwen 3.6 27B MTP 速度只有 37 t/s,求大神指点怎么升级
    S sky

    大家好~我是个小白,之前这台电脑纯打游戏,后来想玩本地 LLM 写 code,就慢慢加卡变成现在这样。

    目前配置:

    • CPU:Ryzen 9 9950X3D
    • 主板:MSI X870E Edge TI
    • 记忆体:64GB DDR5-6000
    • 电源:1200W 白金 + 800W eGPU Dock
    • 显示卡:RTX 5080 16GB + RTX 5060 Ti 16GB + RTX 3060 12GB(3060 有时候会关掉)

    原本只有 5080 的时候,跑 Qwen 3.6 27B 会 offload,速度不理想,后来才陆续加了 3060 补 VRAM,再买 5060 Ti 增加容量。

    目前实际跑分(lm studio + CUDA 12 llama.cpp):

    模型 配置 Context 量化 + MTP 生成速度 备注
    Qwen 3.6 27B 5080 + 5060 Ti 132k Q4_K_M + MTP 35~37 t/s 目前主力
    Qwen 3.6 35B-A3B MoE 5080 + 5060 Ti 132k Q5_K_M + MTP 58~61 t/s -
    Qwen 3.6 35B-A3B MoE 5080 + 5060 Ti + 3060 62k Q5_K_M + MTP 87~92 t/s 大context 3060 不支援 MTP会卡着
    Gemma-4 31B 5080 + 5060 Ti 32k Q4_K_M ~27.8 t/s -
    Gemma-4 26B-A4B 5080 + 5060 Ti 262k Q4_K_M ~84 t/s -

    a6275b43-68d5-4eca-8be8-6c79b51d5157-image.jpeg

    刚找到了更快版本, lemonyins\qwen3.6-27b-uncensored-abliterated-mtp-i1-smaller(IQ4_XS 量化),用 5080 + 5060 Ti 双卡跑:

    • Context:262144(最大上下文)
    • 生成速度:~49 t/s
    • Prompt Eval:约 1276 tokens/s
    • Draft Acceptance:0.5007

    这是我目前跑过 Qwen 3.6 27B 系列中最快的一次,比之前一般的 Q4_K_M 版明显快一些。
    e09d8dce-a86d-49e1-9cdc-139c7f893701-image.jpeg
    6128cb5d-fc65-488e-a61a-47a41bc225b9-image.jpeg
    c5a70fc8-4846-42d7-8ec1-adcbc9b0de0c-image.jpeg

    目前遇到的问题:

    • 想同时要高速度 + 大 context(最好 100k+),现在感觉有点吃力
    • 3060 在开 MTP 时基本没贡献,还容易卡住或出 CUDA error

    主要用途是 coding,希望 Qwen 3.6 27B 能像35B跑到 70~80+ t/s 以上,又要 context 够大。

    请问各位大佬:

    1. 继续加/换一张 5070 Ti 会比较好吗?
    2. 有没有什么参数或设定可以明显提升速度?

    谢谢大家指点!新手第一次发这种文,有什么资讯没写清楚的请告诉我~

    最后放上图片
    1000057540.jpg

    AI硬件 nvidia rtx5080
  • 登录

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