BitNet 文本嵌入
摘要
本文介绍了 BitEmbed,一个用于基于 LLM 的文本嵌入的极低位宽框架,它将预训练的 LLM 骨干转换为具有三值权重和量化激活的 BitNet 风格编码器。该框架在显著降低编码和存储成本的同时,实现了与全精度模型相当的性能。
arXiv:2606.25674v1 公告类型:新
摘要:基于 LLM 的文本嵌入器显著提升了检索和语义表示质量,但其部署成本仍然高昂:大型骨干模型会拖慢嵌入推理速度,而高维全精度嵌入会给大规模索引带来巨大的存储和带宽开销。在本文中,我们提出了 BITEMBED,一个针对基于 LLM 的文本嵌入的极低位宽框架,同时兼顾编码效率和向量存储。BITEMBED 将预训练的 LLM 骨干转换为具有三值权重、量化激活和轻量级归一化精调的 BitNet 风格嵌入编码器。转换后的模型通过持续对比预训练进行表示学习适应,然后通过监督对比微调,结合来自全精度教师的相似度分布蒸馏和注意力关系蒸馏。除了量化骨干网络外,BITEMBED 还进一步训练输出嵌入以支持多种存储精度,以满足不同场景下的存储需求。在 MMTEB(英语,v2)上使用 Qwen3-0.6B 和 Gemma3-270M 进行的实验表明,BITEMBED 与全精度教师嵌入器基本相当。此外,BITEMBED 可以灵活地获得各种精度的文本嵌入,在性能和存储成本之间取得平衡。
查看缓存全文
缓存时间: 2026/06/25 05:13
# BitNet 文本嵌入
**来源:** https://arxiv.org/html/2606.25674
李震 ¹,黄鑫 ²,王亮 ²,杨楠 ²,宋婷 ²,夏岩 ²,吴逊 ²,黄少涵 ²,张会帅 ¹,魏福来 ²,赵东岩 ¹
¹ 北京大学,² 微软研究院
https://aka.ms/GeneralAI
###### 摘要
基于LLM的文本嵌入器显著提升了检索和语义表征质量,但其部署成本依然高昂:大型骨干模型导致嵌入推理速度变慢,而高维全精度嵌入则为大规模索引带来了巨大的存储和带宽开销。在本文中,我们提出 **BitEmbed**,一个针对基于LLM的文本嵌入的极端低位框架,同时致力于提升编码效率和降低向量存储成本。BitEmbed 将预训练的LLM骨干转换为 BitNet 风格的嵌入编码器,采用三值权重、量化激活以及轻量级归一化优化模块。转换后的模型通过持续对比预训练来适应表示学习,随后通过监督对比微调进行优化,该微调结合了来自全精度教师模型的相似度分布蒸馏和注意力关系蒸馏。除了量化骨干模型,BitEmbed 进一步训练输出嵌入,使其支持多种存储精度,以满足不同场景下的存储需求。在 MMTEB(英文,v2)上使用 Qwen3-0.6B 和 Gemma3-270M 进行的实验表明,BitEmbed 在很大程度上可与全精度教师嵌入器相媲美。此外,BitEmbed 能够灵活地获得不同精度的文本嵌入,实现了性能与存储成本之间的权衡。
## 1 引言
文本嵌入已成为自然语言与大规模信息系统之间的核心接口。现代检索[51]、检索增强生成[77]、推荐[79]和问答[7]流水线都依赖于嵌入模型将文本映射为稠密向量,其几何结构反映语义相关性[54, 25, 20, 49]。预训练的双向编码器架构(如 BERT[15])已被广泛用作文本嵌入的骨干模型[24, 71, 78]。随着大语言模型的最新进展,基于LLM的嵌入器利用基础LLM作为骨干,并通过大规模对比学习目标[33, 57, 41, 29, 46]进行适配。凭借LLM固有的丰富世界知识和文本理解能力,基于LLM的嵌入器在语义表示任务上取得了强劲的性能。然而,尽管取得了这些进展,基于LLM的嵌入器仍然继承了关键的部署挑战:高嵌入推理延迟和巨大的存储成本。
使用LLM骨干对查询和文档进行编码的成本远高于传统的纯编码器模型。与此同时,生成的嵌入需要大规模存储、传输和搜索。生产级检索系统可能需要维护数百万甚至数十亿文档的向量,其中高维度、高精度的嵌入即使在编码器本身已优化的前提下,也可能主导内存占用和数据传输。随着基于LLM的嵌入器被用于在线检索服务和存储受限的场景,这些成本变得更加突出,使得高效推理和表示成为实际部署的核心需求。
极端低位LLM为降低推理成本提供了一条有希望的路径[14, 34, 23, 21, 5, 68]。BitNet 风格模型采用低精度三值权重和量化激活,在合适的硬件上能够实现显著的内存节省和更快的推理,同时保持优化器状态和梯度在训练期间的高精度[62, 40, 39]。BitNet 蒸馏进一步表明,全精度LLM可以通过架构稳定、持续训练和蒸馏转换为1.58位任务模型[69]。受这些发现的启发,我们探索了类似的低位原理是否可以专门应用于文本嵌入。
本文介绍 **BitNet Text Embeddings**,简称 **BitEmbed**,一个针对基于LLM的文本嵌入的极端低位框架。BitEmbed 将预训练的LLM骨干转换为 BitNet 风格的嵌入器,并带有归一化模块以稳定量化下的训练。为了使量化后的骨干适应表示学习,BitEmbed 首先在大规模文本对上执行持续对比预训练,然后使用批内和困难负样本进行监督微调。同时,一个全精度的fp16嵌入模型作为教师模型进行调优,量化后的嵌入器不仅接收对比监督,还通过蒸馏来匹配教师的批内余弦相似度分布和注意力关系。除了量化骨干模型,BitEmbed 还训练输出嵌入以支持多种存储精度。受 Matryoshka 风格表示和量化[26, 58, 50]的启发,我们在训练期间将每个嵌入维度量化为多种精度,并优化这些精度下的平均损失。这种设计鼓励单个嵌入器生成的向量在不同的内存预算下仍然有效,允许实践者在存储和质量之间进行权衡,而无需为不同模型重新训练。
我们在大规模多语言文本嵌入基准(MMTEB)[17]上评估 BitEmbed。我们的 BitEmbed 在提升推理效率的同时,性能接近全精度教师模型。此外,BitEmbed 通过多精度嵌入量化实现了存储成本与性能之间的权衡。
具体来说,我们的贡献总结如下:
1. 据我们所知,我们首次系统地研究了基于LLM的文本嵌入的极端低位量化,同时针对编码器推理和向量索引存储进行了优化。
2. 我们提出了一个有效的 BitNet 风格训练框架,结合了对比持续预训练、监督微调、相似度分布和注意力关系蒸馏。
3. 我们引入了多精度嵌入训练,并验证了 BitEmbed 能够接近全精度教师模型的性能,同时支持高效的多精度嵌入表示。
## 2 相关工作
### 2.1 基于LLM的文本嵌入器
文本嵌入器正越来越多地从纯编码器 Transformer 模型[54, 25, 20, 63, 35]转向仅解码器的LLM骨干[49, 33, 64, 30, 58]。最近,基于LLM的文本嵌入器进一步探索了指令遵循、多语言、多任务泛化能力[29, 28, 8, 22]。INSTRUCTOR[57] 训练嵌入遵循自然语言任务指令,通过提示实现特定任务的表示。最近的模型还依赖于更复杂的训练配方[11, 56, 47, 3, 80]。Qwen3-Embedding[76] 使用LLM合成大规模高质量数据用于多阶段对比训练。这些研究主要关注提高嵌入质量和泛化能力。相比之下,BitEmbed 研究如何通过在严格的推理和存储预算下结合极端低位量化和多精度输出嵌入,使基于LLM的嵌入器变得实用。
### 2.2 LLM的量化
量化技术对于在计算和存储约束下部署大语言模型(LLM)至关重要。一种常见策略是训练后量化(PTQ)[14, 75, 70],包括 GPTQ[19] 和 AWQ[36] 等方法。PTQ 非常高效,因为它仅使用少量校准数据即可应用低位量化。虽然 PTQ 方法提供了快速压缩,但在低于4位的超低比特宽度下通常会遭受显著的性能下降。为了克服这一点,量化感知训练(QAT)[16, 38, 72, 9] 直接将量化集成到优化循环中,显著提升了低位模型的性能上限。最近,QAT 已被推至极端极限,出现了像 BitNet[62, 40, 39] 这样的1.58位(三值)架构。受 BitNet 蒸馏[69]的启发,我们引入了1.58位基于LLM的文本嵌入器,将三值 QAT 和表示蒸馏联系起来。
## 3 方法
BitEmbed 是一个遵循三阶段训练流程的极端低位基于LLM的文本嵌入器。首先,我们将预训练的LLM转换为 BitNet 风格的嵌入编码器。然后,我们在大规模文本对上使用持续对比预训练来适配转换后的编码器。最后,我们在监督训练数据上使用对比学习对低位编码器进行微调,并辅以一个 FP16 嵌入教师进行的教师引导蒸馏。此外,我们将输出嵌入暴露给多种存储精度,使得单个 BitEmbed 检查点能够支持不同的内存预算。
### 3.1 基于LLM的文本嵌入公式
给定输入序列 X = {x₁, x₂, ..., xₙ},其中 xᵢ 表示序列中的第 i 个 token,仅解码器LLM M 处理此序列以生成每个 token 的上下文化表示,记为 H(X) = {h₁, h₂, ..., hₙ},其中 hᵢ 是每个 token 的输出隐藏状态。一个池化函数将这些隐藏状态转换为单个表示,然后进行 ℓ₂ 归一化:hₓ = norm(Pool(H_θ(X)))。池化函数可以是最后一个 token 池化[31]、平均池化[47]或特定于架构的策略[28]。在这项工作中,我们向每个输入添加一个 [EOS] token,并使用最后一个 token 的隐藏状态作为文本嵌入。
### 3.2 低位嵌入骨干
BitEmbed 是通过对预训练的LLM骨干应用 BitNet 风格量化构建的。遵循 BitNet 系列工作[62, 39],我们将 Transformer 块中的线性权重量化为三值。对于一个全精度权重矩阵 W,量化后的权重为:
Q_w(W) = Δ_w · RoundClip(W/(Δ_w + ε), -1, 1) (1)
其中 Δ_w = mean(|W|),RoundClip(X, a, b) = max(a, min(b, round(X)))。这将权重映射到缩放后的值集合 {-Δ_w, 0, Δ_w},得到1.58位参数化。
对于进入每个 BitLinear 层的激活值,我们应用逐 token 的8位量化。给定一个激活张量 X,我们对每个 token 计算 γ_x = max|X|,并应用:
Q_x(X) = (γ_x / 127) · RoundClip((127/(γ_x + ε))X, -128, 127) (2)
方程(1)和(2)中的量化器包含不可微操作,例如取整和裁剪。遵循先前低位 Transformer 训练实践[62, 40],我们在反向传播期间使用直通估计器(STE)[2]来近似这些量化算子的梯度。
同时量化权重和激活使得 Transformer 对激活异常值和非线性漂移更加敏感[40]。遵循先前工作[39, 69],我们通过在每个 Transformer 块内插入子层归一化(SubLN)模块来执行模型优化。具体地,令 A_ℓ 为第 ℓ 层输出投影前的拼接多头注意力输出,F_ℓ 为下投影前的中间前馈表示。我们将残差更新优化为:
Y_ℓ = X_ℓ + BitLinear_{o,ℓ}(SubLN(A_ℓ)),
X_{ℓ+1} = Y_ℓ + BitLinear_{d,ℓ}(SubLN(F_ℓ)) (3)
其中 X_ℓ 表示第 ℓ 层的输入隐藏状态,Y_ℓ 是中间结果。相似文章
Bitnet.cpp:面向三值大语言模型的高效边缘推理
Bitnet.cpp 提出了一个混合精度矩阵乘法库,用于高效边缘推理三值大语言模型(如 BitNet b1.58),相比全精度基线实现了高达 6.25 倍的加速。该系统已在 GitHub 上开源。
BitNet是个死胡同吗?三进制大语言模型发生了什么?
文章质疑为何像BitNet这样的三进制语言模型在初期显示出潜力后,却未能扩展到超过2B参数,并讨论了开放权重AI实验室明显缺乏进展的情况。
@vintcessun: 原来LLM文本embedding被高频token(句号、冠词)绑架了!Unembedding矩阵隐式定义了一个低秩子空间,主导这些无信息量的表达。这是LLM作为通用embedding效果不佳的根本原因,且污染很隐蔽。EmbedFilter…
该研究揭示了LLM文本嵌入被高频token(如句号、冠词)绑架的问题,提出EmbedFilter方法通过对unembedding矩阵进行SVD分解并减去投影分量来释放真实语义,实现零训练开销的降维和检索效率提升。
@JulieKallini: Fast Byte Latent Transformer 被 ICML 2026 接收!字节级语言模型有望摆脱子词分词器,但解码……
快速字节潜在变换器(BLT-D)已被 ICML 2026 接收,它引入了一种文本扩散方法,用于并行字节级解码,以克服传统字节级语言模型的速度限制。
快速字节潜在Transformer
本文介绍了用于字节级语言模型的BLT扩散(BLT Diffusion)和投机解码技术,在保持生成质量的同时,显著降低了生成延迟和内存带宽成本。