跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • 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. LLM讨论区
  4. 第二张 AMD 显卡该怎么用?一次 128K Agent 双卡推理实测

第二张 AMD 显卡该怎么用?一次 128K Agent 双卡推理实测

已定时 已固定 已锁定 已移动 LLM讨论区
amd多卡部署
16 帖子 4 发布者 695 浏览 2 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • BunseiB 离线
    BunseiB 离线
    Bunsei
    德高望重
    编写于 最后由 编辑
    #7

    五、RCCL究竟带来了多少提升?

    前面提到,RCCL是对跨卡Reduce路径的一次优化。

    这次测试分别在4K短上下文和128K长上下文下,对启用与关闭RCCL进行了严格对照。

    4K上下文:Prefill提升约9%

    TP构建 Prefill Decode
    不使用RCCL 1183.30 t/s 28.53 t/s
    使用RCCL 1291.31 t/s 29.18 t/s
    提升 9.13% 2.27%

    在4K测试中,RCCL带来的Prefill提升比较明显,从1183.30 t/s提高到1291.31 t/s,增幅约为9.13%,Decode也有所提高,但幅度只有2.27%。

    这说明RCCL确实优化了TP的跨卡通信,但跨卡归约并不是Decode中的唯一成本。即使通信变得更高效,模型计算、显存访问和采样等部分仍然不会因此消失。

    128K上下文:收益收敛到约2%

    TP构建 Append Prefill Deep Decode
    不使用RCCL 266.89 t/s 19.28 t/s
    使用RCCL 273.24 t/s 19.55 t/s
    提升 2.38% 1.44%

    第二组测试在已有约128K上下文的情况下,继续追加约1K新输入并生成输出。

    到了128K,RCCL带来的提升明显缩小,增量Prefill从266.89 t/s提高到273.24 t/s,提升2.38%;Deep Decode从19.28 t/s提高到19.55 t/s,提升1.44%。

    我更倾向于把这种变化理解为瓶颈占比发生了转移。

    在4K工况下,跨卡通信和同步在总耗时中占有相对明显的比例,因此优化归约路径能够直接反映到Prefill速度上。随着上下文增长到128K,Attention和KV Cache访问开始消耗更多时间,跨卡通信即使变快,在整个任务中的占比也随之下降。

    RCCL仍然有效,只是它能够优化的那部分,已经不再是主要矛盾,所以,对这套平台来说,RCCL值得作为TP的默认构建选项,这份收益不算惊人,但方向稳定,而且没有在本次测试中观察到明显负作用。既然决定使用TP,就没有理由主动放弃它。

    1 条回复 最后回复
    0
    • BunseiB 离线
      BunseiB 离线
      Bunsei
      德高望重
      编写于 最后由 编辑
      #8

      六、我应该怎样部署?

      经过前面的测试之后,我并不打算为每一种任务都准备一套完全不同的启动参数。

      理论上,针对冷启动、缓存追加、短输入生成和大段突发内容分别切换Llama的启动配置,或许能够再挤出一点性能,但在实际工作中,频繁重启服务、修改参数和重新建立缓存,本身也会带来额外成本。

      所以我更需要的是一条能够覆盖大多数128K Agent任务的默认路线,所以我选择了,TP + RCCL + MTP。

      核心配置为:

      HIP_VISIBLE_DEVICES=1,0
      --split-mode tensor
      --tensor-split 65,35
      --ctx-size 163840
      --parallel 1
      --cache-type-k f16
      --cache-type-v f16
      --flash-attn on
      --fit off
      MTP n-max=3
      

      这选择163840作为分配容量,并不意味着日常任务一定要把上下文用到160K,我的实际目标仍然是把主要工作上下文长度控制在128K附近,额外留下大约32K空间,用于工具突然返回大量日志、源码或者文档。这样既能避免上下文刚到128K就立刻触发裁剪,也能为Agent完成当前步骤留下足够余量。

      1 条回复 最后回复
      0
      • BunseiB 离线
        BunseiB 离线
        Bunsei
        德高望重
        编写于 最后由 编辑
        #9

        结论:第二张显卡究竟值不值得?

        回到最开始的问题,那就是这套AMD平台究竟值不值得继续折腾多卡?

        我的答案是:

        值得,但需要清楚自己得到的是什么。

        RX 9070并没有让R9700的性能简单翻倍。这套同架构异规格双卡仍然受到显存容量不对称、计算能力差异和PCIe通信的限制。TP需要快卡等待慢卡,PP又无法自动提高单流生成速度,额外的驱动、构建和参数维护也都是真实存在的成本。

        但第二张显卡同样不只是增加了16GB显存,在严格同条件测试中,TP + RCCL + MTP把129K启动、高缓存命中追加和31K突发追加三种长上下文任务的总等待时间缩短了大约32%到34%。

        对于一次十几秒的短对话,这种差距可能不算久,但对于一个持续运行数小时、不断搜索、编译、测试和调用工具的Agent任务,每一轮节省下来的几秒或者几分钟,最终都会累积成可以真实感受到的工作效率。

        这也是这次实验给我最重要的答案:

        双卡没有让本地模型突然变成另一种级别的产品,但它确实让一个已经能够完成工作的模型,变得更适合持续工作。

        RX 9070也完成了它作为“测试卡”的任务。

        它证明了这张B850主板可以实现PCIe 5.0 x8/x8和双向P2P,证明了ROCm上的TP与RCCL能够在消费级平台上获得实际收益,也暴露了DFlash2在TP分片权重路径中的兼容问题。更重要的是,它让我在真正购买第二张R9700之前,先用相对有限的成本看清了多卡能够带来什么,又需要付出什么。

        如果未来升级到双R9700,两张卡拥有相同的显存容量和计算规模,切分与同步应该会比现在更加自然。

        至于这篇文章本身,如果后来有人在相似的平台上尝试AMD双卡,能够因为这些记录少走一点弯路,那么这次折腾就已经超过了它最初的意义。

        1 条回复 最后回复
        2
        • BunseiB 离线
          BunseiB 离线
          Bunsei
          德高望重
          编写于 最后由 编辑
          #10

          - 完 -

          1 条回复 最后回复
          0
          • BunseiB 离线
            BunseiB 离线
            Bunsei
            德高望重
            编写于 最后由 编辑
            #11

            补充:R9700 单卡Q8 KV、无 mmproj 的 DFlash2 验证

            刚准备睡觉发现还落了单卡的性能测试,这里补上。

            GPU: R9700 单卡,210W PPT 上限
            主模型: HauhauCS-Aggressive Q6_K_P
            配置上下文: 163840
            主 KV: Q8_0 / Q8_0
            草稿 KV: Q8_0 / Q8_0
            草稿: DFlash2 Q4_K_M,n-max=4
            mmproj: 不加载
            parallel: 1
            Flash Attention: on
            
            配置 R9700 VRAM GTT CPU offload
            Q6_K_P + Q8 KV,无投机 28.6GB 约 8MB 无
            Q6_K_P + Q8 KV + DFlash2 Q4 30.7GB 约 8MB 无

            512-token A/B

            相同 96-token 代码 Agent 提示、temperature 0、seed 123、强制生成 512 token:

            指标 无投机 DFlash2 Q4 差异
            Prefill 335.81 t/s 272.85 t/s 仅 96 token,绝对差 66ms
            Decode 21.01 t/s 42.01 t/s +99.93%
            Decode time 24.321 s 12.165 s -49.98%
            总墙钟 24.613 s 12.523 s -49.12%
            Draft accepted/generated — 357/615 58.05%
            平均接受长度 — 3.32 —

            在短输入、持续生成的工况中,DFlash2 几乎把 R9700 单卡速度翻倍,属于明确收益。

            129K 输入后的深上下文 A/B

            相同 129,481-token Agent 工具历史、256 输出 token、temperature 0、seed 123:

            指标 无投机 DFlash2 Q4 差异
            Full prefill 277.266 t/s 275.524 t/s -0.63%
            Prefill time 466.992 s 469.944 s +2.951 s
            Deep decode 13.814 t/s 20.538 t/s +48.68%
            Decode time / 256 18.460 s 12.416 s -6.044 s
            总墙钟 485.536 s 482.445 s -3.091 s / -0.64%
            Draft accepted/generated — 176/312 56.41%
            平均接受长度 — 3.26 —

            单卡 MTP 与 DFlash2 Q4

            为补齐投机算法之间的直接比较,又以完全相同的 R9700 单卡、210W、Q6_K_P、Q8 主/草稿 KV、163840 上下文、不加载 mmproj、parallel=1、temperature 0、seed 123 条件补测了模型内置 MTP(n-max=3)。每个端点前均重新启动服务,129K 工况为 cache_n=0 的完整冷输入。DFlash2 使用前述同条件 Q4_K_M、n-max=4 数据。

            工况 MTP DFlash2 Q4 端到端结果
            96 输入 + 512 输出,Prefill 267.432 t/s 272.850 t/s DFlash2 高 2.03%
            96 输入 + 512 输出,Decode 38.210 t/s 42.010 t/s DFlash2 高 9.95%
            96 输入 + 512 输出,总墙钟 13.869 s 12.523 s DFlash2 缩短 9.71%
            129K 输入 + 256 输出,Prefill 266.561 t/s 275.524 t/s DFlash2 高 3.36%
            129K 长度 Decode 20.962 t/s 20.538 t/s MTP 高 2.06%
            129K 输入 + 256 输出,总墙钟 497.994 s 482.445 s DFlash2 缩短 3.12%
            工况 路线 接受率 平均接受长度
            96 输入 + 512 输出 MTP 59.24%(327/552) 2.78
            96 输入 + 512 输出 DFlash2 Q4 58.05%(357/615) 3.32
            129K 输入 + 256 输出 MTP 60.52%(164/271) 2.80
            129K 输入 + 256 输出 DFlash2 Q4 56.41%(176/312) 3.26

            MTP 的 token 接受率略高,但连续接受长度更短,不能只凭接受率判断端到端速度。短生成由 DFlash2 明显胜出。129K 深度 decode 则由 MTP 小胜约 2%,但 DFlash2 更快的冷 prefill 仍令整项任务缩短约 3.1%。两者的进程 VRAM 都约 30.6~30.7GB,MTP 在 129K 满载时 AMD-SMI 总显存达到约 32.26/32.62GB,只剩约 0.36GB 设备级余量。

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

              挺有意思的,不过门槛其实挺高,这两张卡都不便宜,而且都是pcie5.0的接口好像。主板也要支持x8拆分。

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

              BunseiB 1 条回复 最后回复
              0
              • terryT terry

                挺有意思的,不过门槛其实挺高,这两张卡都不便宜,而且都是pcie5.0的接口好像。主板也要支持x8拆分。

                BunseiB 离线
                BunseiB 离线
                Bunsei
                德高望重
                编写于 最后由 Bunsei 编辑
                #13

                @terry 说:

                挺有意思的,不过门槛其实挺高,这两张卡都不便宜,而且都是pcie5.0的接口好像。主板也要支持x8拆分。

                其实说实话还好,Amd多卡玩下来其实挺简单的。 主板我原本以为不支持需要有专门的那种pcie switch芯片,但实测下来好像没有问题,我觉得可以去发个帖子,吹一下这块板子,毕竟他只要1400块,虽然价格比不上那些洋垃圾或者是华南金牌,但他性价比在新平台里真的没法比,如果要玩新平台,我首推这块!

                terryT 1 条回复 最后回复
                1
                • ,系统 取消固定了此主题
                • farmer nodeF 离线
                  farmer nodeF 离线
                  farmer node
                  编写于 最后由 编辑
                  #14

                  其实没必要纠结pcie5.0x8拆分 , 直接买 pcie 4*16 的主板即可,可能会更便宜

                  1 条回复 最后回复
                  0
                  • BunseiB Bunsei

                    @terry 说:

                    挺有意思的,不过门槛其实挺高,这两张卡都不便宜,而且都是pcie5.0的接口好像。主板也要支持x8拆分。

                    其实说实话还好,Amd多卡玩下来其实挺简单的。 主板我原本以为不支持需要有专门的那种pcie switch芯片,但实测下来好像没有问题,我觉得可以去发个帖子,吹一下这块板子,毕竟他只要1400块,虽然价格比不上那些洋垃圾或者是华南金牌,但他性价比在新平台里真的没法比,如果要玩新平台,我首推这块!

                    terryT 离线
                    terryT 离线
                    terry
                    超级版主
                    编写于 最后由 编辑
                    #15

                    @Bunsei 赶紧发,我也准备低价的时候再物色一个洋垃圾,最好是XTX双卡有价值。

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

                    1 条回复 最后回复
                    0
                    • imbiplaza ASUSI 离线
                      imbiplaza ASUSI 离线
                      imbiplaza ASUS
                      至尊王者
                      编写于 最后由 编辑
                      #16

                      最近不够了,看看我也可以买一张7900xtx 来玩一下

                      https://lcz.me/project/dcs

                      1 条回复 最后回复
                      0
                      • ,terryT terry 引用了 此主题

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

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

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

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


                      • 登录

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