N14 / 41 · Quant Lab

模型量化技术图解
把显存算清楚

拖动位宽看 int4 如何映射浮点权重,再按参数量、上下文与并发拆解 显存估算:权重、KV 缓存、激活预留一目了然。

  • 对称 / 非对称量化图解
  • KV 缓存按结构计算
  • 批量精度对比
  • 超显存告警
预设示例

全部结果为理论估算,不含算子 workspace、内存碎片与 CUDA context;部署请以框架实测与 nvidia-smi 为准。

Memory budget / 显存估算器待计算
权重量化精度

量化映射图解

把一组示例权重映射到整数格点,误差随位宽变化;公式为可复算的标准量化定义。

位宽与误差

4 bit
24816

原始值 / 反量化值

蓝色为原始,橙色为反量化
原始 x量化 q反量化误差

示例值固定为 [-2.3, -1.1, -0.4, 0.2, 0.9, 1.7, 2.8],便于逐档对比;真实量化通常按通道或分组统计 scale,并配合零点与裁剪,误差分布会不同。

精度对比表

每参数字节数与 7B 权重的理论体积,按当前展示的精度口径计算。

精度位宽字节 / 参数7B 权重体积常见用途

批量对比 · 校验 · 转义

每行一条配置:名称, 参数量B, 位宽, 上下文, 并发;结构参数沿用上方预设。

批量配置输入

逗号分隔,最多 40 行

转义与公式

便于写进文档或脚本
计算公式(纯文本 / JSON 转义)

常见问题

围绕 int4、显存估算与量化精度损失整理,数值口径写在页面里。

int4 量化是什么?为什么能省显存?

量化把权重从 16 位浮点(fp16,每个参数 2 字节)映射到 4 位整数(每个参数约 0.5 字节),因此 7B 模型的权重从约 14 GB 降到约 3.5 GB。本页图解用对称量化公式 scale = max(|x|) / (2^(b-1) − 1)、q = clamp(round(x / scale)) 演示映射与误差;实际 GGUF / GPTQ / AWQ 还会做分组与零点优化,数值不会完全一致。

7B 模型需要多少显存?

除权重外还要算 KV 缓存与运行时预留。以 Llama 3 8B 为例(32 层、8 个 KV 头、head_dim 128、KV 用 fp16),每个 token 的 KV 约为 2 × 32 × 8 × 128 × 2 = 131072 字节,即 128 KB;4096 上下文单并发约 0.5 GB,8 并发约 4 GB。本页按「参数量 × 位宽 / 8 + KV + 预留」估算,默认预设的结构参数请与模型 config.json 核对。

int8 和 int4 区别在哪里?

位宽从 8 降到 4,权重体积再减半,但可表示的离散取值从 256 个变成 16 个,量化误差明显增大,长文本推理与小模型上更容易出现质量下降。本页「精度对比表」列出 fp32、fp16、bf16、int8、int4、int3、int2 的每参数字节数与 7B 权重体积,图解区可拖动位宽滑杆直接比较误差。

显存估算为什么和实测不一样?

本页是理论估算:权重按参数量与位宽线性计算,KV 缓存按层数、KV 头数、head_dim、上下文与并发计算,激活与运行时用经验预留。实际框架还会受算子workspace、内存碎片、CUDA context、KV 缓存量化、PagedAttention 与批处理调度影响。请以 nvidia-smi 实测为准,部署时留出余量。

量化精度损失能提前看出来吗?

本页图解展示的是示例数值的映射误差(最大绝对误差、均方误差),它说明位宽与误差的关系,不能预测某个模型在具体任务上的表现。评估精度损失应跑困惑度与业务评测集;页面内所有数值均标注为估算,不替代实测。

👣 做完这一步,顺便看看
🧰 乱码修复 / 文本编码转换 在线乱码修复工具:上传乱码文本文件或粘贴乱码字符串,用 UT… → 💻 假装工作模拟器 老板走近工位的一瞬间,点一下就能从摸鱼切回正经工作界面。代码… → 🧰 IP / 子网掩码计算器 在线子网计算器:输入 IP 地址与掩码(CIDR 前缀或点分… → ⏰ 下班倒计时 打工人专属下班计算器:实时倒计时距离下班还有多久、进度环显示… →
全部工具 →