Back to blog

PagedWeight: Efficient MoE LLM Serving with Dynamic Quality-Aware Weight Quantization

A runtime memory-management system for MoE LLM serving that dynamically quantizes expert weights at runtime to balance GPU memory between model weights and KV cache, using a quality-aware planner with offline sensitivity, online routing statistics, and prompt residuals.

PagedWeight: Efficient MoE LLM Serving with Dynamic Quality-Aware Weight Quantization

一、论文概述

项目内容
标题PagedWeight: Efficient MoE LLM Serving with Dynamic Quality-Aware Weight Quantization
作者Yuchen Yang, Xuying Han, Anisha Dasgupta, Sasa Misailovic
机构University of Illinois Urbana-Champaign
论文https://arxiv.org/abs/2607.16184
代码未提供
发布23 Jul 2026
许可未明确

二、核心思想

问题定义

MoE(混合专家)模型通过只激活部分专家来降低计算量,但总参数量巨大——MoE 权重可占 GPU 内存的 60% 以上。在 LLM 推理服务中,GPU 内存需要同时存储模型权重和 KV 缓存。KV 缓存随上下文长度增长,而静态量化无法动态平衡权重与 KV 缓存之间的内存分配。

现有方法局限:

  • 静态量化:部署前固定精度,无法适应推理时的 KV 缓存压力变化
  • 运行时精度自适应:已有方法(如 APL、DP-LLM)允许推理时改变精度,但不用于重新分配 GPU 内存
  • MxMoE:使用”fake”量化模拟低精度,实际仍存储高精度张量,内存开销大

解决方案概述

PagedWeight 提出将 MoE 权重视为可分页对象,类似于 PagedAttention 对 KV 缓存的分页管理:

  1. 将 Any-Precision (AP) bit-plane 和 LUT buffer 作为 GPU resident pages
  2. 根据当前 KV 缓存压力,动态调整专家权重的 committed bitwidth
  3. 使用质量感知规划器选择损伤最小的量化动作
  4. 异步页面移动隐藏 offload/reload 延迟

在三个 MoE 模型(Qwen1.5-MoE-A2.7B、Mixtral-8×7B、Gemma-4-26B-A4B)上,PagedWeight 实现了 FP16 等效精度 + 72% GPU 内存节省 + 1.94× 吞吐提升。

系统概览

三、技术架构

整体框架

┌─────────────────────────────────────────────────────┐
│                  PagedWeight Runtime                 │
│                                                      │
│  ┌──────────────────┐    ┌──────────────────────┐   │
│  │ Quality-Aware    │    │ Asynchronous Page    │   │
│  │ Runtime Planner  │───▶│ Movement Pipeline    │   │
│  │                  │    │                      │   │
│  │ • Offline Sens.  │    │ Offload: lower q_i   │   │
│  │ • Routing Stats  │    │   → copy to CPU      │   │
│  │ • Prompt Resid.  │    │ Reload: copy to GPU  │   │
│  └──────────────────┘    │   → commit higher q_i│   │
│         │                └──────────────────────┘   │
│         ▼                              ▼            │
│  ┌──────────────────────────────────────────────┐   │
│  │  Fused Mixed-Precision MoE Kernel            │   │
│  │  (reads AP bit-planes + LUTs directly)       │   │
│  └──────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────┘

核心公式

专家路由质量(公式 1):

mℓ,e=∑t∑krℓ,t,k1{zℓ,t,k=e}∑t∑krℓ,t,k(1)m_{\ell,e}=\frac{\sum_{t}\sum_{k}r_{\ell,t,k}\mathbf{1}\{z_{\ell,t,k}=e\}}{\sum_{t}\sum_{k}r_{\ell,t,k}} \tag{1}

其中 rℓ,t,kr_{\ell,t,k} 是路由权重,zℓ,t,kz_{\ell,t,k} 是选中的专家。如图 2 所示,不同专家的路由质量差异显著。

Hessian 敏感度(公式 2):

sib=∑jhi,j(Wi,j−Wi,jb)2(2)s_{i}^{b}=\sum_{j}h_{i,j}\left(W_{i,j}-W_{i,j}^{b}\right)^{2} \tag{2}

其中 hi,jh_{i,j} 是 Hessian 导出的重要性分数,Wi,jbW_{i,j}^b 是 bb-bit 量化版本。

释放内存(公式 3):

Δib→b′=Mib−Mib′b′<b(3)\Delta_{i}^{b\to b^{\prime}}=M_{i}^{b}-M_{i}^{b^{\prime}}\qquad b^{\prime}<b \tag{3}

其中 MibM_i^b 包含 AP bit-plane 和 LUT 的总内存。

全局损伤(公式 4):

gib→b′=max⁡{sib′−sib,0}b′<b(4)g_{i}^{b\to b^{\prime}}=\max\{s_{i}^{b^{\prime}}-s_{i}^{b},0\}\qquad b^{\prime}<b \tag{4}

Prompt 残差预测(公式 5):

ρ^ib→b′=(wub→b′)⊤ϕi+aub→b′.(5)\widehat{\rho}_{i}^{b\to b^{\prime}}=(w_{u}^{b\to b^{\prime}})^{\top}\phi_{i}+a_{u}^{b\to b^{\prime}}. \tag{5}

其中 ϕi\phi_i 是三维路由输入特征向量:路由加权均值输入范数、路由加权 RMS 输入范数、最大输入范数。

Prompt 调整因子(公式 6):

ηib→b′=exp⁡ ⁣(αcub→b′clip⁡ ⁣(ρ^ib→b′,ρmin⁡,ρmax⁡)).(6)\eta_{i}^{b\to b^{\prime}}=\exp\!\left(\alpha c_{u}^{b\to b^{\prime}}\operatorname{clip}\!\left(\widehat{\rho}_{i}^{b\to b^{\prime}},\rho_{\min},\rho_{\max}\right)\right). \tag{6}

KV 缓存压力(公式 7):

D=max⁡{0,Tblk+1−Fblk} BKV(7)D=\max\{0,T_{\mathrm{blk}}+1-F_{\mathrm{blk}}\}\,B_{\mathrm{KV}} \tag{7}

其中 TblkT_{\mathrm{blk}} 是空闲 block 阈值,FblkF_{\mathrm{blk}} 是当前空闲 block 数,BKVB_{\mathrm{KV}} 是每个 KV block 的字节数。

预测损伤(公式 8):

d^ib→b′=max⁡{ϵ,μβi gib→b′ηib→b′}(8)\widehat{d}_{i}^{b\to b^{\prime}}=\max\{\epsilon,\mu_{\beta_{i}}\,g_{i}^{b\to b^{\prime}}\eta_{i}^{b\to b^{\prime}}\} \tag{8}

其中 μβi\mu_{\beta_i} 是路由桶的损伤乘数。

权重页面表

每个 linear-block i=(ℓ,e,u)i = (\ell, e, u) 在页面表中占一行:

字段说明
Bi\mathcal{B}_i支持的 bitwidth 集合
qiq_i当前 committed bitwidth(推理中使用)
did_i期望 bitwidth(规划器选择)
LUT state每个 bit-plane 的状态(GPU/CPU/transferring)
MibM_i^b每精度的 GPU 内存大小表

质量感知规划器(Algorithm 1)

PlanStep(𝒯_t, 𝒪_t, Ω_off, Q_t):
  D_t ← TargetBytesFromKVPressure(𝒪_t)     // 计算目标释放字节
  for each s ∈ BitwidthFloorStages(Ω_off) do
    ℛ_s ← ScoreActions(𝒯_t, 𝒪_t, Ω_off, s) // 评分所有候选动作
    Π_s ← GreedySelect(ℛ_s, D_t)           // 贪心选择最低损伤动作
    Q_{t+1} ← RefreshPlanQueue(Q_{t+1}, Π_s) // 更新计划队列
  end for
  if PressureTriggered(𝒪_t) then
    Π_t ← SelectBestPlan(Q_{t+1}, D_t)     // 选择最佳计划执行
  end if
  return (Q_{t+1}, Π_t)

规划器按 d^/Δ\widehat{d}/\Delta(每释放字节的预测损伤)排序,贪心选择最便宜的步骤直到满足目标 DD。

异步页面移动

  • Offload:先降低 committed bitwidth qiq_i → 将不需要的 pages 从 GPU 移到 CPU → 释放 allocator headroom 供 KV blocks 使用
  • Reload:先将 pages 从 CPU 移回 GPU → 确认 page state 为 GPU-resident → 再提高 qiq_i

融合 Mixed-Precision MoE Kernel

单一 fused CUDA kernel 完成 routing、expert activation、down projection 和 output accumulation,直接读取 AP bit-planes 和 LUTs,支持 per-linear-block 不同 bitwidth。

四、核心创新

创新点说明依据
Weight Page Table首次将 MoE 权重视为可分页对象,类比 PagedAttention§3.1, Fig. 3
三元质量估计离线敏感度 + 在线路由统计 + prompt 残差联合估计量化损伤§3.2, Eq. 4-8
Routing-aware 保护按路由质量将专家分桶,热专家获得更高 bitwidth floor 和损伤乘数§3.2, Fig. 2
Prompt residual针对当前输入的线性回归校正,捕获同一量化对不同 prompt 的差异化影响Eq. 5-6
异步页面移动offload/reload 与服务重叠,commit 仅在安全边界进行§3.3, Fig. 4
融合 mixed-precision kernel单一 CUDA kernel 支持 per-block 不同精度§3.3

五、代码实现分析

实现栈:PyTorch + vLLM v0.20.1 + 自定义 fused CUDA kernel

关键实现组件:

  • Any-Precision (AP) bit-plane 格式存储多精度权重
  • 融合 mixed-precision MoE CUDA kernel:routing → expert activation → down projection → output accumulation 单 kernel
  • 异步页面移动 pipeline:planner 持续准备计划,达到 threshold 后执行
  • Weight page table:每 linear-block 一行,记录 qiq_i, did_i, page states, MibM_i^b

校准流程:

  1. 在 C4 校准集上计算每 linear-block 的 Hessian 敏感度表
  2. 训练 prompt residual 线性回归 head(每个 bitwidth transition 一个 head)
  3. 搜索路由桶、桶乘数、depth caps 等超参数

六、实验结果

基准测试

评估模型:

模型参数ExpertsTop-K
Qwen1.5-MoE-A2.7B14.3B / 26.7GB60+4 shared4
Mixtral-8×7B-v0.146.7B / 92.9GB82
Gemma-4-26B-A4B25.2B / 53.1GB128+1 shared8

数据集:Wikitext2, C4(perplexity);GSM8K, MATH-500(reasoning);LongBench(Passage Retrieval, NarrativeQA, QMSum)

基线:FP16, APL(uniform quantization), MxMoE(static MPQ), DP-LLM(dynamic MPQ)

Figure 5 — 质量-内存权衡:

  • PagedWeight 在所有三个模型和四个任务上始终优于所有基线
  • 在 Wikitext2/C4 上,PagedWeight 以更低的内存消耗达到接近 FP16 的质量
  • Qwen1.5-MoE-A2.7B 上:16 GB 达到 near-FP16 质量(APL 需要更多内存)
  • Mixtral-8×7B 上:35 GB 达到 near-FP16 质量
  • Gemma-4-26B 上:22 GB 达到 near-FP16 质量

Table 2 — 长上下文质量(LongBench):

方法内存 (GB)Passage RetrievalNarrativeQAQMSumAverage
FP1635.2515.5%11.9%23.5%17.0%
APL-6bit14.9715.5%12.0%23.5%17.0%
APL-5bit12.9213.0%9.7%23.4%15.4%
APL-3bit9.4010.5%4.9%21.1%12.2%
PW-10GB9.8617.5%10.0%23.6%17.0%
PW-13GB12.7915.0%11.2%23.4%16.5%

关键发现:10 GB 预算下 PagedWeight 达到与 FP16 (35.25 GB) 相同的 17.0% 平均分,而 APL 在 9.4 GB 仅达 12.2%。

吞吐量(Table 3,Qwen1.5-MoE-A2.7B,seq_len=2048)

方法B=1 Mem.(GB)B=1 TPSB=4 Mem.(GB)B=4 TPS
FP1627.0467.128.17258.0
APL (3.25-bit)7.63134.58.75429.9
APL (4.5-bit)9.29123.510.41413.8
APL (6-bit)13.44123.114.56401.9
PagedWeight7.63130.18.73419.4
PagedWeight13.34120.114.55385.4

PagedWeight 以相似/更低内存匹配 uniform APL 的吞吐量,最大吞吐下降仅 3.3% (B=1) 和 4.1% (B=4)。

消融实验(Table 4)

配置Wikitext2 PPLC4 PPL
PagedWeight (full)7.2210.06
w/o routing statistics7.2610.13
w/o prompt residual7.3110.19
w/o page movement7.4310.33
w/o global sensitivity7.4610.40

各组件贡献:prompt residual 贡献最大(7.22→7.31),其次是 page movement(7.31→7.43)。

七、相关工作

工作方法局限
PagedAttention (vLLM)KV cache 分页管理不管理权重内存
APLAny-Precision uniform quantization静态精度策略
DP-LLMDynamic precision adaptation需保持高精度张量,实际内存大
MxMoEStatic mixed-precisionfake quantization,实际内存远超理论
DPQ (Chu et al.)Dynamic expert quantization非 runtime 动态
PagedWeight (本文)Runtime weight paging + quality-aware planning动态平衡 weight/KV 内存

八、总结

核心贡献

  1. PagedWeight 系统:首次将 MoE 权重视为可分页对象,动态调整 committed bitwidth 平衡权重与 KV 缓存内存
  2. 质量感知运行时规划器:结合离线 Hessian 敏感度、在线路由统计和 prompt 残差的三元估计
  3. 异步页面移动:隐藏 offload/reload 延迟,commit 仅在安全边界进行
  4. 融合 mixed-precision MoE kernel:支持 per-block 不同精度的单一 CUDA kernel
  5. 全面实验验证:三个 MoE 模型上 consistently 优于 APL、DP-LLM、MxMoE,FP16 等效精度 + 72% 内存节省 + 1.94× 吞吐

技术影响

将 MoE 推理服务的内存管理从静态量化推向动态权衡,开辟了任务精度、计算时间和 GPU 内存分配之间新的优化空间。

局限性

  • 当前仅评估了特定量化格式和敏感度指标
  • 未评估极端长上下文(>32K)下的效果
  • 未来需要扩展到更多量化格式和 prompt-wise 敏感性估计方法

九、参考资源