Page 145 - 《软件学报》2026年第3期
P. 145
1108 软件学报 2026 年第 37 卷第 3 期
降低存储和计算成本, 但可能会引入较大的信息损失, 从而降低检索或计算的准确性; 过于精细的量化则可能导致
存储开销增大, 削弱量化的实际效益.
该问题可以定义为: 在给定的向量数据分布下, 寻找一组最优的码字及其对应的分区方案, 使整体失真最小
化. 通常, 失真程度通过特定的距离度量 (如欧几里得距离或余弦距离) 进行衡量, 以确保量化后的向量能较好地
近似原始向量. 如何在压缩效率和检索性能之间合理权衡, 是向量量化方法设计中的关键问题.
为了提高量化向量的准确率, 码字通常不是单一的. 因此, 量化过程可以被视为一个将向量转换为长度为 n 的
码字串的函数, 每个码字代表码本中相应的向量:
(2)
q(x) = f(c 1i ,c 2 j ,...,c nk ), c nk ∈ C n
其中, x 代表原始向量, c nk 代表第 n 个码本的第 k 个向量. C n 表示第 n 个码本的向量空间, 即其所存储的 s 个向量
的集合:
{ }
d
C n = c ni |c ni ∈ R ;i = 0,1,..., s−1 (3)
基于残差的量化方法对初始向量及上一个量化器的量化残差进行量化, 因此, 原始向量的近似表示是多个量
化器的量化结果相加:
(4)
x RVQ = c 1i +c 2 j +...+c nk
对于量化结果的准确率评估, 我们使用量化损失 (quantization loss) 进行衡量. 对于大小为 m 的数据集, 该数据
集的量化损失为每个向量的误差均值:
1 m ∑
loss = ||x i − x rq i || 2 2 (5)
m
i=1
其中, x i 代表数据集中的第 i 个原始向量, x rq 代表该向量经过量化后的近似表示向量.
除了准确率外, 量化比也是评估向量量化的标准之一. 我们都希望尽可能地压缩向量, 同时保持其准确性. 向
量量化的量化比通常不考虑码本的大小, 因为码本的大小与数据集大小不相关. 因此, 压缩比表示为原始向量维度
d 和码字串长度 n 的比值:
d
c VQ = (6)
n
2.2 优化残差的量化模型
为了充分利用数据集的特性, 并解决残差向量量化 (RVQ) 在多轮量化过程中效率逐渐降低的问题, 本文的思
路是提出一种逐步量化的方法, 以提升量化准确率, 并确保 RVQ 在后续码本训练时维持较高的量化效率. 该方法
的关键在于对残差向量的长度进行动态调整, 以优化量化过程. 此外, 通过针对残差特性的优化调整码本训练方
式, 可以有效减少训练后续码本时所引入的系统性误差, 从而进一步提高整体量化精度.
每个残差量化器生成的量化向量, 其长度信息所携带的有效信息量往往低于预期. 这一现象可以通过假设模
型进行解释: 当残差向量的方向确定后, 其长度基本上是确定的, 即该长度需保证量化向量与残差向量的叠加结果
仍位于单位超球面上. 这一特性表明, 在量化过程中, 合理控制残差向量的长度有助于提升 RVQ 的整体表现, 并优
化最终的量化效果.
len(quantized i+1 ) = len(quantized i +d i ×residual i ) ≈ len(embedding) = 1 (7)
根据公式 (7), 在残差向量量化 (RVQ) 中, 第 i 个量化器的已量化部分 quantized i 以及量化目标向量 embedding
均已知. 因此, 在搜索码本中最优的残差量化向量 residual i 时, 我们仅需关注其方向信息, 而其长度信息 d i 在一定
程度上是可以计算得到的. 尽管从单个量化向量的角度来看, 忽略长度信息可能会导致一定程度的量化损失, 但在
码本大小固定的情况下, 增加可供选择量化方向能够提升整体的全局量化准确率.
为了充分利用数据集的这一特性, 并在量化过程中合理调整码本的“方向”与“长度”属性的重要性, 我们优化
并改进了残差向量量化方法. 具体而言, 在每一轮量化后, 我们对残差向量进行归一化处理, 使其标准化为单位向
量, 从而显著增强其在码本训练中的作用. 在此优化方案下, 码本仅存储残差向量的方向信息, 而不记录其长度信息.

