RAMP: Reinforcement Adaptive Mixed-Precision Quantization for Efficient On-Device LLM Inference
论文笔记:RAMP: Reinforcement Adaptive Mixed-Precision Quantization for Efficient On-Device LLM Inference
元信息
| 项目 | 内容 |
|---|---|
| 机构 | 未明确注明 |
| 日期 | March 2026 |
| 项目主页 | 无 |
| 对比基线 | GPTQ, AWQ, SmoothQuant, Quip# |
| 链接 | arXiv |
一句话总结
用 Soft Actor-Critic 强化学习自动搜索 LLM 逐层混合精度量化策略,实现跨模型零样本迁移。
核心贡献
RL 驱动的混合精度搜索: 用 SAC 在 11 维层级嵌入空间上学习逐层 bit-width 分配策略,约 150 个 episode 即可收敛
Scale Folding 技术: 将激活异常值迁移到权重中,实现稳定的 sub-4-bit 后训练量化,无需定制 kernel
零样本跨模型迁移: 在 Llama-2-7B 上训练的策略直接迁移到 Llama-2-13B、Mistral-7B 等模型,性能甚至优于直接训练
问题背景
要解决的问题
LLM 的”内存墙”问题:如 Llama-2-13B 在 FP16 下需要 ~26 GB,超出消费级 GPU 显存
如何在压缩模型体积的同时最小化质量损失
现有方法的局限
统一 bit 分配(GPTQ, AWQ)忽略了不同层的灵敏度差异
缺乏迁移性:现有方法需要对每个模型重新优化
硬件碎片化:混合精度推理因 kernel 碎片化导致比统一量化更慢
本文的动机
不同层对量化的敏感度差异显著(如输出投影层 vs. MLP 中间层),应该分配不同的精度
通过归一化的层级嵌入实现跨模型的近似尺度不变性(嵌入相关系数 )
方法详解
整体框架
RAMP 采用三阶段 pipeline:
- Stage 1: SAC 智能体在分布式多 GPU 环境中搜索最优混合精度策略
- Stage 2: 通过 Scale Folding 进行无 kernel 编译
- Stage 3: 逐层量化并导出 GGUF 格式用于部署
核心模块
模块1: 状态表示(11 维层级嵌入)
设计动机: 通过紧凑的特征向量捕获每层的量化敏感度,实现跨模型迁移
具体实现:
- 激活特征(2 维): 最大幅度 、重要性分数
- 权重统计(2 维): 均值 、标准差
- 结构描述符(4 维): 归一化深度 、输入/输出维度对数、层类型标量
- 上下文特征(3 维): 前一层 bit-width、运行均值 bit-width、位置桶
模块2: SAC 强化学习
设计动机: Soft Actor-Critic 的 off-policy 特性提供了优于 on-policy 方法(如 PPO)的样本效率
具体实现:
- Actor 网络: MLP (512-512-256) + LayerNorm,输出高斯分布映射到离散 bit-width
- Twin Q-networks: 缓解过估计偏差
- 熵正则化: 自动温度调节,目标熵
- 训练约 150 个 episode 收敛,仅需 6 GPU 小时(PPO 需 48 小时)
模块3: 奖励设计
质量分量: 非对称 Perplexity 惩罚
- 优于 FP16 基线时给予奖励
- 退化 vs. 改善的惩罚比为 2:1
预算惩罚: 三区约束(cliff constraint)
- : 无惩罚
- : 线性惩罚
- : 二次惩罚
模块4: Scale Folding
设计动机: 将激活异常值迁移到权重中,使 sub-4-bit 量化更稳定
具体实现:
- 计算投影层的激活缩放向量
- 按均值归一化
- 通过逐元素乘法将缩放因子折叠到权重中
- 用逆缩放补偿 RMSNorm 层
- 改善 PPL(5.58 → 5.54)并稳定收敛
模块5: HALO 硬件感知部署
将学习到的 bit 分配映射到标准化 GGUF 量化类型
单个 GGUF 文件可在 CPU、GPU、Apple Silicon、边缘设备上通过 llama.cpp 运行
关键公式
公式1: 仿射量化
含义: 将浮点权重映射到 -bit 整数并反量化
符号说明:
- : 缩放因子
- : 零点
- : bit 宽度
公式2: Hessian 感知重构
含义: GPTQ 通过 Hessian 矩阵加权最小化量化误差
符号说明:
- : Hessian 矩阵
- : 量化后权重
公式3: 通道缩放
含义: AWQ 通过通道级缩放等价变换保护显著通道
符号说明:
- : 缩放向量
- : 逐元素乘法
公式4: 随机正交旋转
含义: QUIP# 通过随机正交矩阵旋转权重使其更均匀
符号说明:
- : 随机正交矩阵
公式5: HAWQ Hessian 引导分配
含义: HAWQ 用 Hessian 迹的对数决定每层 bit-width
符号说明:
- : 平均目标 bit
- : 第 层 Hessian 迹
公式6: SAC 熵正则化目标
含义: SAC 最大化 Q 值与策略熵的加权和
符号说明:
- : 温度参数(自动调节)
- : 策略熵
公式7: Perplexity
含义: 语言模型质量的核心评估指标
符号说明:
- : token 数
- : 模型预测概率
公式8: 混合精度量化优化问题
含义: 在平均 bit 预算约束下最小化量化模型的 PPL
符号说明:
- : 总层数
- : 最大平均 bit 预算
公式9: 逐层量化
含义: 对第 层权重按分配的 bit-width 和缩放因子进行量化
公式10: 逐组仿射量化
含义: 组大小为 128 的分组量化,GGUF 兼容
符号说明:
- : 组索引
- : 第 层第 组的缩放因子
- : 零点
公式11: 11 维状态向量
含义: 每层的紧凑特征表示,用于策略决策
公式12: 尺度不变性
含义: 不同模型同类层的归一化激活统计近似相等,这是零样本迁移的基础
公式13: 状态标准化
含义: 对状态向量进行标准化以稳定训练
公式14: Actor 高斯策略
含义: 策略网络输出高斯分布用于连续动作空间探索
公式15: Twin Q-network
含义: 双 Q 网络取最小值缓解过估计偏差
公式16: 最优策略
含义: 熵正则化下的最优策略
公式17: 温度自动调节
含义: 自动调节温度参数 使策略熵逼近目标熵
公式18: Q-learning 目标
含义: TD 目标,使用目标网络和策略采样
符号说明:
- : 终止标志
- : 目标网络参数(Polyak 平均)
公式19: 质量奖励
含义: 非对称惩罚——退化的惩罚力度是改善奖励的 2 倍(5.0 vs 10.0 的系数比)
公式20: Bit 预算惩罚(cliff 约束)
含义: 三区约束——允许区、线性协商区、二次惩罚区
公式21: 复合终端奖励
含义: 质量优先 + 预算约束的加权终端奖励
公式22: Scale Folding 量化
含义: 先做 Scale Folding 再量化,稳定 sub-4-bit 精度
公式23: GGUF 类型映射
含义: 将策略输出的离散 bit-width 映射到 GGUF 标准量化类型
关键图表
Figure 1: Overview / RAMP 系统概览
{:width 600}
说明: RAMP 三阶段 pipeline:Stage 1 用 SAC 在分布式多 GPU 设置中发现混合精度策略;Stage 2 通过 Scale Folding 进行无 kernel 编译;Stage 3 逐层量化并导出 GGUF 格式。
Figure 2: Reward Loop / 奖励计算
{:width 600}
说明: 应用策略后,在 Perplexity、内存占用和激活稳定性上评估量化模型,组合成标量奖励信号。
Figure 3: Training Dynamics / 训练动态
{:width 600}
说明: PPL、平均 bit-width、奖励随 episode 的变化。约 150 episode 后收敛,最终 PPL 达 5.54。
Figure 4: Best-so-far PPL / 最佳 PPL 搜索曲线
{:width 600}
说明: 搜索过程中遇到的最佳 PPL 随 episode 单调递减,约 121 episode 后稳定。
Figure 5: Llama-2-7B PPL vs. Size / 性能-体积对比
{:width 600}
说明: RAMP 在 Perplexity vs. 模型大小的二维空间中占据帕累托最优位置,同时比统一 4-bit 基线更小(3.68 GB vs. 3.90 GB)且质量更好(5.54 vs. 5.60)。
Figure 6: Llama-2-7B Bit Allocation / 比特分配
{:width 600}
说明: 224 个可量化线性层的逐层 bit 分配。输出投影层获得最高精度,MLP 中间层被最激进压缩。精度整体从早期层向晚期层递增。
Figure 7: Llama-3-8B PPL vs. Size / Llama-3-8B 对比
{:width 600}
说明: 在 Llama-3-8B 上 RAMP 零样本迁移结果:4.22 GB(比 GPTQ 小 36%,比 AWQ 小 26%),PPL 6.47。
Figure 8: Llama-3-8B Bit Allocation / Llama-3-8B 比特分配
{:width 600}
说明: Llama-3-8B 上的逐层 bit 分配模式与 Llama-2-7B 相似,验证了策略的迁移性。
Figure 9: First & Last 10 Layers / 头尾层比特分配
{:width 600}
说明: 跨模型的前 10 层和后 10 层 bit 分配对比,展示一致的结构化模式:早期层平均 ~3.77 bits,晚期层平均 ~4.52 bits。
Figure 10: Layer-wise Bit Assignments / 逐层比特分配
{:width 600}
说明: 224 个可量化层的深度 vs. bit-width 散点图,清晰展示精度随深度递增的趋势。
Figure 11: Smoothed Bit Trend / 平滑比特趋势
{:width 600}
说明: 平滑后的 bit-width 趋势线,进一步确认从输入到输出的精度递增规律。
Figure 12: Bit-flip Frequency / 比特翻转频率
{:width 600}
说明: 训练过程中每层 bit-width 翻转的频率。早期探索阶段翻转频繁,收敛后趋于稳定。
Figure 13: Transition Matrix / 比特转移概率
{:width 600}
说明: 跨 episode 的 bit-width 转移概率矩阵,展示策略收敛后的稳定分配模式。
Figure 14: Mean Bit per Layer Type / 各层类型平均比特
{:width 600}
说明: 不同层类型(Q/K/V proj, output proj, gate/up/down proj)的平均 bit-width,输出投影层精度最高。
Figure 15: PCA of Layer Embeddings / 层嵌入 PCA 可视化
{:width 600}
说明: 11 维层嵌入的 PCA 降维可视化,按分配的 bit-width 着色,展示嵌入空间中的自然聚类。
Table 1: 模型内存占用与消费级 GPU 可行性
| Model | Parameters | FP16 Size | 24 GB GPU 可行? |
|---|---|---|---|
| Llama-2-7B | 7.0B | 13.5 GB | 勉强 |
| Llama-2-13B | 13.0B | 26.0 GB | 否 |
| Llama-3-8B | 8.0B | 16.1 GB | 否 |
| Mistral-7B | 7.0B | 14.5 GB | 勉强 |
| GPT-3.5 | 175B+ | 350+ GB | 不可能 |
说明: 消费级 GPU 的内存限制凸显量化的必要性
Table 2: RAMP vs. 相关量化方法(Llama-2-7B, WikiText-2 PPL)
| Method | Bit 分配 | 迁移性 | 评估预算 | PPL | 年份 |
|---|---|---|---|---|---|
| RTN-4 | 统一 | — | 单次 | 5.94 | 2018 |
| GPTQ-4 | 统一 | — | 逐层优化 | 5.69 | 2023 |
| AWQ-4 | 统一 | — | 单次 | 5.60 | 2023 |
| SmoothQuant-4 | 统一 | — | 单次 | 5.62 | 2023 |
| QuIP#-4 | 统一 | — | 单次 | 5.62 | 2024 |
| LRQ-4 | 统一 | — | 单次+预条件 | 5.75 | 2025 |
| SqueezeLLM | 混合+稀疏 | — | 逐层 | 5.57 | 2024 |
| RAMP | 混合 | 是 | 200 episodes | 5.54 | 2026 |
说明: RAMP 在所有方法中取得最低 PPL,且是唯一具备跨模型迁移能力的方法
Table 3: RAMP 框架组件与设计选择
| 组件 | 选择 | 理由 |
|---|---|---|
| RL 算法 | SAC (off-policy, continuous) | 样本高效,稳定探索 |
| 状态表示 | 11 维层嵌入 | 抽象灵敏度,跨模型迁移 |
| 动作空间 | 连续标量 → 离散 bit | 平滑探索 |
| 策略网络 | MLP (512-512-256) + LayerNorm | 异构灵敏度容量 |
| Q 网络 | Twin critics + Polyak targets | 缓解过估计 |
| 质量奖励 | 非对称 PPL 终端奖励 | 优先保证基线质量 |
| Bit 惩罚 | 三区 cliff 约束 | 可协商预算执行 |
| Batch Size | 128 | 稀疏奖励下稳定更新 |
| 学习率 | Adam (3×10⁻⁴) | SAC 标准稳定性 |
说明: 各组件经过精心设计以适应量化搜索这一特定任务
Table 4: Scale Folding 消融(Llama-2-7B)
| 配置 | WikiText-2 PPL | Model Size |
|---|---|---|
| 无 Scale Folding | 5.58 | 3.80 GB |
| HALO (with folding) | 5.54 | 3.68 GB |
说明: Scale Folding 同时改善质量(PPL -0.04)和压缩率(-0.12 GB)
Table 5: HALO GGUF 跨平台部署特性
| 平台 | 设备 | 延迟 (ms/token) | PPL | 状态 |
|---|---|---|---|---|
| GPU | RTX 3090 | ~7-10 | 5.54 | 可用 |
| GPU | A100 | ~2-4 | 5.54 | 可用 |
| CPU | Intel Xeon (16-core) | ~30-50 | 5.54 | 可用 |
| Apple Silicon | M1/M2/M3 | ~25-80 | 5.54 | 可用 |
| ARM 边缘 | Raspberry Pi 级 | >>300 | — | 可运行 |
| 移动 SoC | Snapdragon 级 | 依赖厂商 | ~5.5 | 原型 |
说明: 单一 GGUF 文件在所有平台通用,无需定制 kernel
Table 6: 实验模型规格
| Model | Params | Vocab | Hidden | Blocks | Attention |
|---|---|---|---|---|---|
| Llama-2-7B | 6.7B | 32K | 4096 | 32 | MHA |
| Llama-2-13B | 13B | 32K | 5120 | 40 | MHA |
| Llama-3-8B | 8B | 128K | 4096 | 32 | GQA |
| Mistral-7B | 7.2B | 32K | 4096 | 32 | SWA |
| DistilGPT-2 | 0.066B | 50K | 768 | 12 | MHA |
Table 7: 下游任务基准
| Task | 类型 | Metric |
|---|---|---|
| PIQA | 常识推理 | Accuracy |
| HellaSwag | 常识推理 | Accuracy |
| WinoGrande | 常识推理 | Accuracy |
| ARC | 推理 | Accuracy |
Table 8: Llama-2-7B 基线对比
| Method | Type | PPL | Size (GB) |
|---|---|---|---|
| FP16 | 上界 | 5.51 | 13.5 |
| RTN-4 | Naive | 5.94 | 3.90 |
| GPTQ-4 | SOTA | 5.69 | 3.90 |
| AWQ-4 | SOTA | 5.60 | 3.90 |
| QUIP#-4 | SOTA | 5.62 | 3.90 |
| Q4_K_M | 部署 | 5.61 | 3.95 |
| RAMP | Mixed | 5.54 | 3.68 |
说明: RAMP 同时在 PPL 和 Size 上优于所有统一 4-bit 基线
Table 9: SAC 训练超参数
| 参数 | 值 | 说明 |
|---|---|---|
| 学习率 | 3×10⁻⁴ | Actor 和 Critics |
| Batch size | 128 | 稳定性 vs. 效率 |
| Replay buffer | 30,000 | ~120 episodes × 250 steps |
| 折扣因子 γ | 0.99 | 标准 episodic RL |
| 目标更新 τ | 0.005 | 慢跟踪 |
| 梯度裁剪 | 1.0 | 稳定性 |
| 初始熵 | 0.2 | log(0.2) ≈ -1.6 |
| 目标熵 | 自动 | |
| 网络结构 | [512,512,256] (4 layers) | 容量与成本平衡 |
| 激活函数 | ReLU | 快速推理 |
| 归一化 | LayerNorm | 每个隐藏层 |
| Warm-up | 20 episodes | 随机探索 |
| Max episodes | 200-250 | 经验收敛 |
Table 10: 量化配置
| 参数 | 值 | 说明 |
|---|---|---|
| 方法 | 逐组非对称 | 标准 LLM PTQ |
| 组大小 | 128 | GGUF 兼容 |
| Bit 范围 | {3,4,5} | 激进压缩 |
| 目标平均 bits | 4.0 | 压缩目标 |
| 上限 | 4.25 | 奖励强制 |
| 校准数据 | WikiText-2 (128 seq., 2048 tokens) | 高效且有代表性 |
| Scale Folding | 启用 | Sub-4-bit 稳定性 |
Table 11: Scale Folding 配置
| 参数 | 值 | 说明 |
|---|---|---|
| 缩放 | 平滑 | |
| 归一化 | 幅度保持 | |
| 稳定化 | 数值安全 | |
| 范围 | 逐通道 (Q/K/V/O/gate/up) | 细粒度调节 |
| Norm 调整 | RMSNorm RMSNorm / | 等价变换 |
| 校准 | 128 sequences | 复用量化数据 |
Table 12: Llama-2-7B 详细结果
| Method | Size (GB) | PPL | Size vs RAMP | PPL vs RAMP |
|---|---|---|---|---|
| FP16 | 13.5 | 5.51 | +267% | — |
| RTN-4 | 3.90 | 5.94 | +6.0% | +7.2% |
| GPTQ-4 | 3.90 | 5.69 | +6.0% | +2.7% |
| AWQ-4 | 3.90 | 5.60 | +6.0% | +1.1% |
| QUIP#-4 | 3.90 | 5.62 | +6.0% | +1.4% |
| Q4_K_M | 3.95 | 5.61 | +7.3% | +1.3% |
| RAMP | 3.68 | 5.54 | — | — |
关键发现: RAMP 比 AWQ 小 6%,PPL 更低 1.1%
Table 13: Llama-2-13B 结果(零样本迁移)
| Method | Size (GB) | PPL | Size vs RAMP | PPL vs RAMP |
|---|---|---|---|---|
| FP16 | 26.0 | 4.85 | +259% | — |
| GPTQ-4 | 7.68 | 5.02 | +6.1% | +1.4% |
| AWQ-4 | 7.68 | 4.97 | +6.1% | +0.4% |
| Q4_K_M | 7.73 | 4.98 | +6.8% | +0.6% |
| Direct SAC | 7.25 | 4.96 | +0.1% | +0.2% |
| RAMP (zero-shot) | 7.24 | 4.95 | — | — |
关键发现: 零样本迁移(4.95)甚至优于直接训练(4.96),验证了策略的通用性
Table 14: Llama-3-8B 结果
| Method | Size (GB) | PPL | Size vs RAMP | PPL vs RAMP |
|---|---|---|---|---|
| FP16 | 16.1 | 6.23 | +281% | — |
| GPTQ-4 | 5.74 | 8.58 | +36% | +33% |
| AWQ-4 | 5.31 | 6.74 | +26% | +4.2% |
| Q4_K_M | 5.48 | 6.79 | +30% | +5.0% |
| RAMP (zero-shot) | 4.22 | 6.47 | — | — |
关键发现: RAMP 在 Llama-3-8B 上优势最为显著,比 GPTQ 小 36% 且 PPL 低 33%
Table 15: Mistral-7B 结果
| Method | Size (GB) | PPL | Size vs RAMP | PPL vs RAMP |
|---|---|---|---|---|
| FP16 | 14.5 | 5.45 | +299% | — |
| GPTQ-4 | 3.85 | 5.71 | +6.1% | +2.7% |
| AWQ-4 | 3.85 | 5.59 | +6.1% | +0.5% |
| Q4_K_M | 3.90 | 5.60 | +7.4% | +0.7% |
| Direct SAC | 3.62 | 5.58 | -0.3% | +0.4% |
| RAMP (zero-shot) | 3.63 | 5.56 | — | — |
关键发现: 零样本迁移(5.56)同样优于直接训练(5.58)
Table 16: 零样本迁移汇总
| 目标模型 | Direct PPL | Direct Bits | Zero-shot PPL | Zero-shot Bits | 胜者 |
|---|---|---|---|---|---|
| Llama-2-13B | 4.96 | 3.66 | 4.95 | 3.66 | Zero-shot |
| Mistral-7B | 5.58 | 3.67 | 5.56 | 3.67 | Zero-shot |
说明: 两个模型上零样本迁移均优于直接训练,可能因为源模型训练更充分
Table 17: 下游常识推理性能(Llama-2-7B)
| Method | PIQA | HellaSwag | WinoGrande | ARC | Avg |
|---|---|---|---|---|---|
| FP16 | 79.4% | 58.2% | 64.0% | 53.9% | 63.9% |
| AWQ-4 | 78.8% | 57.1% | 62.3% | 52.4% | 62.7% |
| Q4_K_M | 78.6% | 56.9% | 62.1% | 52.1% | 62.4% |
| RAMP | 79.2% | 57.9% | 63.7% | 53.6% | 63.6% |
| 保留率 vs. FP16 | 99.7% | 99.5% | 99.5% | 99.4% | 99.5% |
关键发现: RAMP 保留 FP16 性能的 99.5%,在所有任务上超过统一 4-bit 基线
Table 18: 嵌入稳定性(Pearson 相关)
| 层角色 | Llama-2-7B | Llama-2-13B | Mistral-7B | 相关系数 |
|---|---|---|---|---|
| Embedding layer | (0.87, 0.34, 0.12, …) | (0.91, 0.36, 0.13, …) | (0.85, 0.32, 0.11, …) | r = 0.94 |
| Attention o_proj | (3.12, 0.18, 0.08, …) | (3.15, 0.19, 0.09, …) | (3.08, 0.17, 0.07, …) | r = 0.96 |
| MLP down_proj | (2.87, 0.22, 0.11, …) | (2.91, 0.23, 0.12, …) | (2.84, 0.21, 0.10, …) | r = 0.95 |
| Output layer | (1.24, 0.41, 0.19, …) | (1.28, 0.42, 0.20, …) | (1.21, 0.40, 0.18, …) | r = 0.93 |
说明: 跨模型嵌入相关系数均 >0.93,验证归一化嵌入的跨模型不变性
Table 19: Scale Folding 消融
| 配置 | 收敛 Episodes | Final PPL | 稳定? |
|---|---|---|---|
| 无 Folding | >250 | 5.58 | 部分 |
| 有 Folding | 150 | 5.54 | 是 |
关键发现: Scale Folding 加速收敛 40%+、降低 PPL、提高稳定性
Table 20: 奖励设计消融
| 奖励 | 收敛 Episodes | Final PPL | Variance |
|---|---|---|---|
| Naive (Acc - λ Bits) | ∞ | >5.75 | 0.35 |
| Linear | 200 | 5.61 | 0.18 |
| Quality-first (asymmetric + cliff) | 150 | 5.54 | 0.05 |
关键发现: Quality-first 奖励收敛快 33%,方差低 7 倍
Table 21: SAC vs. PPO
| Algorithm | GPU Hours | Final PPL | Variance |
|---|---|---|---|
| PPO | 48 | 5.62 | 0.15 |
| SAC | 6 | 5.54 | 0.03 |
关键发现: SAC 效率是 PPO 的 8 倍,方差降低 5 倍
Table 22: HALO vs. 定制 Kernel
| 方案 | 吞吐量 | 通用性/工程量 |
|---|---|---|
| 定制混合精度 Kernel | 最高(硬件特定) | 低(工程量大) |
| HALO / GGUF | 有竞争力 | 高(零定制,广泛硬件) |
Table 23: 年度能耗与碳排放估算(7B 模型,8h/天)
| 部署方式 | 功率 (W) | 年 kWh | CO₂ (kg) | 成本 ($) |
|---|---|---|---|---|
| Cloud A100 | 350 | 2,920 | 1,168 | 292 |
| RTX 3090 FP16 | 250 | 2,088 | 835 | 209 |
| RTX 3090 RAMP | 85 | 711 | 284 | 71 |
| Xeon CPU RAMP | 65 | 546 | 218 | 55 |
| M1 laptop RAMP | 12 | 101 | 40 | 10 |
说明: RAMP 在 RTX 3090 上年碳排放降低 66-75%
Table 24: 11 维层嵌入规格
| 维度 | 特征 | 计算方式 |
|---|---|---|
| 1 | 归一化深度 | |
| 2 | 对数输入维度 | |
| 3 | 对数输出维度 | |
| 4 | 权重标准差 | |
| 5 | 权重均值幅度 | $\min(\mathbb{E}[ |
| 6 | 层类型标量 | 0.0(Q/K/V), 0.25(O), 0.5(gate), 0.6(up), 0.75(down), 1.0(其他) |
| 7 | 位置桶 | 0.0(早期), 0.5(中期), 1.0(晚期) |
| 8 | 均值激活缩放 | |
| 9 | 最大激活缩放 | |
| 10 | 前层 bit-width | 归一化除以 8 |
| 11 | 运行均值 bit-width | 归一化除以 8 |
实验
数据集
| 数据集 | 规模 | 用途 |
|---|---|---|
| Wikitext-2 | 2M tokens | 校准 + PPL 评估 |
| PIQA | 2-choice | 下游评估 |
| HellaSwag | 4-choice | 下游评估 |
| WinoGrande | 2-choice | 下游评估 |
| ARC | Multiple-choice | 下游评估 |
实现细节
RL 算法: SAC,off-policy,连续动作空间
策略网络: MLP (512-512-256) + LayerNorm + ReLU
优化器: Adam, lr = 3×10⁻⁴
Batch Size: 128
Replay Buffer: 30,000 transitions
训练轮数: 200-250 episodes(~150 收敛)
训练时间: ~6 GPU 小时
量化方法: 逐组非对称量化,组大小 128
校准数据: WikiText-2, 128 序列, 2048 tokens
可视化结果
精度分配呈现清晰的结构化模式:早期层低精度(~3.77 bits),晚期层高精度(~4.52 bits)
输出投影层获得最高精度,MLP 中间层(gate/up proj)被最激进压缩
跨模型的嵌入 PCA 显示自然的 bit-width 聚类
批判性思考
优点
实用性强: 通过 GGUF/llama.cpp 实现零工程量跨平台部署
零样本迁移: 在源模型上训练的策略直接迁移到目标模型,无需重训,且结果甚至更好
高效搜索: 仅 6 GPU 小时即可找到高质量混合精度策略,比 PPO 快 8 倍
Scale Folding: 简洁的激活异常值处理技术,同时改善质量和压缩率
局限性
仅在 decoder-only Transformer(Llama、Mistral 家族)上验证,未覆盖 encoder-decoder 或 encoder-only 架构
仅支持离散 bit-width ,不支持更细粒度(如 2-bit)
逐层粒度分配,不支持逐头/逐通道等更细粒度
静态分配,未探索输入自适应量化
潜在改进方向
扩展到 encoder-decoder 架构(如 T5、BART)
支持 2-bit 量化和更细粒度分配(逐头、逐通道)
结合 QAT 进一步提升质量
输入自适应动态精度分配
可复现性评估
- 代码开源(未提供)
- 预训练模型(未提供)
- 训练细节完整(超参数详尽)
- 数据集可获取(WikiText-2 公开)
关联笔记
基于
GPTQ: Hessian 感知量化基线
AWQ: 激活感知通道缩放基线
SmoothQuant: 激活-权重平衡的启发
对比
Quip#: 随机旋转量化方法
SqueezeLLM: 另一种混合精度量化方法
方法相关
混合精度: 核心量化策略
Soft Actor-Critic: 核心 RL 算法
PTQ: 后训练量化范式
Perplexity: 核心评估指标
GGUF: 部署格式
RMSNorm: Scale Folding 涉及的归一化层
llama.cpp: 推理后端
硬件/数据相关
Wikitext-2: 校准和评估数据集
速查卡片
RAMP: Reinforcement Adaptive Mixed-Precision Quantization for Efficient On-Device LLM Inference
- 核心: 用 SAC 强化学习自动搜索 LLM 逐层混合精度量化策略
- 方法: 11 维层嵌入 + SAC + Scale Folding + GGUF 部署
- 结果: Llama-2-7B 上 PPL 5.54 / 3.68 GB,比 AWQ 小 6%、质量更好 1.1%;零样本迁移到 13B/Mistral
- 代码: 未开源
笔记创建时间: 2026-03-19