↓ 跳过正文
  1. 归档/

RTX 4090 D Tensor 解锁之后,量化 MoE 能快多少

AI 研读与导出
目录

上一篇给 RTX 4090 D 解锁了限制,在纯 GEMM 测试里,部分 Tensor 指令吞吐接近翻倍。发到 X 后,有朋友提醒:“这对跑 MoE 量化推理可能几乎没用。”

我在家里这张卡上主要跑 Strata + IQ3_S 量化的 Qwen3.8-Flash-Next。翻了源码再拉出运行日志对照,实际情况确实如此。

TL;DR:基本没有收益(波动全在测试噪声里)。 4090 D 解锁只恢复了 FP16/BF16/TF32 等浮点 Tensor 算力;而低比特量化 MoE 真正跑的是 INT8/INT32 整数指令,推理瓶颈全卡在显存带宽、PCIe 搬运与 CPU 异构调度,跟浮点算力没太大关系。

为什么“浮点翻倍”在量化 MoE 上使不上劲
#

浮点算力涨了,整数原地踏步
#

先看本机的基准测试(边长 8192 方阵乘法,425 W 功耗上限):

GEMM 模式 原厂 TFLOPS 解锁 TFLOPS 吞吐提升
FP16 → FP32 152.83 195.96 +28.22%
BF16 → FP32 153.81 250.97 +63.16%
TF32 76.49 145.55 +90.28%
普通 FP32 对照 54.27 54.71 +0.80%

乘法输入为 FP16/BF16、累加为 FP32 的路径确实涨幅明显。但 INT8、INT4 和 dp4a 指令吞吐完全没变。

Strata 专家内核走的是纯整数指令
#

MoE 模型参数量虽大,但以 IQ3_S 这种低比特格式加载后,GPU 实际在执行什么?

翻看 Strata 0.1.48 的量化专家预填充内核源码,关键 PTX 汇编就这一句:

mma.sync.aligned.m16n8k32.row.col.s32.s8.s8.s32

这里的 s8 是有符号 INT8 输入,s32 是 INT32 累加。这条指令正是基准测试里完全没被加速的整数路径。虽然注意力或部分 cuBLAS 调用里夹杂着少量 BF16 计算,但关键耗时全在整数矩阵乘与权重反量化/解包上。

瓶颈在显存带宽与异构通信,而非算力
#

解锁没有给 4090 D 增加哪怕 1 Byte 的显存带宽或 PCIe 带宽。Strata 的架构是一部分专家放显存,其余专家放内存由 CPU 计算,两边重叠流水线。瓶颈一直卡在显存吞吐和跨总线数据搬运上。按 Amdahl 定律,加速一个耗时占比极小的浮点环节,整体吞吐不会有任何起色。

跑分验证:解锁到底快没快
#

社区实测:48GB 4090 受控对比(0.98x ~ 0.99x)
#

社区已有研究者在改装 48 GB 的 4090 上,针对同款 Strata 引擎与 IQ3_S 模型做了严格的受控测试:

预填充场景 原厂 token/s 解锁 token/s 解锁 / 原厂加速比
8K 输入 3518.8 3457.8 0.983×
32K 输入 3916.6 3890.3 0.993×

长输入 Prefill 下解锁不仅没有提升,甚至还在测量噪声内微跌。Decode 阶段的速度同样在正常抖动范围内,测不出稳定正收益。

本机日常服务快照
#

本机 Strata 0.1.48 在真实请求下的统计也能印证:

指标 解锁窗口 (82 请求) 原厂窗口 (39 请求)
生成 token 总量 60,707 25,163
加权生成速度 (token/s) 126.34 141.14
生成速度中位数 (token/s) 130.6 142.2
加权预填充速度 (token/s) 1775.79 2170.54
前缀复用比例 94.02% 82.87%
MTP 草稿接受率 68.05% 72.58%
真实自然流量里各请求长度与缓存命中率不同,不能当成严格受控的 A/B 组来看。但它至少说明:原厂倍率完全能跑出当前这个水平,解锁并不能带来任何可感知的加速。

哪些场景才能吃满这部分算力
#

解锁既然对量化 MoE 推理不灵,那多出来的 Tensor 算力用在哪里才实在?

  1. 全精度 / 半精度微调与训练 (LoRA / SFT):大量矩阵乘法走 FP16/BF16 输入与 FP32 累加,算力利用率高,直接受益。
  2. 图像与视频扩散模型 (Stable Diffusion / Flux / CogVideoX):去噪网络纯跑高密度浮点 GEMM,且模型整卡常驻,加速立竿见影。
  3. 原生半精度(如 BF16)且 Batch 较大的 Dense 模型推理:算力受限(Compute-bound)而非访存受限(Memory-bound)的场景才能体现优势。

稳定性与数据归档
#

日常使用中曾遇到过一次 Xid 79: GPU has fallen off the bus 掉卡。切回原厂倍率后也复现了一次,确认掉卡跟解锁没有直接因果关系,多半由供电瞬变、驱动或自定义内核(7.3.0-ros2go-btf)引起。目前显卡已切回原厂倍率日常跑着。

后续我整理了一套固定 Prompt 脚本,用于同一前缀与缓存状态下的复测。原始脱敏数据与复算脚本在附件里:

相关文章