news 2026/10/10 1:19:32

int4-g32+warm 裸量化:原理与实验报告

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
int4-g32+warm 裸量化:原理与实验报告

零校准 · 零修正 · 3.8x 压缩 · QA 75.3% —— 全项目性价比最高的可部署配置

模型: MiniCPM5-2B (32层) |硬件: RTX 2070 8GB
定位: 本报告是该配置的独立完整文档, 汲取自《量化函数族探索_完整报告.md》
与《多参数量化扩展_实验与原理报告.md》两份前报告的结论, 并含最新的归因实验。
日期: 2026-10


0. 一页结论

指标数值
位宽int4 (4 bit/权重)
组宽32 (沿输入维)
校准数据不需要
修正层不需要
存储4.25 位/权重 →3.76x 压缩
全模型 QA (8题)75.3%(6/8 题 >70%)
参照int8-RTN 94.8% @ 2.0x; int4-RTN 0% (崩溃)

一句话: 纯权重离线操作 (每矩阵一次 112 候选网格搜索 + 25 轮 1D k-means),
无任何运行时开销、无校准集依赖、无辅助结构, 把 int4 从"模型崩溃"(0%)
救到"实用可用"(75.3%)。


1. 原理

1.1 设计哲学

RTN 的问题不是"格太粗", 而是一个全局尺度无法匹配所有局部分布。
本方法把权重矩阵沿输入维切成 32 宽的小组,每组独立回答三个问题:

  1. 我的分布像什么形状? (变换族选择)
  2. 压缩到什么程度最自然? (形状参数 b)
  3. 给定形状后, 8 个重建级别放哪最优? (Lloyd 精修)

1.2 变换族 (候选集, 112 个)

有界有理族(2 参数, 105 候选):

f(w) = c·w / (b + |w|^β) b = b_rel × 组内max|w| ← 尺度无关参数化 b_rel ∈ logspace(-3, 2, 15) β ∈ {0.50, 0.55, 0.65, 0.75, 0.85, 0.95, 1.00} ← β≤1 保单调 逆 (β=1): w = fd·b/(1−fd); β<1: 不动点迭代 w ← fd·b + fd·w^β

tanh 族(1 参数, 7 候选):

f(w) = tanh(w/b), b_rel ∈ {0.25, 0.4, 0.6, 0.85, 1.2, 1.8, 3.0} 逆: w = b·atanh(fd)

族内最优 = β=1 有界版 (数学推导见前报告 §1: β<1 无界、β>1 折叠);
但逐组在 β<1 与 tanh 中仍有真实收益——每个组的局部分布不同。

1.3 量化流程 (每组独立)

输入: 组内 32 个权重 |w| (符号单独存 1 bit) ① 形状选择: 112 个候选各做一次 f 空间 8 级均匀量化 → 重建 → 组内权重 MSE → argmin 选出最优 (形状, b, β) ② 级别提取: 最优解的 8 个重建值 = 初始码本 c⁰ ③ Lloyd 精修 (25 轮, 收敛远早于此): 分配: 每权重 → 最近级别 更新: 级别 = 成员均值 (1D k-means) 单调性: 权重 MSE 每轮不增 → 结果 ≥ 初值质量 (数学保证) ④ 重建: |w̃| = 最近级别; w̃ = sign·|w̃|

1.4 三个关键设计决策的依据

决策 1: 为什么参数化解做 Lloyd 初值, 而不是 Lloyd 冷启动?
实测: 冷启动 (分位数初值) 0.0793,输给纯参数化 (0.0658);
warm start 0.0434, 必赢参数化 (k-means 单调保证)。
→ 参数化变换族 = Lloyd 的优质先验, 两者是共生关系不是竞争关系。

决策 2: 为什么组宽 32?
组宽曲线 (单层误差): g128 0.0658 → g64 0.0520 → g32 0.0434。
组越小, 局部分布越纯, 形状匹配越精确。g32 时参数开销仅
8 bit/32 权重 = 0.25 bit/权重 (总 4.25 bit → 3.76x), 继续减小组
(g16 0.0325) 存储涨到 4.5 bit 而全模型 QA 反而下降 (76.2% < 75.3% 的
同 r16 对照 80.1% 的对应裸版), 性价比拐点在 g32。

决策 3: 为什么不需要校准数据?
量化全程只看权重本身。校准的价值在于按激活重要性 E[x_j²] 分配精度,
但实测其对角代理只修复 q_proj 类模块 (0.019→0.0078), 对 o_proj/down_proj
几乎无效 (0.030→0.030)——重要性信息的一阶近似性价比不足以抵消校准依赖。
裸量化靠"小误差处处弥散"存活: 每组误差都被 Lloyd 压到该组分布的
局部最优, 没有系统性偏向, 32 层累计后仍可用 (75.3%)。


2. 存储格式

每权重: 4 bit = 3 bit 级别索引 (0..7, 幅度) + 1 bit 符号 每组: ~8 bit = 形状族 (1) + b_rel 索引 (4, 15 选 1) + β 索引 (3, 7 选 1) 合计: 4 + 8/32 = 4.25 bit/权重 → 16/4.25 = 3.76x 压缩

推理时反量化: 按组查 (级别表, 符号) → 稠密 fp16 权重 (或融合进 kernel)。
无运行时额外矩阵乘、无缩放钩子、无跨层折叠。


3. 实验

3.1 单层误差演进 (int4, q_proj, 6144 激活)

步骤误差vs RTN
RTN int40.1069—
逐组参数化 g1280.0658-38.4%
+ Lloyd warm0.0582-45.6%
组宽 g320.0434-59.4%

3.2 全模型 QA 归因 (8 题, 与 fp16 基线比相似度)

配置QA归因
int4 g128 裸 (旧)51.1%基线
int4 g32+warm 裸75.3%量化器升级 +24.2 ★
int4 g32+warm + r16 修正80.1%修正层仅 +4.8

归因结论: 端到端质量的主力是量化器本身 (+24.2 点), 修正层是
可选项 (+4.8 点, 代价=校准依赖+6% 存储+复杂度)。
裸量化 75.3% 已超过旧版带修正管线 (g128+r16 = 66.3%)。

3.3 裸量化逐题明细

#问题裸 g32+warm+r16
0用一句话介绍长城。100.0% ✓61%
1中国的四大发明是什么?89.6% ✓92%
2Explain photosynthesis92.5% ✓92%
3Python 最大公约数函数24.9% ✗100%
49.11 和 9.9 哪个大82.8% ✓89%
5天空为什么是蓝色26.1% ✗19%
6Capital of France100.0% ✓100%
7秋天五言绝句86.5% ✓86%
平均75.3%80.1%

弱项集中在代码生成 (Q3) 与因果解释 (Q5)——与 int4 信息丢失的一致模式。
单题双向摆动大 (Q0/Q3), 8 题均值噪声约 ±4 点, 结论以均值为准。


4. 诚实边界

  1. QA 样本小: 8 题是快速迭代用的探针, ±4 点噪声; 定稿前应换
    100+ 题标准集 (C-Eval / MMLU 子集) 复核 75.3% 这个数。
  2. 弱项模式: 推理/代码类问题降级明显; 若业务以这类为主, 建议 +r16
    (80.1%) 或升 int5 (预期 ~85%)。
  3. 重要性失配的残余风险: 无校准意味着精度分配不知道激活离群列。
    裸量化的 75.3% 是端到端实测 (含此风险), 但换模型/换领域后需重测。
  4. 与缓存评估教训的关系: 本报告所有 QA 数字都来自真实生成对比,
    不是单层代理——经历过"缓存评估虚高 5~17 倍"的证伪事件后,
    只有端到端数字作数。

5. 部署指南

5.1 量化 (离线, 每矩阵一次)

for每个权重矩阵 W(out×in):for每组 g(沿in,宽32):Gf=|W[:,g]|;gmax=Gf.max()for(形状,b_rel,β)in112候选:b=b_rel*gmax f=变换(Gf)# rat 或 tanhq=round(f/fmax*7).clamp(0,7)# 8 级wr=逆变换(q/7*fmax)mse=mean((Gf-wr)²)最优候选的8个重建值 → 码本 c Lloyd25轮(1D k-means)→ 最终码本与分配 存:索引(4bit/权重)+每组参数(8bit)

单矩阵 (2048×2048) 耗时 ~30s (RTX 2070); 全模型 224 矩阵 ~10 分钟。
Python 参考实现:exp_g32_bare_qa.py::quant_g32_warm。

5.2 推理

反量化为稠密权重后走标准 forward; 或写 int4 kernel 时
按组查码本 (码本仅 8 值, 可驻留寄存器/共享内存)。

5.3 配置选择树

要极限质量 → int8-RTN 94.8% @ 2.0x (零校准) 要平衡 (推荐默认) → 本配置 g32+warm 75.3% @ 3.8x (零校准) 质量略优先, 有校准集 → 本配置 + r16 80.1% @ 3.7x 显存极限 → int4-g16 变体 76.2% @ 3.56x (不推荐, 见 §1.4-2)

6. 溯源: 这条路径上的关键实验

实验发现文件
函数族分析β=1 族内最优; 有界性条件(前报告 §1)
逐组参数化 (用户提案)首次 -34.8%, 启发整个方向exp_group_opt.py
Lloyd warm单调保证, 击败冷启动与纯参数化exp_lloyd_warm.py
组宽扫描g32 甜点 (QA 口径)exp_g32_deep.py
A 组件消融erf/多初值/列范数各 <2%, 未进裸版exp_improve_a.py
全模型崩溃→修复ridge+安全阀, int4 首次存活exp_full_int4_ridge.py
裸量化归因量化器 +24.2 / 修正层仅 +4.8exp_g32_bare_qa.py★
QA 证伪事件缓存评估虚高 5~17 倍, 端到端才算数exp_mparam_qa.py

7. 结论

int4-g32+warm 裸量化是整个 40+ 实验探索收敛出的最优性价比部署点:

  • 极简: 112 候选网格 + 25 轮 1D k-means, 每矩阵一次离线
  • 零依赖: 无校准集、无修正层、无运行时开销、无跨层结构
  • 有效: int4 档从 0% (崩溃) 到 75.3%, 压缩 3.76x
  • 可升级: 加 r16 修正 (+4.8) 或升 int5 (预期 ~85%) 都是无缝路径

它的本质是把自由度花在刀刃上: 不追求全局最优变换 (被证明输给
RTN), 不追求非参数最优码本 (被证明输给参数化 warm), 而是让每个
32 权重的小组在 112 个简单形状里选一个最像自己的, 再让 Lloyd 把
最后一滴精度挤出来。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/10 1:16:21

PaddleX 海光 DCU 产线支持指南:基础产线、模型与部署实战

人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG 【免费下载链接】PaddleX All-in-One Development Tool based on PaddlePaddle 项目地址&#xff1a; https://gitcode.com/paddlepaddle/PaddleX 点击查看 免费下载 本文以仓库文档 docs/support_list/pipelines_l…

作者头像 李华
网站建设 2026/10/10 1:15:05

机器学习天气预测作业全流程:数据清洗到随机森林调参实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华