3比特逼近4比特精度?WARP残差向量量化VQ3R的完整测量实验 3比特逼近4比特精度WARP残差向量量化VQ3R的完整测量实验【免费下载链接】warpRun the full 2.78-trillion-parameter Kimi K3 model, DeepSeek V4.1 Flash or GLM-5.3-Flash beyond available RAM by streaming activated weights directly from NVMe. A dependency-free, embeddable C inference engine.项目地址: https://gitcode.com/gh_mirrors/was/warpWARP 是一个用 C 语言编写、零依赖的本地大模型推理引擎专为 Kimi K3、DeepSeek-V4.1-Flash、GLM-5.3-Flash 这类超大 MoE 模型设计。它的专家权重采用VQ3R 残差向量量化只用3 比特就把量化误差压到4 比特方案的 19.4%基线为 15.2%让 2.78 万亿参数的 K3 装进约 954 GB 的容器、在 64 GB 笔记本上以流式方式跑起来。本文带你完整复盘这组测量实验测了什么、怎么测、为什么 3 比特成立而 2 比特不成立。1 为什么 WARP 非要把专家压到 3 比特MoE 模型里每个 token 只激活约 4% 的参数其余专家躺在 NVMe 盘上按需读取。WARP 的策略是主干trunk常驻内存专家从盘上流式读取剩余内存当有界缓存用。对这种权重住在盘里的引擎来说每个专家的比特数直接决定磁盘体积和每 token 的 I/O。K3 的实测对比见 docs/K3.md比特/权重单条专家记录专家集合体积冷读 I/O每 token2.017.9 MB637 GB11.4 GB3.01VQ3R11.8 MB954 GB17.1 GB4.25原始发布格式16.7 MB1347 GB24.1 GB3 比特方案让 954 GB 的专家集放进 1.7 TB 的内置 SSD同时比 4 比特少读 29% 的盘。但比特数降下来误差会爆炸吗这正是 WARP 团队要回答的核心问题——答案不是拍脑袋而是跑了一整套对照测量。2 VQ3R 是什么残差向量量化三阶段VQ3R 的配方写死在容器格式规范 docs/FORMAT.md 里3 个阶段每个阶段一个256 条目的码本8 比特索引以8 维向量为量化单位而不是单个权重每行一个 FP16 逐通道缩放每阶段索引 1 字节 ÷ 8 维 恰好 3.00 比特/权重它的核心思想是残差接力W ≈ scale × ( C1[i1] C2[i2] C3[i3] )第一阶段码本 C1 先拟合整个向量第二阶段 C2 量化第一阶段剩下的误差第三阶段 C3 再量化第二次剩下的误差。三阶段累加起来逼近原始向量。这套思路的实现分布在两个文件里码本训练与编码tools/convert.py 调用 C 编码器 src/vq.c在转换时用 k-meansLloyd 迭代从 12 个采样专家上拟合每层码本精度实验工具tools/quant_lab.py直接从 safetensors 分片读取真实专家权重在比特预算对齐的前提下对比各方案3 Gate 3 测量实验3 比特到底行不行实验记录在 docs/GATES.mdGate 3全部数据来自真实 Kimi 专家权重。判定标准很硬重建误差若远超已知可用的 int4 水平就加比特或终止。3.1 对照表Kimi-Linear 专家相对 Frobenius 误差方案比特/权重权重相对误差rtn2-g64朴素 2 比特 RTN2.2571.8%彻底崩坏vq22 阶段 VQ2.0133.1%vq3VQ3R3.0019.4%rtn3-g643 比特 RTN3.2525.2%rtn4-rowint4 基线4.0115.2%三个直接结论VQ3R 的 19.4% 逼近 4 比特基线的 15.2%——这就是标题里3 比特逼近 4 比特的出处。多出的约 4 个百分点误差换来的是 25% 更小的磁盘体积VQ 在 4 比特以下完胜 RTN同为 3 比特VQ3R 19.4% 对 RTN 的 25.2%因为 VQ 按 8 维向量联合量化、利用向量内部的相关性而 RTN 逐权重舍入在低比特下丢得更多2 比特不可用vq2 也有 33%超过已知可用 int4 基线一倍以上Gate 3 明确拒绝。完整的推导和表格见 docs/LEARNED.md §3容器格式侧的规格见 docs/FORMAT.md 的 Quantization formats 一节VQ3R 是 fmt4默认专家格式。3.2 在 K3 本尊上复测K3 的专家原生就是 4 比特 MXFP4 格式相当于对已经损失过的权重再压一次误差会不会叠加复测结果docs/K3.md Gate 3 repeated on real K3 experts方案比特w1 误差w2 误差rtn4-row4.0018.35%17.32%rtn3-g643.2526.50%—vq33.0020.27%19.57%4→3 比特只多损失约 2 个百分点——K3 的 QAT 训练让权重天生对低比特更宽容。Gate 3 的结论在 K3 上原样成立。3.3 跨模型验证两个新模型同样通过WARP 后来接入的另外两个大模型也跑了同样的闸门DeepSeek-V4.1-Flash它发布的专家本来就是 fp4WARP 团队没下载全部 510 GB而是用 tools/hf_peek.py 通过 HTTP range 请求只取了190 MB8 个专家交给quant_lab.py。结果 19.95%~20.74%与 K3 几乎无法区分——Gate 8 通过docs/GATES.md。正式转换后往返校验为 19.5%~20.4%docs/DS41.mdGLM-5.3-Flash转换后的 VQ3R 相对误差0.195与 K3 一致README.md GLM 一节。一个方案在三个不同架构、不同发布格式bf16 / MXFP4 / fp4的模型上给出 19.4%~20.7% 的稳定误差这是3 比特成立最有力的证据。4 工程质量闭环从码本到校验测量通过只是第一步VQ3R 还要在工程上闭环码本训练转换时convert.py对每层用 12 个采样专家跑 k-means码本随容器保存在codebooks.bin中常驻内存见 docs/FORMAT.md 文件布局高性能编码src/vq.c 的编码器把 256 个距离全部留在寄存器里、8 KB 码本驻留 L1 缓存单遍完成三阶段只写出获胜索引——torch 实现会写出约 1.4 GB 的临时距离矩阵这里是纯计算密集校验tools/verify_container.py 把容器反量化后与源权重逐记录 diff确认落盘精度与实验室数字一致。5 延伸阅读VQ3R 的兄弟 VQ4P同一份 3.00 比特预算WARP 还提供了VQ4P4 阶段 × 64 条目6 比特打包索引体积与 VQ3R 逐字节相同但 64 条目表刚好是一张 NEONvqtbl4q向量表解码内核比 VQ3R 快3.32 倍代价是码本变小带来的 2.7% perplexityKimi-Linear。VQ3R 仍是默认格式VQ4P 需显式指定docs/FORMAT.md VQ4P record。6 结论3 比特实验的四条要点19.4% 对 15.2%VQ3R 的误差只比 int4 基线高约 4 个百分点3 比特容器依然能正确回答事实性问题是工程可用的操作点2 比特直接出局33% 的误差超过可用线一倍朴素 2 比特 RTN 更是崩到 71.8%VQ 胜过 RTN 靠的是结构8 维向量联合量化 三阶段残差在低比特区间差距被显著放大测量先行WARP 的每个量化决定都挂在 docs/GATES.md 的闸门上负结果2 比特、共享低秩基、逐专家比特分配同样留档在 docs/LEARNED.md可复现、可审计。如果你想动手复现最小路径是make构建引擎后用 tools/quant_lab.py 对自己模型的一层专家跑一遍对照表再按 docs/K3.md 的转换流程生成 VQ3R 容器即可。【免费下载链接】warpRun the full 2.78-trillion-parameter Kimi K3 model, DeepSeek V4.1 Flash or GLM-5.3-Flash beyond available RAM by streaming activated weights directly from NVMe. A dependency-free, embeddable C inference engine.项目地址: https://gitcode.com/gh_mirrors/was/warp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考