原理
已训练好的成熟模型里,一层权重有 n 个输出单元(神经元/卷积核/注意力头), 传统上每个单元独立存 D 个权重(共 n×D)。但很多单元其实是「同类函数」—— 功能相近、参数冗余。
本库把这些单元聚成 K 个「区」(K ≪ n),同区共用一个「区域函数」表达:
0 阶:每区一个质心(均值向量),参数从 n×D 降到 K×D
1 阶:每区 = 均值 + 前 r 个主成分(截断 SVD,即低秩),另存每单元 n×r 投影系数
再给每个单元存一个「归属索引」(log₂K 位,记它属于哪一区)。于是整体的存储, 从「n 份独立权重」变成「K 份共享函数 + n 份归属索引」——这就是体积压缩的来源。
训练 ── 模型 ── 成熟模型 ──[ 函数化 + 生成物 ]──> 部署
↑
本库只负责这一段
上游(不是本库的活):训练、模型定义、蒸馏、微调、量化感知训练(QAT)。
本库只做两件事:① 函数化(把权重重新表达为区域函数 + 归属索引); ② 生成物(区域函数参数 + 索引 + 投影系数 + 量化打包 + 分片存储 + 价值对比)。
下游(也不是本库的活):把生成物接入推理/部署。生成物可经 reconstruct() 还原成近似权重、当模型权重用,但真正跑起来是下游的活。