*一个研究的故事:从嵌入的几何 — 经由 Google 的 TurboQuant — 到权重与激活的不对称性,以及对模型作为动力系统的意外理解。
- 3 个模型 — SmolLM-135M · Qwen2.5-0.5B · TinyLlama-1.1B — 三种架构,同一模式
- 124 个实验 — 带技术标志;相关性分析“什么真正有效”
- 4.2875 bit/weight — CHMC 与 GPTQ 相等的比特预算——诚实的比较,没有隐藏的加成
- v1 → v6: 4894× → ~1.18× — SmolLM 上 PPL 比率的演化;转折点——是方法论,不是几何学
序章. 那个让人无法安宁的问题
不久前我写了一篇关于嵌入空间几何的文章。主要结论简单且(在我看来)重要:语言模型的表示并非均匀地铺满整个空间,而是聚集在一个狭窄的锥体内。
它们是各向异性的、低维的,其内在维度远小于形式维度。这不仅仅是一个理论构造 — 在多个模型上的测量表明,激活能量的 90% 集中在极小一部分维度中,而向量之间的平均余弦约为 0.75,而非各向同性空间所预期的零。
发表一个月后,Google 发布了 TurboQuant(ICLR 2026)。该方法恰好采用了这些思想 — 锥形几何、各向异性、低内在维度 — 并将它们应用于 KV 缓存和嵌入。结果:6–8 倍压缩且无质量损失。我的理论得到了强有力的工业界确认。
但剩下一个 TurboQuant 没有回答的问题:权重呢?如果几何对激活有效,那么它是否也对模型自身的参数有效?更广泛地说:能否将几何压缩不仅应用于模型产生的数据(激活、嵌入、KV 缓存),还应用于模型本身、它的权重?
这个项目就这样开始了。先说明一点:我并没有试图超越 GPTQ。我的目标是理解几何方法的适用边界在哪里,以及为什么它对激活如此出色地有效、而对权重(结果证明)完全无用。答案比"又一种量化方法"更优美 — 本文正是关于这个答案的。
方法。什么是 CHMC
CHMC — Covariance/Hessian-Aware Manifold Compression. 一句话概括其思想:将每个权重矩阵拆分为两部分——一个低秩部分,用于捕捉激活的"锥体"(数据实际存在的方向),以及一个残差部分,
按照 GPTQ 进行逐列误差补偿量化;每一层的秩被选择为使得总比特预算与 GPTQ 的预算完全一致。这不是"又一个量化器"——而是位于 GPTQ 优化器之上的几何前端。
输入数据与 GPTQ 相同:校准样本(WikiText 的 2048 个 token)以及该样本上每一层的激活 X。其余一切都从权重和这些激活出发,分三步计算。### 步骤 1. 沿锥体的低秩部分
沿输入方向计算阻尼化的激活能量,并在加权范数下做截断 SVD——使误差恰好在大激活处最小:
代码中的步骤 1(v6/chmc_v6.py + v5/stabilizers.py):c — 激活的阻尼对角协方差;svd_lowrank — 带 power 迭代的随机化 SVD(niter=5)。锥体假设正是在这里进入方法:高激活能量方向被更精确地逼近。
步骤 2. 残差——按 GPTQ 的逐列补偿
R = W − W_lr 用与 GPTQ 相同的算法量化:来自校准激活的 Hessian,经 Cholesky 分解求逆,各列按重要性降序处理(act-order);每量化完一列,其误差从剩余列中减去:
代码中的步骤 2(quantize_with_compensation_strict):group_size = 128 — 每组输出通道共用一个 scale;strict_sequential=true 意味着"一次一列,完整的 H⁻¹ 行"——这正是 GPTQ 真正的更新步。
步骤 3. 相等的比特预算
每层存储:低秩部分(U、V 为 FP16)、INT4 残差和组 scale。每个权重的位数被显式计算,而 r_layer 的选取使总 BPW 不超过 4.2875——即 GPTQ 的水平:
代码中的步骤 3(v6/bpw.py):o, i — 层尺寸;b = residual_bits = 4; gs = group_size = 128。CHMC 的 scale 组沿输出通道方向(⌈o/gs⌉·i),GPTQ 沿输入通道方向(o·⌈i/gs⌉)。预算中唯一的自由参数是秩 r。
结果:W_comp = W_lr + R_q。 而与 GPTQ 的主要区别在于:
| GPTQ | CHMC v6 | |
|---|---|---|
| 存储内容 | INT4 索引 + 组 scale | 低秩部分(U、V 为 FP16)+ INT4 残差 + 组 scale |
| 误差最小化 | 通过激活 Hessian 的逐列补偿 | 同一算法(strict_sequential=true——字面上就是 GPTQ 的一步) |
| 校准数据的作用 | 仅 Hessian H = XᵀX/n | Hessian + 低秩部分的加权 SVD(激活能量 c_j) |
| 低秩部分 | 无 | 有:沿锥体的 SVD,每层秩由比特预算决定 |
| 比特预算 | 4.2875 BPW (GPTQModel, 4-bit / group-128) | 恰好 4.2875 BPW——各层秩按此目标水平分配 |
第 1 部分. 锥体假设得到证实——三次
在尝试压缩权重之前,必须先确认原始的几何图景是正确的。我在三个不同规模的模型上做了系列测量:SmolLM-135M、Qwen2.5-0.5B 和 TinyLlama-1.1B。结果如下。
激活生活在狭窄的锥体中。
对每一层,我估计了激活的有效维度——解释 90% 方差所需的主成分数。全网络平均为 576 维中的 9 维†(空间的 1.56%)。同一层内激活之间的平均余弦 ≈ 0.75‡——在等向空间中它应接近零。这是直接证据:表示并不填满空间,而是集中在狭窄的锥体中。
而权重却是满秩的。
对权重矩阵做同样的分析显示了完全不同的图景:权重的最小有效秩为 29–30,中位数约 60§。对于例如 576×576 大小的矩阵,这意味着权重确实是稠密的,没有明显的低秩结构。
因此,锥体是模型自身创建的。
如果激活是窄的而权重是稠密的,那么映射"稠密权重 → 稀疏激活"就是训练本身的性质,而不只是数据的反映。模型自己把稠密信息投影到狭窄的多流形上。后来,借助拓扑分析(持续同调与 3D 投影),我找到了一个漂亮的细化:
锥体是网络中部的瓶颈。在中部块中,最多 98.9% 的方差落在三个主成分上(SmolLM 的峰值位于网络中部;Qwen 和 TinyLlama 从最初的几个块就已达到——图 2)——点云被字面意义上卷成了锥体,
而在输入端和输出端表示又变得弥散(两端为 13–43%)。该模式在三种不同架构上完全一致。几何是真实的,并且由模型在处理过程中创造出来。
SmolLM-135M (d = 576)
Qwen2.5-0.5B (d = 896)
TinyLlama-1.1B (d = 2048)
按块的完整画像。 图 2 和表 2 给出所有块的诚实全貌:"中部"具体在哪里取决于模型,但模式本身(前 1–2 个块之后出现窄锥体、两端更等向)处处成立。
| 模型(维度 d) | pre-token 平均成对余弦,按块范围 | top-3 主成分能量份额:两端 → 峰值 → 衰减 | cos(preᵢ, postᵢ) 逐 token |
|---|---|---|---|
| SmolLM-135M (d = 576) | 0.52 – 0.78 | 15–28% (blk 0–10) → 99.2% (blk 11) → 87% (blk 27);两端:24.7 / 43.4% | ≥ 0.98 |
| Qwen2.5-0.5B (d = 896) | 0.08 – 0.64 | 13–14% (blk 0–1) → 98.5% (blk 3,平台 ~97% 至 blk 13) → 82% (blk 20);最后三个块:17 / 18 / 26% | ≥ 0.98 |
| TinyLlama-1.1B (d = 2048) | 0.13 – 0.38 | 13–14% (blk 0–1) → 98.6% (blk 2),单调衰减至 ~19% (blk 20–21) | ≥ 0.98 |
† 估计"d90 ≈ 576 中的 9"来自此前在句子嵌入层面的研究。对本项目数据中逐 token 的 decoder-块输出,画像更加极端:中部块里单个主成分已解释 ≥90% 的能量(d90 = 1),而两端 d90 达到 ~235。
‡ "平均余弦 ≈ 0.75"——在 SmolLM-135M 上测得(按块范围 0.5–0.8)。Qwen2.5-0.5B 更低(0.08–0.64),TinyLlama-1.1B 还要低(~0.13–0.38):各向异性的强度取决于模型,但"瓶颈"模式在三个模型上都成立。
§ 权重的有效秩——v5 约定(归一化谱的 exp-熵)。上文引用的数字来自此前对另一层子集的研究;在本项目的 TDA 分析中,所有权重矩阵的最小有效秩为 18.7–22.1,中位数依模型为 274–930(附录 B)。
第 2 部分. 从崩溃到平局
于是,激活是锥形的,权重是稠密的。第一个想法:如果模型把数据投影到一个锥体中,那么也许可以利用关于这个锥体的信息来压缩权重。例如,如果大多数激活落在一个低维子空间中,
那么权重在该子空间之外方向上的量化误差应该不那么关键。这就是基本的直觉。
接下来——一系列实验;方法的每个版本都加入了某个想法。以下是简要的时间线:
| 版本 | 加入了什么 | SmolLM, ratio |
|---|---|---|
| v1 | Plain SVD | 4894× 💀 |
| v2 | Adaptive rank | 2.35× |
| v3 | 诚实的比特核算 | 1.84× |
| v4 | Covariance + residual | 1.49× |
| v5 | 7 个稳定器 | ~1.29× |
| v6 | 相等的比特预算 + GPTQ 优化器 | ~1.18× |
第一个版本是一场灾难:不考虑误差结构的朴素 SVD 导致了困惑度的巨大增长。逐步地,通过加入自适应秩选择、正确的比特成本核算、协方差修正和稳定器,我把方法提升到了与 GPTQ 可比的水平。
这条路上的两个转折点都是方法论性质的。
第一:诚实的比特核算
在早期阶段,我兴高采烈地宣称咱们马上就能碾压所有人,但与此同时每个权重我花了 4.5 比特,而 GPTQ 是 4.29——质量上我还是输。只有当我引入了相等比特预算(BPW)下的严格比较后,
之前所有的结论都失效了。原来,没有对预算的诚实核算,任何结果表都是虚构的。这大概是本项目最重要的实践教训。
第二:统计
当某个带 dampening Λ=0.05 的配置给出 PPL 1.1723,而 GPTQ 是 1.1761 时,我差点就宣布胜利了。但另外三次运行显示:均值 — 1.1793,也就是说平均而言我是输的。
那次胜利不过是四次运行中最好的一次。0.007–0.009 的波动是真实的,按单次运行来比较就是占卜。从那以后,每个关键配置我都用不同的种子测 3–4 次,并按均值而不是最佳运行来比较。
数字上的结果(相等预算 4.29 比特/权重):
| 模型 | CHMC(均值) | GPTQ | 结论 |
|---|---|---|---|
| SmolLM-135M | 1.179–1.186 | 1.176 | 平局,在噪声范围内 |
| Qwen2.5-0.5B | 1.174* | 1.141 | 输 |
| TinyLlama-1.1B | 1.059 | 1.081 | 真实胜利(超过 30σ) |
该方法是有竞争力的:在一个模型上它稳定地击败工业界 SOTA,在小型模型上它以 6–11× 的优势超过朴素的标量量化(在 SmolLM 上,scalar_q4 是 16.48×,
而我的方法是 1.42×——预算相当,~4.0–4.2 比特/权重)。但没有几何上的优越性。为什么?
第 3 部分. 几何末日
我尝试了文献和我的理论所提示的所有几何技术:Hadamard 旋转(来自 QuIP#)、Lloyd-Max 量化器、锥体分解、QJL 修正(来自 TurboQuant)。全部失败了:
| 技术 | 预期 | 结果 |
|---|---|---|
| Hadamard 旋转 | −2–5% | 2.23×(差 1.8×) |
| Lloyd-Max | 高斯分布下的最优 | 1.35×(比基线 1.21× 更差) |
| Cone-Aware | 精确保持锥体 | 2.15× |
| QJL 1-bit residual | 节省 3 比特 | PPL 267 228 💀 |
失败背后的数学比失败本身更有教育意义。
QJL 在物理上无法存储权重
它的重构 signs @ Uᵀ 的秩不超过投影数,也就是说它只能表示低秩矩阵。low-rank 近似之后的残差按定义不是低秩的——因此 QJL 原则上无法对它进行编码。理论误差界限 — √(1−1/4) ≈ 87%。这是一个用于估计范数的工具,而不是存储权重的格式。
旋转不改变目标函数,但会改变量化格
我证明了 loss 对权重的正交旋转是不变的(这只不过是换基)。然而,旋转之后权重的分布变得更接近高斯,
而 INT4 量化器——它在各向异性数据上工作得极好——开始工作变差。最关键的是:在原始锥体空间中的 data-adaptive 误差补偿(GPTQ 所做的事)胜过旋转空间中任何分布上的最优性。锥体假设之所以赢过旋转,恰恰是因为它不破坏各向异性。
唯一起作用的杠杆——不是几何
是 dampening(Λ=0.05),也就是对 Hessian 矩阵估计的正则化。当校准数据很少时,估计是有噪声的,而逆矩阵会放大低能量方向上的噪声。
阻尼带来了 −4%——比所有几何技术加起来还多(它们给出的是零或负值)。这是第一个警钟:起作用的不是捕捉几何,而是控制噪声。
整个项目 124 个实验的统计也证实了这一点。我收集了每次运行的标志位——哪些技术被启用、该运行是否击败了 GPTQ——并计算了相关性。结果:唯一与成功正相关的标志是 dampening(+0.40);
所有几何标志(旋转、锥体、Lloyd-Max、QJL)与成功负相关或接近零。几何在一个失败的运行中都没有帮过忙,而是系统性地、在整个实验集合中都没起作用。
甚至改进基础数学也在反噬我。加权 SVD 被认为是一种带 power-迭代 的随机化算法,于是我验证了:更多迭代——更精确的分解——更好的质量?恰恰相反:5 次迭代 — ratio 1.0586,10 — 1.0610,20 — 1.0662。
精确的近似会在校准数据上过拟合;稍微不精确的反而泛化得更好。这又是噪声控制比结构捕捉更重要这一主题上的一笔——也是支持诚实统计的又一个论据:本文中的所有比较都按种子均值给出。
第 4 部分. 漂移与最后一个死胡同
还剩一个漂亮的想法:量化之后,点-词元会漂移。漂移 d(x) = (W_comp − W)x — 线性场。输入位于锥体中,因此漂移应该是低维的,可以用便宜的 low-rank 增量来修正。我甚至提前制定了停止判据:如果漂移的维度高于 50 — 假设不成立,关闭这个方向。
漂移诊断(drift_diagnostics.py):D — decoder 块输出上的漂移矩阵(同样的 2048 个词元,CHMC v6 压缩前/后);V_c — 中心化输入云的 top-10 右奇异向量;cap30 — 沿锥体轴的秩 30 修正所能捕获的漂移能量份额的上界。
在全部三个模型和所有块上的结果:d90 漂移 = 227–792。散布的能量被涂抹到数百个方向上。理想化的秩 30 修正只能捕获约 ~3% 到 ~39% 的漂移能量(表 6)。假设未获证实 — 干净利落地,按照事先宣布的规则,没有"调一调再试试"的诱惑。
| 模型(d) | 块 | d90 漂移 | 有效漂移秩 | Top-10 与锥体重叠 | cap30, % |
|---|---|---|---|---|---|
| SmolLM-135M (576) | 0 | 227 | 187 | 0.160 | 10.2 |
| 7 | 301 | 247 | 0.213 | 10.0 | |
| 15 | 304 | 168 | 0.680 | 27.2 | |
| 29 | 237 | 141 | 0.526 | 38.8 | |
| Qwen2.5-0.5B (896) | 0 | 353 | 318 | 0.114 | 5.9 |
| 6 | 432 | 344 | 0.508 | 15.2 | |
| 12 | 442 | 401 | 0.390 | 12.4 | |
| 23 | 391 | 289 | 0.426 | 22.3 | |
| TinyLlama-1.1B (2048) | 0 | 459 | 358 | 0.115 | 2.9 |
| 5 | 716 | 601 | 0.327 | 6.5 | |
| 11 | 792 | 695 | 0.423 | 8.3 | |
| 21 | 743 | 607 | 0.364 | 11.4 |
cap30 — 沿锥体轴的秩 30 理想化修正所捕获的漂移能量份额。所有块都违反停止判据 d90 ≤ 50。在中部块中,锥体是集中的(SmolLM blk 15、Qwen blk 6、TinyLlama blk 11),
漂移与锥体的主轴对齐(overlap ≈ 0.4–0.7),但其大部分能量位于其他方向 — 那里的 cap30 ≤ 27%。
还剩最后一个机会:总漂移是高维的,但每个单独层的贡献是低秩的。那么就可以只压缩"安全"的层,其余保持 FP16。
我在 SmolLM 的全部 210 个可压缩层上验证了:层的局部漂移 D_l = X·(W − W_comp)ᵀ — 该层在纯净 FP 输入上的纯贡献,无额外 forward 过程。判据事先宣布:
≥50% 的层满足局部 d90 ≤ 30 → 继续,否则关闭。结果:中位局部 d90 = 230(范围 9–339),低于阈值的 — 仅 210 个层中的 1 个(0.5%),唯一通过的 — L0.o_proj(秩 2,d90 = 9)。
per-layer 漂移的幅度很小(块 0 中层输出的 ~2–10%),但它在每个单独的层中就已经是高维的:局部 d90 不随深度增长,而是平躺在所有块上 ~220–247。机制完全相同:GPTQ 补偿把舍入误差分配到输入的所有活跃方向 — per-layer
漂移范数小,但在每一层中都几乎各向同性。按安全维度做的选择性压缩 — 关闭。
就在这时拼图拼合了。有一个结构性论据:我的增量修正 ΔW = E·V·Vᵀ — 严格弱于 GPTQ 内部已经在做的事:它的逐列补偿在所有校准输入方向上最小化误差,
而锥体修正 — 只是一个子集。GPTQ 之后,残差误差几乎正交于数据分布。把它投影到锥体上 — 没什么可投的。
另外值得澄清的是与 Hoare 逻辑中"类比定理"的联系(已发表文章, Nature Scientific Reports),
我们曾把它讨论为量化保证迁移的形式框架。它的度量不在权重空间中,而在信号空间中:这就是逐层的激活漂移 D_l = ‖post_l − pre_l‖ — 信号在通过某个具体层时变化多少;
如果 D_l 保持在安全界限内(≤ ε−γ),质量就得以保持。同时,权重矩阵 W 和量化误差 E_q = W − W_q 在其中只是作为其他已存在方法(AWQ、GPTQ、LQER)的对象出现 — 这些方法修复或压缩权重本身;定理看的是结果 — 权重压缩如何影响模型内部的信号 — 并正是在信号空间中做出判断。
我们按层精确测量了这个量 — 得到了与总漂移相同的结果:幅度小、维度高(中位局部 d90 ≈ 230;没有层在"D_l ≤ ε−γ 的低秩意义下"是安全的)。
如果漂移被证明是低维的,D_l 就会成为天然的精度度量 — 选择性压缩的门控:压缩 D_l ≤ ε−γ 的层,其余保持 FP16。相反,这条路成了死胡同:没有安全的层,这与本部分的其他一切相一致。
第 5 部分. 统一的图景:权重 — 定律,激活 — 轨迹
项目的所有负面结果突然被一个"定理—观察"所解释:
锥体是一个信号,并且一次传递就被耗尽了(沿锥体的加权 SVD,一阶)。数据自适应量化之后的残差在结构上是一个无结构的高维场。噪声没有什么可利用的 — 因此任何几何附加物(旋转、锥体、QJL、增量修正)都给出零或负值。
但这只是图景的一半。另一半是一个后来在一次对话中到来的理解。
激活不是"中间嵌入"。这是模型的内部状态
Transformer — 一个离散动力系统:
其中 $F_l$ 由第 l 层的权重给定。那么一切都各就各位了:
- 权重 = 动力学定律(程序,系统的"哈密顿量")。稠密的、满秩的、被训练清理过的。
- 内部状态 $h_l$= 系统的轨迹。而轨迹位于一个低维吸引子上 — 这正是我们的锥体(d90=9,各向异性 0.75)。
这是动力系统理论中的经典图景:运动方程可以任意复杂,但轨迹收敛到低维吸引子。我们字面意义上测量到了这一点 — 而且吸引子向网络中部收缩(中部块中 98.9% 的方差位于 3 个主成分中,边缘为 13–43%):处理的最深处 — 状态最压缩之处。
现在这种不对称性变得显然了:
- 轨迹是冗余的:它位于吸引子上,锥体之外根本什么都没有。因此状态是可压缩的 — TurboQuant 把 KV 缓存(状态的存储)压缩了 6–8×。
- 定律是稠密的:正是它保持着轨迹在吸引子上。其中没有冗余 — 训练已经把它去掉了。因此几何在那里帮不上忙,GPTQ 获胜。
模型被训练为在计算中创造冗余,而在参数中不创造。它是锥形几何的生成器,但它本身并不具有几何性。
诚实的保留:吸引子是一种解释,而不是定理。但这种解释是富有成效的:它不是被拟合到答案上的,而是预测了我们更早获得的三个独立观察。
我们的三个结果在动力系统的光照下
- 误差的线性累积(跨层从 1.02 → 1.33)。受扰动的动力学(压缩后的权重)使轨迹偏转,但吸引子把它拉回来 — 偏离是线性的,而不是指数级的。模型之所以对量化稳健,正是由于锥形结构。
- TDA 的"宏观同胚伴随微观噪声":压缩保持了吸引子的宏观结构(压缩前/后余弦 ≥ 0.98,权重的有效秩偏移约 1%),但用细噪声将其饱和 — 虚假的循环(b1-gain)。
- 高维漂移:轨迹的扰动不是沿锥体的位移,而是围绕它的散布:状态回到吸引子上,而噪声留在横向方向中。因此漂移的 d90 为 227–792。
尾声. 这带来了什么
没有发生突破:没有 100× 压缩,也没有对 GPTQ 的稳定胜利。但发生了别的事情。
第一,理解。我得到了一个带有机制的连贯图景:为什么几何对激活有效(TurboQuant)而对权重无效;为什么数据自适应补偿击败基于分布的最优性;锥体在哪里、压缩时拓扑发生了什么。
第二,带解释的诚实负面结果 — 一个罕见而有价值的体裁。"QJL 无法存储权重,这是误差上限"、"漂移不是低秩的,这是维度"、"旋转破坏各向异性,这是不变量" — 这些是为后来走这条路的人准备好的答案。
第三,实践。该方法在小模型上比标量量化好 6–11 倍 — 正是在它灾难性崩溃的地方 — 并提供对模型的可解释分析(秩、能量、层的敏感性),这是 GPTQ 黑盒所没有的。
而最重要的 — 我不再想着"击败 GPTQ"了。我意识到,我最初的问题不是"如何用几何压缩权重",而是"几何压缩的边界在哪里"。答案果然是优美的:
几何描述模型,但不能比数据自适应更好地压缩它的权重。锥体是模型所创造的;而它已经创造并打包进权重的东西,只能被无剩余地压缩到噪声。
理想的边缘端栈 — 权重用 GPTQ,KV 缓存用 TurboQuant。几何获胜了,只是不在我们最初寻找的地方。
后记:为什么这对整个领域重要
我们的项目现在给出的不再是"我们试图击败 GPTQ 但没有做到",而是一个完整的理论:
"我们表明,LLM 激活的几何(锥体假设)在压缩模型数据(KV 缓存、嵌入)时带来显著收益,但在压缩模型参数(权重)时没有。这解释了 TurboQuant 在激活上的成功和所有几何技术在权重上的失败。LLM 在自己的计算中创造冗余,而在自己的参数中不创造。"
这一理论统一了:
- TurboQuant 在激活上的成功
- 几何方法在权重上的失败
- GPTQ/AWQ 在权重上的成功
- 锥体假设(作为函数的性质,而非参数的性质)
它同样给出了一个实践结论:要在边缘端压缩 LLM 需要两种不同的工具,因为我们压缩的是两个不同的实体 — 定律与轨迹。
附录 A. 可复现性
CHMC v6(量化)。 strict_sequential=true; dampening λ = 0.05; residual_bits = 4; group_size = 128 → 总 BPW = 4.2875(各层秩来自 v6/bpw.py,表 1);
seed = 42。关键配置用 ≥3 个种子测量(SmolLM 和 TinyLlama),Qwen — 单次运行(在表 4 中标注)。GPTQ 参考:GPTQModel, 4-bit / group-128.
TDA 分析(拓扑)。 kNN 图,k = 32,每块 sample_points = 512,seed = 42;H₀ — 连通分量的 union-find + GUDHI 交叉核对(0 不匹配);W₁ 距离 — 截断 top-64 L∞。产物:results_v6/tda_analysis/.
漂移诊断。 D = post − pre,在 decoder 块输出上(同样的 2048 token);PCA — 中心化矩阵的 SVD (numpy);锥体基 V_c — cent(pre) 的前 10 个右奇异向量;cap30 = ‖Dc·V_c[:, :30]‖²/‖Dc‖²。
停止判据(d90 > 50 或 overlap < 0.3)在实验之前宣布。产物:results_v6/drift_correction/step1_diagnostics/.
环境。 文中所有分析 — CPU-only (torch 2.13.0+cpu);量化 GPU 运行在单独的环境中进行。图:results_v6/article/figures/.
附录 B. TDA 跨模型比较(pre vs post CHMC v6)
| 模型 | pre/post 平均余弦(按块) | b1-gain / b1-drop(块) | 有效权重秩,中位数 pre → post | 最小有效秩(pre) | H₀ 交叉核对 |
|---|---|---|---|---|---|
| SmolLM-135M | 0.9938 | 14 / 1 | 274 → 276 (+0.9%) | 18.8 | 0 不匹配 |
| Qwen2.5-0.5B | 0.9864 | 8 / 9 | 358 → 366 (+2.3%) | 18.7 | 0 不匹配 |
| TinyLlama-1.1B | 0.9907 | 8 / 4 | 930 → 941 (+1.2%) | 22.1 | 0 不匹配 |
附录 C. 来源与链接
项目仓库(代码 + 可复现结果): github.com/xmillogx-cmd/chmc-llm-quant
A. 文章中直接提及
- TurboQuant(Google Research, ICLR 2026)— KV 缓存/嵌入的几何压缩;整个项目的参考基准:arXiv: 2504.19874(Zandieh et al., "Online Vector Quantization with Near-optimal Distortion Rate")· Google Research 博客 — research.google
- GPTQ — 逐列量化误差补偿(Frantar et al., ICLR 2023):arXiv: 2210.17323
- QuIP# — 整数码字量化(Tseng et al., ICML 2024):arXiv: 2402.04396
- Lloyd–Max 量化器:S. Lloyd, "Least squares quantization in PCM", IEEE Trans. Information Theory, 28(2), 1982(原始版本 — 1957)— IEEE Xplore; J. Max, "Quantizing for minimum distortion", IRE Trans. Information Theory, 6(1), 1960 — Semantic Scholar
- QJL 与 Johnson–Lindenstrauss 引理:QJL — TurboQuant 的一部分(arXiv: 2504.19874);W. Johnson, J. Lindenstrauss, "Extensions of Lipschitz mappings into a Hilbert space", Contemp. Math., 26, 1984 — Semantic Scholar
- 随机化 SVD:N. Halko, P.-G. Martinsson, J. A. Tropp, "Finding structure with randomness: stochastic algorithms for decomposing matrices", SIAM Review, 2011 — arXiv: 0909.4061
- TDA(拓扑数据分析):giotto-tda — arXiv: 2004.02551(JMLR 2021);GUDHI — gudhi.inria.fr;经典文献(无链接):Edelsbrunner, Letscher, Zomorodian, "A persistent topological approach to topology-based data analysis", 2002;G. Carlsson, "Topology and data", Bull. AMS, 2009.
B. 模型与数据(实验中使用的)
- SmolLM-135M — Hugging Face 博客,2024:huggingface.co/blog/smollm
- Qwen2.5-0.5B:arXiv: 2412.15115
- TinyLlama-1.1B:arXiv: 2401.02385
- WikiText(校准与 PPL):S. Merity et al., "Pointer Sentinel Mixture Models" — arXiv: 1609.07843
- GPTQModel(用于 GPTQ 基线的库):github.com/ModelCloud/GPTQModel
- 作者关于嵌入空间几何的原始文章(锥体假设) — 博客:[插入链接]
C. 补充文献(相关方法)
- AWQ — 激活感知权重量化:arXiv: 2306.00978
- ASVD:arXiv: 2312.05821
- SVD-LLM — 截断感知白化(基于 XᵀX 的 Cholesky):arXiv: 2403.07378
- LQER — low-rank error correction(delta 校正的"镜像孪生"):arXiv: 2402.02446
- Hoare 逻辑中的类比定理 — 形式化迁移保证,作为框架讨论过(度量 D_l):已发表文章, Nature Scientific Reports
P.S. 所有运行都是可复现的:相等的比特预算 4.29,关键配置至少用三个种子测量(SmolLM 和 TinyLlama;Qwen — 初步的单次运行,已在表中标注),停止判据在实验之前宣布。诚实地获得的负面结果 — 也是结果。