跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • 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 广场
  1. 主页
  2. 版块
  3. AI硬件
  4. AMD R9700 實測:ROCm 10,Qwen38-27B-UD-Q6_K、128K context 和 MTP

AMD R9700 實測:ROCm 10,Qwen38-27B-UD-Q6_K、128K context 和 MTP

已定时 固定直到 2026/9/9 10:32 已锁定 已移动 AI硬件
7 帖子 5 发布者 102 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • Stephen TseS 在线
    Stephen TseS 在线
    Stephen Tse
    编写于 最后由 编辑
    #1

    AMD R9700 實測:ROCm 10,27B 模型、128K context 和 MTP (Windows 11 Pro)

    分享一下我這段時間折騰 R9700 的結果。
    我想用一張 32GB 卡在 Windows 跑本地 AI,平常透過 Hermes 使用,也希望保留128K長上下文和看圖功能。

    001.png

    目前我定下來的組合是 ROCm 10 + llama.cpp b10814 + Qwen3.8-27B UD-Q6_K,搭配 128K context、q8 KV、MTP n=2 和 BF16 mmproj。

    先說結果:**獨立 512-token 輸出測試約 **35.4 tok/s(wall-clock)/36.6 tok/s(server-reported)****;精確 120K 輸入可以完成,但首字要等 435.7 秒,約 7 分 16 秒。所以對我來說,長 context 是能用,但一次塞進十幾萬 tokens 的等待時間還是很明顯。

    我的配置

    項目 配置
    GPU GIGABYTE Radeon AI PRO R9700 32GB,gfx1201
    CPU / RAM Ryzen 7 9800X3D / G.SKILL Trident Z5 Neo 64GB DDR5-6000
    系統 / Driver Windows 11 / 32.0.31019.2002
    Backend ROCm 10.0.0 clean stack,官方 llama.cpp b10814
    模型 unsloth/Qwen3.8-27B-GGUF,UD-Q6_K
    圖片 projector BF16 mmproj
    Context / KV 131072 / K、V 都用 q8_0
    MTP draft-mtp,n=2;draft KV 也是 q8_0
    其他 Flash Attention on、parallel 1、batch4096 / ubatch1024、threads 8

    主機板、SSD 等完整零件和價格我放在後面。圖片端到端流程在部署時已通過,下面的跑分則全部是文字測試。

    實際跑分

    這次我直接傳入固定長度的 token array,沒有再用字數估算。每組都核對 cache_n=0,MTP 也確認有啟用。

    實際輸入 tokens Prefill tok/s 首字等待(TTFT) MTP acceptance
    2,048 785.5 2.68 秒 94.1%
    32,768 555.6 59.1 秒 100%
    65,536 410.1 160.0 秒 100%
    102,400 316.1 324.4 秒 74.5%
    122,880 282.5 435.7 秒 未保存詳細計數

    這裡的 120K 是 122,880 個輸入 tokens;128K 則是 server 配置容量 131,072,兩個數字不要混在一起。隨著輸入變長,prefill 下降,首字等待明顯增加。

    生成速度我另外測,不把它和 prefill 混成一個 tok/s:

    輸出長度 Wall-clock Server-reported MTP acceptance
    256 tokens,清除殘留 server 後 38.07 tok/s 39.23 tok/s 60.17%
    512 tokens,正式 baseline 35.4 tok/s 36.6 tok/s 53.0%

    256-token 那次 wall time 為 6.72 秒,server evaluation time 為 6499.66 ms,所以兩個速度稍有不同。512-token 的完整計時起止沒有留下,我保留原本的指標名稱。

    這是 synthetic 測試,不是自然中文或 coding 的保證速度。 長輸入使用重複 token,MTP 比較容易接受 draft;我不會把表裡的 100% 當成日常對話也能達到。這些是部署時保存的單次結果,尚未做多次平均、長文品質或長時間壓力測試。

    我為什麼選這套版本和參數

    ROCm 10:先把環境整理乾淨。 我之前曾混用新 runtime 和舊 hipBLAS/rocBLAS,後來改成獨立的 ROCm 10 SDK 和官方 package,核對實際載入的 DLL。官方更新也包含 Windows memory-pool allocation stall 修正,值得測試,但不能只憑版本號就說速度提升多少。ROCm 10 更新說明

    b10814:因為我實際驗證過這個官方包。 我試過自己編譯 b10819 和另一個 upstream 版本,在 Windows 的 ROCm Clang/MSVC 工具鏈遇到 host/device 編譯衝突,最後沒有編成。官方 b10814 則通過模型載入、長 context、MTP、看圖和 Hermes 使用流程,所以我先固定用它。b10814 官方下載

    MTP n=2:已經可用,先不繼續追 n=3。 最終 ROCm 的 512-token baseline 有 53% acceptance。舊 Vulkan 測試中,n=3 在 64K 相對 n=2 只多約 4.7% decode,卻多約 1 GiB dedicated memory;我因此沒有繼續往上調。這不是 ROCm n=2/n=3 的正式對照,也不能說 n=2 一定最優。

    batch4096 / ubatch1024:加大之後沒有看到收益。 我用同樣 122,880-token 輸入試過另一組:

    120K A/B 4096 / 1024 16384 / 2048
    Prefill 282.5 tok/s 280.4 tok/s
    TTFT 435.7 秒 438.2 秒
    Dedicated memory 28.2 GiB 29.1 GiB
    Shared memory 0.82 GiB 1.87 GiB
    錯誤 0 0

    速度差很小,一次測試不足以說大 batch 必然更慢,但我沒得到好處,記憶體用量又增加,就保留 4096/1024。這次同時改了兩個參數,也沒法單獨判斷是哪個造成差異。

    幾個真的影響結果的坑

    最值得提醒的是 prompt 長度和重複 server,它們都曾讓我的數字失真。

    • 早期「64K」其實只有 45,372 tokens。 當時用字元數估算,整批輸入約短了 30.8%。那些 32K/64K/100K 成績已撤回,正式表是改用精確 token array 後重測的。我當時懷疑長 context 會讓 MTP 關閉,後續測到 120K 仍啟用,也撤回了這個推論。
    • 舊 server 沒退乾淨。 新 server 跑分時,舊 ROCm 7.1 server 還在佔 GPU/shared memory,曾量到只有 12.79 tok/s。清除後的 256-token 測試回到 38.07/39.23 tok/s。這是排除資源互搶,不能說成升級 ROCm 後三倍加速。
    • Hermes 曾啟動沒有模型的 router。 它佔著服務 port,旁邊又有真正的模型 server;另一次 launcher 漏了 auth 參數。後來我固定從同一個 launcher 啟動,並核對實際模型和 Hermes 請求,不只看 health 正常。
    • 必要時完整重啟後端。 只殺掉其中一個 server 後,記憶體分佈仍不理想。我最後停掉全部 server、確認 port 釋放,等約 15 秒,再只啟動 production 一次。這裡的 cold restart 是重啟後端,不是重開 Windows。
    • Smart App Control 曾擋住 DLL。 b10814 最初的 0xC0E90002 後來查到是 Code Integrity 阻擋 ggml.dll,不是單純缺 DLL。後續已成功載入,但我沒有保存具體 UI 修復步驟,因此不把它寫成一條通用解法。

    編譯失敗的細節、事件編號和登錄檔處理,我留在私人技術筆記。對這篇跑分而言,重點是最後用哪個成功的 binary,以及測試時有沒有其他程序干擾。

    跟我以前的 Vulkan 比起來呢?

    我有舊 Vulkan b10819 的數據,但當時用的是 non-UD 模型、128-token synthetic 輸出,不能直接跟現在的 UD-Q6_K、512-token baseline 排名。

    以舊環境的 65,536-token 輸入為例:

    舊 Vulkan 模式 Prefill tok/s Decode tok/s TTFT 秒
    MTP off 496.304 22.168 132.281
    MTP n=2 477.646 44.426 137.529
    MTP n=3,補齊 draft q8 KV 後 469.014 46.524 139.986

    這張表能看舊環境內部的 MTP 差別,但不能證明 ROCm 或 Vulkan 全面勝出。特別是舊測試輸出高度重複,n=2 曾全數接受 draft,生成速度會很好看。要回答 backend 誰更快,我還需要用同一模型 hash、相同輸入和輸出長度重做對照。

    我的硬件花了多少錢?(加拿大溫哥華)

    以下來自我補充的 Excel 價格表:2026/9/6 Newegg.ca PC Builder 參考價在前,六月購入金額在後。購入欄是折扣前的零件金額,Combo 另計,不能直接當成每件折扣後淨成本。截止2026年9月6日, 這個主機組合2個月時間漲了約23%左右,後續加買了一樣的SSD 2TB給LINUX系統。

    零件 9月市場價 - 加幣 6月購入價 - 加幣 6月購入價 - 換算人民幣
    AMD Ryzen 7 9800X3D 569.99 609.99 2,958
    ASUS TUF X870E-PLUS WIFI7 379.99 379.99 1,843
    G.SKILL Trident Z5 Neo 64GB DDR5-6000 1,729.99 1,419.99 6,886
    GIGABYTE R9700 32GB 2,499.99 2,049.99 9,942
    Phanteks XT Pro Ultra 109.99 104.99 509
    ASUS TUF Gaming 1000W Gold 269.99 219.99 1,067
    WD_BLACK SN7100 2TB(6月第1顆) 499.99 409.99 1,988
    be quiet! Pure Rock Pro 3 79.99 79.99 388
    WD_BLACK SN7100 2TB(8月第2顆) 499.99 424.99 —

    R9700 的9月 CAD 2,499.99 是缺貨牌價,不代表當天買得到。兩顆 SSD 也不是同時買:6月第一顆 409.99,8月第二顆 424.99,所以我把它們分開列。

    RMB 只換算6月已知購入金額,使用 2026/9/4 的 1 CAD ≈ 4.8497 CNY

    整套配置成本對照(CAD) 9/6 報價/估算 原購入價格
    商品小計,未折扣 6,639.91 5,699.91
    Combo 折扣 -300.00 -845.00
    折後稅前小計 6,339.91 4,854.91
    稅金 760.79 584.90
    運費 19.24 19.24
    含稅及運費總額 7,119.94 5,459.05

    所以我目前整套配置的累計支出是 CAD 5,459.05,包含八月加買的 SSD。九月同配置參考總額約 7,119.94,差 1,660.89(30.42%);其中不只零件牌價變動,也包含 Combo 優惠減少。9月稅金和運費是表內估算,不是完成結帳的報價。

    海外加拿大沒有魔改卡, 否則我當初是想買京東保養的魔改卡

    目前的價格也不想買第2張R9700, 所以想搭建UBUNTU那邊主要想玩Minimax H3

    我目前的使用結論

    折騰完之後,我留下了一套固定的 ROCm 10 環境、一個 production server,以及 UD-Q6_K/BF16 模型組合。舊 runtime、模型和 ROCm 7.1 殘留清掉後,約釋放 31 GiB;顯示驅動保留,最後 health、MTP、看圖和 Hermes 都確認正常。

    我現在比較傾向保存版本、hash 和設定,以後需要時乾淨重建,不再留一堆舊 runtime 備份。35 tok/s 級別的這筆輸出測試對我的目標已經可用;真正要接受的限制,是 100K 以上新 prompt 的等待時間。

    目前還缺自然中文/coding 的重複測試、長時間穩定性和功耗數據,所以這篇先當作我的部署與跑分分享。


    附錄:重現所需的版本與參數

    主模型與 BF16 projector 都固定在 repo revision:

    4ca720788d1e01f1bff70c033e0d0028fd02e502

    檔案 Bytes SHA256
    Qwen3.8-27B-UD-Q6_K.gguf 21983677344 c9c206812fbe4ac7b76a729e25928b63f2ae89d37f69da7a71c20aec763cd436
    mmproj-BF16.gguf 931146432 83ee4f4f205fa514161778c41df1ea14144faa0f713510893b63c2395f5c2d53
    llama-b10814-bin-win-rocm-10.0-x64.zip — 5e088b105d480836751c4ae4826523acd0053caf6688fcca4a94763ab171bee2

    llama.cpp 完整 commit:1548a240e36079f07856c95c53de1ec2770840ab。上述 hash 是我的部署紀錄,不是本次重新下載後計算。官方 commit

    以下是我的啟動狀態和參數摘要,檔案位置用佔位符取代;分行僅為方便閱讀,實際執行需按 shell 處理換行。

    image.png

    llama-server.exe
      --model MODEL_GGUF --mmproj MMPROJ_GGUF
      --alias Qwen38-27B-UD-Q6_K
      --host 127.0.0.1 --port 1234 --api-key-file KEY_FILE
      --ctx-size 131072 --cache-type-k q8_0 --cache-type-v q8_0
      --n-gpu-layers 99 --parallel 1 --flash-attn on
      --batch-size 4096 --ubatch-size 1024
      --threads 8 --threads-batch 8
      --spec-type draft-mtp --spec-draft-n-max 2
      --spec-draft-type-k q8_0 --spec-draft-type-v q8_0
      --metrics
    

    我的 launcher 使用 process-local SDK PATH,沒有實作 singleton lock;維護時仍需確認沒有舊 server。長 prompt 也要同步檢查 client timeout,不能只改 server context。

    第一次發長文, 我另一個SSD的LINUX那邊也裝好了HERMES QWEN 3.8 27B Q6 一樣的ROCM10 模型 上下文,如果感興趣我會再發LINUX那邊的測試結果。文章主要由AI幫我整理,我再檢閱. 多多指教。

    1 条回复 最后回复
    3
    • heheimbackH 离线
      heheimbackH 离线
      heheimback
      编写于 最后由 编辑
      #2

      我感觉R9700有点尴尬,我之前也想买这个的,但是除了高一点的量化模型也没有太多的提升,效果也都差不多,token速度还有点慢

      zhenyu huangZ 1 条回复 最后回复
      0
      • heheimbackH heheimback

        我感觉R9700有点尴尬,我之前也想买这个的,但是除了高一点的量化模型也没有太多的提升,效果也都差不多,token速度还有点慢

        zhenyu huangZ 离线
        zhenyu huangZ 离线
        zhenyu huang
        编写于 最后由 编辑
        #3

        @heheimback 是这么回事 跑llm的话 不如7900xtx的960gb的带宽 快很多 跟4090的带宽是一个级别的

        1 条回复 最后回复
        0
        • ,terryT terry 固定了此主题
        • terryT 离线
          terryT 离线
          terry
          超级版主
          编写于 最后由 编辑
          #4

          不能这么说,各位,32G显存,两张不如一张4090 48G贵,跑LLM双卡TP,或者双卡跑两个ComfyUI,并不会比4090 48G差。又可以买到新卡。唯一输的就是不能连续48G显存,跑高清视频。

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

          1 条回复 最后回复
          0
          • L 离线
            L 离线
            linghu007
            编写于 最后由 编辑
            #5

            抄作业结果。

            模型:mlasli/Qwen3.8-27B-Heretic-Uncensored-Q6_K-GGUF
            显卡:R9700 32g

            Heretic FP8 测试结果(Vulkan + R9700)
            实际输入 tokens
            Prefill tok/s TTFT (s) MTP Accept%
            2,048 684 26.9 98.5%
            32,768 623 78.1 99.0%
            65,536 498 162.4 99.3%
            对比论坛帖子(ROCm 10 + R9700)
            输入 tokens 他的 Prefill 我们的 Prefill 他的 TTFT 我们的 TTFT
            2,048 785.5 684 2.68s 26.9s
            32,768 555.6 623 59.1s 78.1s
            65,536 410.1 498 160.0s 162.4s
            分析:

            我们的 Prefill 速度接近(Vulkan vs ROCm 差异不大)
            TTFT 差异大是因为他的 TTFT 只算 prefill,我们的包含其他开销
            MTP acceptance 非常高(98-99%),说明 MTP 工作正常
            Decode 速度约 45 tok/s,和之前测试一致

            AI的分析对吗

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

              抄作业结果。

              模型:mlasli/Qwen3.8-27B-Heretic-Uncensored-Q6_K-GGUF
              显卡:R9700 32g

              Heretic FP8 测试结果(Vulkan + R9700)
              实际输入 tokens
              Prefill tok/s TTFT (s) MTP Accept%
              2,048 684 26.9 98.5%
              32,768 623 78.1 99.0%
              65,536 498 162.4 99.3%
              对比论坛帖子(ROCm 10 + R9700)
              输入 tokens 他的 Prefill 我们的 Prefill 他的 TTFT 我们的 TTFT
              2,048 785.5 684 2.68s 26.9s
              32,768 555.6 623 59.1s 78.1s
              65,536 410.1 498 160.0s 162.4s
              分析:

              我们的 Prefill 速度接近(Vulkan vs ROCm 差异不大)
              TTFT 差异大是因为他的 TTFT 只算 prefill,我们的包含其他开销
              MTP acceptance 非常高(98-99%),说明 MTP 工作正常
              Decode 速度约 45 tok/s,和之前测试一致

              AI的分析对吗

              L 离线
              L 离线
              linghu007
              编写于 最后由 编辑
              #6

              抱歉,模型是Qwen3.8-27B-Uncensored-FP8.Q6_K.gguf ,刚那个贴错了。

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

                抱歉,模型是Qwen3.8-27B-Uncensored-FP8.Q6_K.gguf ,刚那个贴错了。

                L 离线
                L 离线
                linghu007
                编写于 最后由 编辑
                #7

                Heretic FP8 多维度 MTP 测试结果
                内容类型 Prefill Decode MTP Accept%
                code 529.8 tok/s 43.6 tok/s 94.5%
                math 529.2 tok/s 43.7 tok/s 93.9%
                prose 528.5 tok/s 43.1 tok/s 90.4%
                tool 527.8 tok/s 43.0 tok/s 89.3%
                short 527.1 tok/s 43.0 tok/s 88.2%
                long_prompt 526.6 tok/s 42.9 tok/s 87.3%
                平均 - 43.2 tok/s 90.6%

                1 条回复 最后回复
                0

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

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

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

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


                • 登录

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