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

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

抡锤者

CHIA AN YANGC

CHIA AN YANG

@CHIA AN YANG
关于
帖子
11
主题
1
分享
0
群组
0
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • 分享自己的經驗 # 7900 XTX 本地 LLM 優化實測報告(Qwen3.6-27B)
    CHIA AN YANGC CHIA AN YANG

    7900 XTX 本地 LLM 優化實測報告(Qwen3.6-27B)

    硬體: AMD RX 7900 XTX 24GB / AMD Ryzen 9 7950X / Windows 11 原生
    用途: Hermes Agent、加密貨幣分析、查資料、opencode/pi.dev 本地 API
    推論框架: llama.cpp Vulkan(Windows Native)


    優化前 vs 優化後

    指標 優化前 優化後 提升
    Prefill(長 context 14k token) ~273 t/s ~530 t/s +94%
    TG 生成速度(Hermes) ~37 t/s 62–80 t/s +68~116%
    TG 生成速度(一般對話) ~37 t/s ~42 t/s +14%
    Qwen3 thinking 卡死問題 偶發(8000+ token 無限生成) 已解決 ✅
    VRAM 佔用 ~18.7 GB ~18.7 GB 不變

    優化一:KV Cache q8_0 → q4_0

    改動: run.bat 和 start-all.bat 的 -ctk q8_0 -ctv q8_0 改成 -ctk q4_0 -ctv q4_0

    效果:

    • Prefill:273 t/s → 730 t/s(+167%)
    • TG:37 t/s → 42 t/s(+14%)
    • 品質:差異可忽略(q4_0 vs q8_0 KV cache 品質損失極小)

    原因: Vulkan 後端的 q8_0 KV cache 有嚴重 Prefill 瓶頸,q4_0 就沒有這個問題。
    這是最簡單、最有效的改動,不需要換模型或換 binary。


    優化二:關閉 Qwen3 Thinking(--reasoning off)

    改動: run.bat 加上 --reasoning off

    效果: 解決 Qwen3.6 偶發性卡死問題。

    原因: Hermes Gateway 送的請求會觸發 Qwen3 的 thinking mode,budget 預設為 INT_MAX(無限),
    導致 server 有時生成 8000+ 個 thinking token 停不下來,後續所有請求全部卡在 queue 裡。


    優化三:MTP(Multi-Token Prediction)升級

    升級內容

    • Binary: 從 PR #22673 源碼編譯(llama.cpp MTP 分支,尚未合入主線)
    • 模型: 換成帶 MTP 層的 Qwen3.6-27B-Q4_K_M-mtp.gguf(15.8 GB,froggeric/Qwen3.6-27B-MTP-GGUF)
    • 新增參數: --spec-type draft-mtp --spec-draft-n-max 3 -fa 1
    • 注意: 參數名稱是 draft-mtp,不是 mtp(新版 PR 已改名)

    實測速度(Hermes 結構化輸出)

    請求 Prefill TG MTP 接受率
    系統提示暖機(14k tokens) 531 t/s 62.8 t/s 95.6%
    第 1 次 Telegram 指令 398 t/s 60.0 t/s 72.7%
    第 2 次 Telegram 指令 453 t/s 73.6 t/s 98.5%
    第 3 次 Telegram 指令 469 t/s 59.5 t/s 72.6%
    直接 API 測試(短句) — 79.9 t/s —

    重要:MTP 加速效果依任務而定

    場景 接受率 TG 速度 說明
    Hermes 結構化輸出(工具呼叫、JSON) 72–100% 60–80 t/s 最佳 ✅
    加密貨幣分析、查資料(固定格式) 預估 70%+ 60–75 t/s 很好 ✅
    Web UI 自由對話 30–45% 35–49 t/s 效果有限

    結論: MTP 對結構化輸出效果顯著(+68~116%),自由對話效果有限甚至可能略慢。


    最終啟動設定

    run-mtp.bat(只跑 llama-server,測試用)

    @echo off
    C:\llama-cpp-mtp\build\bin\Release\llama-server.exe ^
     -m C:\llama-cpp\Qwen3.6-27B-Q4_K_M-mtp.gguf ^
     --device Vulkan0 -ngl 999 -c 65536 ^
     -ctk q4_0 -ctv q4_0 -np 1 ^
     --spec-type draft-mtp --spec-draft-n-max 3 ^
     --reasoning off -fa 1 ^
     --port 8080 --host 0.0.0.0
    pause
    

    start-all-mtp.bat(完整啟動:llama-server + Hermes + 暖機)

    @echo off
    set "H_EXE=C:\Users\jaran\AppData\Local\hermes\hermes-agent\venv\Scripts\hermes.exe"
    set "L_EXE=C:\llama-cpp-mtp\build\bin\Release\llama-server.exe"
    set "M_PATH=C:\llama-cpp\Qwen3.6-27B-Q4_K_M-mtp.gguf"
    set "H_HOME=C:\Users\jaran\AppData\Local\hermes"
    set PATH=C:\llama-cpp-mtp\build\bin\Release;%PATH%
    
    echo [STEP 1] Launching llama-server (MTP)...
    start "llama-server-mtp" cmd /k "%L_EXE% -m %M_PATH% --device Vulkan0 -ngl 999 -c 64000 -ctk q4_0 -ctv q4_0 -np 1 --spec-type draft-mtp --spec-draft-n-max 3 -fa 1 --reasoning off --port 8080 --host 127.0.0.1"
    
    timeout /t 8
    
    echo [STEP 2] Launching Hermes Gateway...
    start "hermes-gateway" cmd /k "set HERMES_HOME=%H_HOME%&& set HERMES_GIT_BASH_PATH=C:\Program Files\Git\bin\bash.exe&& %H_EXE% gateway run --replace"
    
    timeout /t 5
    
    echo [STEP 3] Running Warmup Script...
    powershell -ExecutionPolicy Bypass -File "%H_HOME%\scripts\warmup.ps1"
    
    echo.
    echo =======================================================
    echo   SYSTEM READY  [MTP Mode: draft-mtp, n-max 3]
    echo =======================================================
    pause
    

    踩坑紀錄

    1. BITS Transfer 不支援 HuggingFace redirect → 改用 curl.exe -L -C -(支援斷點續傳)
    2. Vulkan SDK 裝好但 cmake 找不到 → 需手動 set VULKAN_SDK=C:\VulkanSDK\1.4.350.0
    3. VS Build Tools 需手動勾選「使用 C++ 的桌面開發」 → winget 不帶 --override 只裝框架
    4. WebUI 編譯需 npm build → node/npm 裝好後先 build WebUI 再編 server
    5. MTP 參數名稱是 draft-mtp,不是 mtp → PR 更新後改名,文章版本較舊
    6. llama-common.dll 被 server 鎖住無法重編 → 先關 server 再 build
    7. Qwen3.6 是 hybrid SSM 架構 → KV cache 無法跨對話複用,每次都重跑全部 prompt(正常現象)

    等待中的升級

    • PR #22673 合併進主線後:不用自行編譯,直接下載官方 release binary 即可
    • MTP Prefill 降速 bug 修復後:Prefill 速度可望進一步提升(目前 Prefill 略慢於非 MTP)
    • Vulkan + TurboQuant 整合穩定後:Prefill 和 TG 都有進一步提升空間

    測試日期:2026/05/14–15

    LLM讨论区
  • 登录

  • 没有帐号? 注册

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