支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Jina Embeddings v4 的量化感知训练

发布日期:2025-07-09 13:42:52 浏览次数: 1528
作者:Jina AI

微信搜一搜,关注“Jina AI”

推荐语

Jina Embeddings v4通过量化感知训练技术,在压缩模型体积的同时最大程度保留性能,为搜索场景带来更高效的向量表征。

核心内容:
1. 量化技术如何解决AI模型体积与性能的矛盾
2. Jina Embeddings v4采用的三种主流量化方法对比
3. 量化感知训练在保持模型性能上的突破性进展

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

在 AI 领域,我们对模型的期待总是既要、又要、还要:模型要强,速度要快,成本还要低。但实际应用时,高质量的向量表征往往意味着庞大的数据体积,既拖慢检索速度,也推高存储和内存消耗。

量化(Quantization)正是破解这一矛盾、实现规模化应用的关键技术。量化是一种常用的神经网络模型压缩技术,本质并不复杂:通过把高精度的小数四舍五入成更粗的整数,主动牺牲一部分精度,换来模型体积的大幅缩减。

量化不仅节省了存储和内存,还让向量计算变得更快,显著提升了检索效率。更重要的是,量化作为一种通用的数值优化手段,它不挑数据、不看场景、不依赖特定领域知识,适用于各类模型和应用场景。

一般认为,量化总会牺牲精度,有得必有失。但我们发现,通过量化感知训练(Quantization-Aware Training, QAT),可以在压缩体积的同时,最大程度保留模型性能。我们已经将这一技术应用在 jina-embeddings-v4,为极致空间敏感的场景带来更小、更高效的向量表征。

Jina Embeddings v4 是我们最新推出的为搜索而生的四代目模型,全球首个集多模态、多向量、多语言于一体的开源向量模型。

HF 🤗 https://huggingface.co/jinaai/jina-embeddings-v4
技术报告 📖 https://arxiv.org/abs/2506.18902
API 💻 https://jina.ai/embeddings/

主流量化方法对比

模型量化是提升大模型落地效率的关键工具。结合实际应用背景,目前主流的量化方法大致可以分为四类:

1. 训练后量化 (Post-training quantization, PTQ)

这种方法最为直接,针对已经训练好的向量模型,直接对输出的浮点数进行取整或缩放处理。模型本身的结构和参数不会发生变化,不需要再进行额外训练。。常用于快速压缩向量体积,操作简单,见效快,但模型本身大小和推理速度不变。

2. 输出量化感知训练 (Training for quantized embedding outputs, Output QAT)

这种方法的关键在于:让模型在训练阶段就知道输出会被量化。 通过在训练过程中引入量化操作,模型主动适应低精度输出的限制,自动调整参数,使量化后的向量尽量保留原始信息。

虽然模型参数会有所调整,但模型权重的精度保持不变,因此模型整体的体积不会缩小,变化的只是输出向量的尺寸。适合对模型结构和推理速度有要求,但希望输出更紧凑的场景。

3. 全量化感知训练 (Training for fully quantized models, Full QAT)

以一个训练好的高精度模型为起点,先将模型权重降低到目标精度,再针对精度损失进行再训练和微调。最终不仅能获得更小的向量表征,还能压缩模型体积、加速推理。由于涉及权重和结构的全面调整,这种方法对训练资源和工程成本的要求最高。

4. 蒸馏 (Distillation)

蒸馏是一种以大带小的策略,通过用一个强大的大模型(教师模型)生成大量训练数据,来训练一个专为量化设计、结构更小的新模型(学生模型)。实现模型和向量的双重压缩,性能接近原模型,适合极致压缩和加速场景,但开发周期较长。

下表总结了这四种方法的特点:

方法
向量表征更紧凑?
需要训练?
模型被压缩?
推理速度更快?
PTQ
Output QAT
Full QAT
蒸馏

简单总结一下:四种方法都能实现向量压缩,但除了压缩向量外,还想同时获得更小、更快的模型,则需选择全量化感知训练(Full QAT) 或蒸馏,并承担更高的训练成本。

考虑到应用门槛和性价比,本文将聚焦于训练后量化(PTQ)和输出量化感知训练(Output QAT)这两种无需更改模型结构、也不影响推理速度的量化方案。它们能够大幅减小向量体积,在实际场景中应用门槛低,易于落地。

实验设置与流程

本次实验选择 jina-embeddings-v4 作为基准模型,配备了检索任务专用的 LoRA 适配器。默认状态下,它会生成 2048 维的 FP32(32 位浮点)向量,每个向量占用 8KB 存储空间。

我们在 NanoBEIR 基准上,系统性地评估了多种量化级别(8bit、4bit、三元、二元),并分别采用训练后量化(PTQ)和输出向量量化感知训练(Output QAT)两种策略。部分实验还对比了不同的缩放方法(最大最小值与滚动平均缩放)。

  • 基线 (Baseline):未经量化的 jina-embeddings-v4 的原始性能。

  • 训练后量化,PTQ:仅将模型输出的向量量化为二元向量,而不改动模型本身。

  • 输出量化感知训练,Output QAT:在量化输出向量的基础上,进一步微调 LoRA 适配器,以提升量化条件下的检索性能。

(注:本次实验均使用该模型的内部测试版,其公开发布版的性能会更高。)

量化等级

我们测试了以下四种不同粒度的量化等级,它们的压缩效果层层递进:

  • 8 位整数 (8-bit integers):将向量值映射到 [-128, 127] 区间,体积压缩 4 倍 (降至 2048 字节)。

  • 4 位整数 (4-bit integers):映射到 [-8, 7] 区间,体积压缩 8 倍 (降至 1024 字节)。

  • 三元量化 (Trinary Quantization):只保留-1, 0, 1 三个值,体积压缩约 40 倍 (降至约 230 字节)。

  • 二元量化 (Binary Quantization):只保留-1 和 1 两个值(代表正负),体积压缩 64 倍 (降至 128 字节)。

不同量化等级带来的向量体积压缩效果

缩放 (Scaling)

在二元量化中,操作极为直接:每个数值只需判断正负,正数映射为 1,零和负数映射为 -1。

二元量化。所有负值变为-1,其他值变为1。

其他量化方式则需要先将原始向量的数据范围(理论上是无穷大)映射到一个有限区间 [min, max],然后再进行取整。我们主要采用了两种区间确定方法:一是直接取每批数据的最大/最小值,二是通过滚动平均动态调整区间。

三元量化的规则:

  • 大于等于 max 的数值设为 1;
  • 小于等于 min 的数值设为 -1;
  • 介于 min 和 max 之间的数值归为 0。
三元量化示意图:设定阈值区间,区间内所有数值归零,区间外分别映射为 -1 和 1

4 位整数量化的规则:

  • 大于等于 max 的数值设为 7;
  • 小于等于 min 的数值设为 -8;
  • 其他数值先用 16 * (v - min) / (max - min) - 8 归一化到 [-8, 7] 区间,再四舍五入到最近的整数。
4位量化示意图:所有数值根据区间归一化并离散到 [-8, 7],边界外分别截断为 -8 和 7

8 位整数量化的规则:

  • 大于等于 max 的数值设为 127;
  • 小于等于 min 的数值设为 -128;
  • 其他数值使用 256 * (v - min) / (max - min) - 128 归一化到 [-128, 127] 区间,并四舍五入到最近的整数。

为了确定缩放边界 max 和 min,我们探索了两种策略:

  • 最大最小值缩放 (Min/Max) :我们分批处理数据,并直接采用当前数据批次内的最大和最小向量值作为边界,这种方法容易受到极端离群值的影响。

  • 滚动平均缩放 (Rolling averaging over batches) :一种更稳健的方法。它会持续计算多个数据批次的均值和标准差,并基于这些统计值动态设定一个更具代表性的边界(如 max = avg + std, min = avg - std)。这能有效避免单批次内的异常值对整体量化效果造成干扰。

QAT 微调 (QAT Fine-Tuning)

两种量化策略的实验方法有所不同。对于训练后量化(PTQ),我们冻结原模型,仅对它的输出向量应用前述的量化方法。

对于输出量化感知训练(Output QAT),为了能够有效微调,我们采用了直通估计器 (Straight-Through Estimation, STE) 技术。它的核心机制是,在前向传播时对输出进行量化,但在反向传播计算损失时,将量化结果还原为全精度数值,从而用全精度的损失信号来优化模型参数。

我们将每种配置都微调了 10000 步,并每隔 500 步保存一个模型检查点(checkpoint)。训练结束后,我们从所有检查点中,选出在 NanoBEIR 基准测试上得分最高的那一个作为最终模型。

非对称量化 (Asymmetric Quantization)

值得注意的是,PTQ 和 Output QAT 这两种方法,其优化的重点在于减小向量的尺寸,从而节省存储空间并提升检索速度。它们并不会压缩模型本身的体积,也不会加快模型的推理(即向量生成)过程。

考虑到在检索场景中,需要长期大量存储的是文档向量,而用户的查询向量则是临时生成的。基于这一点,我们设计并测试了一种非对称量化 (Asymmetric Quantization) 方案:

只量化需要海量存储的『文档向量』,而用于即时检索的『查询向量』则保持完整的原始精度。

结果

我们总计测试了九种实验条件,所有实验配置与最终在 NanoBEIR 基准上的平均得分汇总如下

实验条件一览

条件名称
微调
量化等级
缩放策略
是否量化查询
基线 (Baseline)
不适用
不适用
不适用
PTQ (查询与文档均量化)
二元
不适用
PTQ (仅量化文档)
二元
不适用
QAT 二元
二元
不适用
QAT 二元 (仅量化文档)
二元
不适用
QAT 三元
三元
滚动平均
QAT 4 位
4 位
滚动平均
QAT 8 位
8 位
滚动平均
QAT 8 位 (Min/Max)
8 位
Min/Max

在 12 个 NanoBEIR 基准测试中,各条件的平均得分(正确率%)

条件名称
平均分
与基线差异
基线 (Baseline)
60.10
不适用
PTQ 二元
58.33
-1.78
PTQ 二元 (仅量化文档)
59.08
-1.02
QAT 二元
59.22
-0.89
QAT 二元 (仅量化文档)
60.81+0.70
QAT 三元
59.49
-0.62
QAT 4 位
61.73+1.62
QAT 8 位
61.67+1.56
QAT 8 位 (Min/Max)
61.29
+1.19

从实验数据中,我们可以解读出几个清晰的趋势。

首先,微调的价值无可替代。 训练后量化(PTQ)与 量化感知训练(Output QAT) 在二元量化条件下,唯一差异是是否微调,但 QAT 得分明显更高;即便只量化文档,QAT 依然带来近 2% 的提升,充分说明量化感知训练的实际价值。

其次,量化精度与表现成正比。 精度越低,压缩越激进,性能损失越大。4 位优于三元,三元优于二元。但值得注意的是,8 位与 4 位之间几乎没有差别,或许说明量化存在性能阈值。

再次,非对称量化能有效提升性能。 在二元量化中,仅量化文档的 QAT 方案性能达到了 60.81 分,成功超越了基线。这证明了在查询侧保留完整信息的有效性。

最后,动态缩放优于静态缩放。滚动平均法在信息保留上优于简单 min/max,带来了更优的整体表现。

结论

量化技术大幅压缩了向量体积,加快检索速度,为实际应用带来直接的运营优势。

我们的实验显示,简单的训练后量化(PTQ) 操作简单但有精度损失;输出量化感知训练(Output QAT)在训练阶段让模型主动适应量化,能有效缓解性能损失,表现更优。

整体来看,量化程度直接影响着模型性能,毕竟这项技术的基础就是降低数值精度。所以量化越温和,性能越好,比如 4 位优于二元量化;但令人意外的是,在 Jina Embeddings v4 上,8 位量化和 4 位量化之间的性能没有显著差异。这或许意味着,精度存在一个阈值:在跨过某个临界点之前,进一步放宽或收紧量化程度,对模型性能的影响可能微乎其微。

此外,缩放策略同样关键。实验表明,滚动平均缩放法明显优于固定的最大最小值缩放法。 更能适应数据分布,值得深入探索。

总之,量化能帮您用更低成本,发掘向量模型的更大价值。本文虽然未能覆盖所有量化选项,但深入探讨的这两种方法都容易实现,且收益实在。我们对量化技术的探索不会止步,jina-embeddings-v4 的二元量化支持也即将推出,敬请期待

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询