微信扫码
添加专属顾问
我要投稿
Jina Embeddings v4通过量化感知训练技术,在压缩模型体积的同时最大程度保留性能,为搜索场景带来更高效的向量表征。 核心内容: 1. 量化技术如何解决AI模型体积与性能的矛盾 2. Jina Embeddings v4采用的三种主流量化方法对比 3. 量化感知训练在保持模型性能上的突破性进展
在 AI 领域,我们对模型的期待总是既要、又要、还要:模型要强,速度要快,成本还要低。但实际应用时,高质量的向量表征往往意味着庞大的数据体积,既拖慢检索速度,也推高存储和内存消耗。
量化(Quantization)正是破解这一矛盾、实现规模化应用的关键技术。量化是一种常用的神经网络模型压缩技术,本质并不复杂:通过把高精度的小数四舍五入成更粗的整数,主动牺牲一部分精度,换来模型体积的大幅缩减。
量化不仅节省了存储和内存,还让向量计算变得更快,显著提升了检索效率。更重要的是,量化作为一种通用的数值优化手段,它不挑数据、不看场景、不依赖特定领域知识,适用于各类模型和应用场景。
一般认为,量化总会牺牲精度,有得必有失。但我们发现,通过量化感知训练(Quantization-Aware Training, QAT),可以在压缩体积的同时,最大程度保留模型性能。我们已经将这一技术应用在 jina-embeddings-v4
,为极致空间敏感的场景带来更小、更高效的向量表征。
Jina Embeddings v4 是我们最新推出的为搜索而生的四代目模型,全球首个集多模态、多向量、多语言于一体的开源向量模型。
模型量化是提升大模型落地效率的关键工具。结合实际应用背景,目前主流的量化方法大致可以分为四类:
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 字节)。
在二元量化中,操作极为直接:每个数值只需判断正负,正数映射为 1,零和负数映射为 -1。
其他量化方式则需要先将原始向量的数据范围(理论上是无穷大)映射到一个有限区间 [min, max],然后再进行取整。我们主要采用了两种区间确定方法:一是直接取每批数据的最大/最小值,二是通过滚动平均动态调整区间。
三元量化的规则:
4 位整数量化的规则::
16 * (v - min) / (max - min) - 8
归一化到 [-8, 7] 区间,再四舍五入到最近的整数。8 位整数量化的规则:
256 * (v - min) / (max - min) - 128
归一化到 [-128, 127] 区间,并四舍五入到最近的整数。为了确定缩放边界 max 和 min,我们探索了两种策略:
最大最小值缩放 (Min/Max) :我们分批处理数据,并直接采用当前数据批次内的最大和最小向量值作为边界,这种方法容易受到极端离群值的影响。
滚动平均缩放 (Rolling averaging over batches) :一种更稳健的方法。它会持续计算多个数据批次的均值和标准差,并基于这些统计值动态设定一个更具代表性的边界(如 max = avg + std, min = avg - std)。这能有效避免单批次内的异常值对整体量化效果造成干扰。
两种量化策略的实验方法有所不同。对于训练后量化(PTQ),我们冻结原模型,仅对它的输出向量应用前述的量化方法。
对于输出量化感知训练(Output QAT),为了能够有效微调,我们采用了直通估计器 (Straight-Through Estimation, STE) 技术。它的核心机制是,在前向传播时对输出进行量化,但在反向传播计算损失时,将量化结果还原为全精度数值,从而用全精度的损失信号来优化模型参数。
我们将每种配置都微调了 10000 步,并每隔 500 步保存一个模型检查点(checkpoint)。训练结束后,我们从所有检查点中,选出在 NanoBEIR 基准测试上得分最高的那一个作为最终模型。
值得注意的是,PTQ 和 Output QAT 这两种方法,其优化的重点在于减小向量的尺寸,从而节省存储空间并提升检索速度。它们并不会压缩模型本身的体积,也不会加快模型的推理(即向量生成)过程。
考虑到在检索场景中,需要长期大量存储的是文档向量,而用户的查询向量则是临时生成的。基于这一点,我们设计并测试了一种非对称量化 (Asymmetric Quantization) 方案:
只量化需要海量存储的『文档向量』,而用于即时检索的『查询向量』则保持完整的原始精度。
我们总计测试了九种实验条件,所有实验配置与最终在 NanoBEIR 基准上的平均得分汇总如下
实验条件一览
✓ | ||||
✓ | ✓ | |||
✓ | ||||
✓ | ✓ | |||
✓ | ✓ | |||
✓ | ✓ | |||
✓ | ✓ |
在 12 个 NanoBEIR 基准测试中,各条件的平均得分(正确率%)
60.81 | +0.70 | |
61.73 | +1.62 | |
61.67 | +1.56 | |
从实验数据中,我们可以解读出几个清晰的趋势。
首先,微调的价值无可替代。 训练后量化(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+中大型企业
2025-07-09
AI + 向量检索,做一个“懂你”的 icon 推荐服务
2025-07-09
MemOS:一个为AI系统设计的记忆操作系统
2025-07-09
字节跳动的野心:从豆包、飞书到生态,一个万亿巨头的AI进化论
2025-07-09
如何在 Elasticsearch 中构建你的智能 AI 助手?
2025-07-09
垂直和领域 Agent 的下一课:上下文工程
2025-07-09
8分钟了解Deep Research与上下文工程
2025-07-09
AI 上新|我让 AI「偷窥」了我的屏幕,它有机会变成我第二个大脑
2025-07-09
【速读版】Agent不同设计范式 vs 模型上下文长度
2025-05-29
2025-04-11
2025-04-12
2025-04-29
2025-04-29
2025-04-12
2025-05-23
2025-05-07
2025-05-07
2025-05-07
2025-07-09
2025-07-08
2025-07-07
2025-07-05
2025-07-04
2025-07-04
2025-07-03
2025-07-03