跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • 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 广场 App
  1. 主页
  2. 版块
  3. LLM讨论区
  4. Qwen3.8 FlashNext運算組成 A卡與N卡在Strata對應的運算單元

Qwen3.8 FlashNext運算組成 A卡與N卡在Strata對應的運算單元

已定时 已固定 已锁定 已移动 LLM讨论区
qwen-flashstrataamd
2 帖子 1 发布者 239 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • dardeaw fengD
    dardeaw fengD
    dardeaw feng
    硕果累累 贵族大夫
    编写于 最后由 dardeaw feng 编辑
    #1

    Flash-Next 在 GPU 上到底在算什麼

    基本概念

    Qwen3.8-Flash-Next 是一個 125B 的 MoE(混合專家)模型。可以把它想像成一位超顧問:每處理一個字,都要走一趟「工廠」,廠內有五個工位。GPU 的硬體則分成兩種設備:矩陣專算機(tensor core / matrix core,只認 FP16/BF16/FP8 這幾種格式的整塊矩陣乘)和萬用計算台(CUDA core / wave ALU,什麼都能算,包括解壓縮)。

    五個工位

    ① 專家 FFN——主事件,佔 60-70%

    MoE 的本體:模型沒有一個巨大的前饋網路,而是有幾百間專家工作室(code 專精、中文專精、數學專精……)。每個字進來,只點燃其中少數幾間(比如 128 間開 8 間)。每間工作室做的都是標準動作:輸入 × 權重矩陣 A → 激活 → × 權重矩陣 B,兩次大矩陣乘。

    關鍵:這 125B 參數絕大多數是這些專家的權重,而且為了塞進顯存都壓縮(量化)成 4/8-bit 存著。壓縮格式矩陣專算機不認,必須先在萬用計算台上解壓回 16-bit 再算——所以整個主事件全走萬用計算台,NVIDIA 的 CUDA core、AMD 的 wave ALU 都一样,tensor core 完全幫不上。

    ② 密集 16-bit 層——固定小站,佔 10-15%

    每個字都必經的「小工位」:router(總機,決定點燃哪些專家)、hyper-connection(層間資訊高速公路的切換)、PLE(位置查表)。它們體積小,所以不壓縮、保留完整 16-bit 精度——這正好是矩陣專算機吃的格式,所以這一站現代 GPU 都丟給 tensor core(NVIDIA)或調優 FP16 kernel(AMD)算。

    ③ QSA 評分——先看目錄,佔 15-30% 的一部分

    模型讀到新的字,要回頭參考前文——但前文可能長達十幾萬字,逐字看太慢。QSA(稀疏注意力)=「先看目錄,再讀相關章節」:把前文切成一段段,快速給每段打個相關分數,只挑分數高的段落進入下一步精讀。這個「打分管」本身是小型矩陣乘:NVIDIA 用 TF32 tensor core(Ampere 起),AMD 在 RDNA4 用 matrix core(WMMA,快 7 倍),其他卡都用萬用計算台硬算。

    ④ Attention QK/PV + softmax——精讀相關段落,佔 15-30% 其餘

    對挑出來的段落做三件事:QK=拿當前字的「問題」和每段落的「標籤」比對,算出每段多相關;softmax=把相關分數轉成加權比例(加總=1,像機率分布)——這步是純逐元素運算(max/exp/除),任何矩陣硬體都幫不上;PV=按比例把各段落的「內容」混合成當前字的記憶摘要。整段用 flash-attention 做法:段落切塊處理、中間結果放暫存器,顯存裡永遠不需要那張巨大的 T×T 比對表。

    ⑤ KV 讀寫 + 專家串流——物流,不佔算力但佔時間

    KV cache=模型對已讀文字寫的「筆記」(每個字的 K/V 向量),存在顯存裡;專家權重太大裝不下顯存,要從記憶體/SSD 持續搬進搬出(串流)。這些是「搬東西」不是「算東西」,不花 FLOPs,但吃真實時間——decode 速度的瓶頸就是它(每生成一字都要翻一遍筆記、取一遍專家書)。

    兩種工作模式

    • Prefill(讀題):整段 prompt 一批處理,大矩陣乘火力全開→比的是算力(所以 tensor core 世代差在這裡顯現)
    • Decode(寫答案):一次一字,每字都要把筆記和權重讀一遍→比的是頻寬(所以同級卡 decode 差距小,VRAM 容量和記憶體頻寬才決定生死)

    一句話總結

    這個模型的計算大頭(專家 FFN)是壓縮格式的,兩家 GPU 都只能用萬用計算台硬算;tensor core / matrix core 只服務小頭(密集層 + 稀疏注意力評分)。所以同價位的卡,prefill 差距看算力規格,decode 差距看頻寬和 VRAM 容量——規格表上的 tensor core TFLOPS 對這種 MoE 模型,沒有它看起來那麼決定性。

    Strata最近爆火,最讓人興奮的是老卡也能跑頂級大模型
    但老卡優化的進度怎樣呢?
    以下是拆解原代碼比對各運算層對應的運算單元,以及github開源社群提出的PR待合併我標註#

    NVIDIA

    組成 佔每 token 計算量 Volta(V100) Turing(RTX 20) Ampere(RTX 30) Ada(RTX 40) Blackwell(RTX 50)
    Expert FFN(量化 GEMM,O(T)) ~60-70% 純 CUDA core(dequant→FMAC) 同左 同左 同左 同左
    密集 16-bit 層(hc/router/PLE,O(T)) ~10-15% FP16 Tensor Core(無 BF16,#655/#741 轉 FP16 救) 同左 原生 BF16 Tensor Core 原生 BF16/FP8 TensorCore 原生 BF16/FP8/FP4 Tensor Core
    QSA 評分(O(T²)) 剩餘15-30% 的一部分 FP32 SIMT warp kernel 同左(#742 加 FP32 tiled GEMM 救) TF32 Tensor Core scorer 同左 同左
    Attention QK/PV + softmax(O(T²)) 15-30% 其餘 自訂 flash kernel,主要 CUDA core 同左 同左 同左 同左
    KV 讀寫 + expert 串流 佔壁鐘時間 HBM / PCIe GDDR6 / PCIe GDDR6 / PCIe GDDR6(X) / PCIe GDDR7 / PCIe

    AMD

    組成 佔每 token 計算量 RDNA1(RX 5000) RDNA2(RX 6000) RDNA3(RX 7000) RDNA4(RX 9000)
    Expert FFN(量化 GEMM,O(T)) ~60-70% wave ALU(dequant→FMAC) 同左+int8 片段走 dp4a 同左(WMMA 有 int8/int4 能力但 Strata 没用) 同左
    密集 16-bit 層(O(T)) ~10-15% rocBLAS FP16 kernel(無 WMMA 硬體) #835 前 generic fallback;#835 後 rocBLAS 調優 FP16 kernel rocBLAS/hipBLASLt 調優 kernel 同左
    QSA 評分(O(T²)) 剩餘15-30% 的一部分 FP32 default kernel FP32 default kernel(#849 pre75+DPP,bit-exact) WMMA 硬體閒置、pre75 可手動開(STRATA_ATTN_PRE75=1)但沒人驗證過 WMMA(opt-in,7.2-7.5x)
    Attention QK/PV + softmax(O(T²)) 15-30% 其餘 自訂 flash kernel,wave ALU 同左(shuffle/reduction 綁 LDS,#849 實測) 同左 同左
    KV 讀寫 + expert 串流 佔壁鐘時間 GDDR6 / PCIe 同左 GDDR6 / PCIe GDDR6 / PCIe

    看起來接下來github上PR更新的重點
    查完了——沒變,兩張表不用更新:

    現況(剛查的)

    • 最新版還是 v0.1.39(10/04 發布),沒有 v0.1.40
    • 關鍵 PR 全部還是 open、未合併:
    PR 內容 狀態
    #835 RDNA2 FP16 in/out GEMM(prefill ~2x) open,可合併(clean)
    #849 RDNA2 pre75+DPP attention(bit-exact) open,可合併(clean)
    #741 Volta/Turing BF16→FP16 tensor core(2080 Ti +8-17%) open,有衝突(dirty)——落後 main,最難生
    #742 Turing FP32 tiled QSA(2080 Ti +22-33%) open,可合併(clean)
    #854 雙卡 helper PCIe share 修復(6900 XT decode 40→66) open

    看來近期更新優化會是在RDNA2與Turing等老卡,尤其是RDNA2會讓prefill翻倍(原本低到可憐)
    維持觀察,等 v0.1.40 出來再更新表。

    1 条回复 最后回复
    1
    • dardeaw fengD
      dardeaw fengD
      dardeaw feng
      硕果累累 贵族大夫
      编写于 最后由 编辑
      #2

      這推論框架也不是完美,比較失望的是高併發能力 比llama.cpp還要殘,就個人單會話使用限定,要當服務器別想太多

      1 条回复 最后回复
      0

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

      厌倦了每次访问都刷到同样的帖子?您注册账号后,您下次访问时都将自动回到上次浏览的位置,并可选择接收新回复的通知(通过电子邮件或推送通知)。您还可以收藏帖子、为帖子点赞,以此向其他社区成员表达您的感谢。

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

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


      • 登录

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