文本嵌入技术是自然语言处理(NLP)的核心,广泛应用于检索、分类、聚类、问答和摘要等任务。随着预训练语言模型(PLM)如BERT、T5和LLaMA的出现,文本嵌入进入了“通用+可迁移”时代。本文综述了通用文本嵌入(GPTE)的架构、数据和模型,探讨了PLM如何为GPTE带来基础能力和高级扩展。文章涵盖了GPTE的典型架构、PLM在GPTE中的关键作用、多模态和多语言GPTE的发展趋势,以及代码嵌入的最新进展。最后,文章总结了GPTE的现状和未来发展方向,指出数据合成、对比学习和大模型上下文窗口是当前性能提升的关键。
🔍 GPTE 架构以 Bi-Encoder + 对比学习为核心,利用任意 PLM(如 BERT、T5、LLaMA)作为主干,通过池化(CLS/ Mean/ Last-Token/ Prompt-Pooling)和训练(大规模文本对 + InfoNCE 对比损失)生成嵌入表示。
📈 PLM 为 GPTE 带来基础能力,包括嵌入抽取(CLS/ Mean/ Last-Token/ 多层融合)、长文本处理(RoPE、Alibi、LongEmbed)、训练策略(多阶段:弱监督→高质量)、学习目标(CL + MLM + MRL + KDG)和数据合成(LLM 生成正/负样本)。
🌐 多模态 GPTE 正在兴起,典型应用是 RAG 检索,模型如 E5-VT、ILLaVA-NeXT 和 MegaPairs 支持图文编码和统一检索。多语言 GPTE 模型如 mE5XLM 和 BGE-M3 支持跨语种检索和长文本处理。
💻 代码嵌入在 LLM 时代取得进展,模型如 CodeLlama 和 DeepSeek-Coder 直接进行代码嵌入,采用对比学习方法如 UniXcoder 和 ContraBERT 提升性能。
🚀 未来 GPTE 模型将需要“会推理、懂安全、能解耦”,数据合成、对比学习和大模型上下文窗口将继续推动性能提升。
2025-08-24 23:22 上海

文本嵌入(Text Embedding)几乎贯穿了所有 NLP 任务:检索、分类、聚类、问答、摘要……随着 BERT、T5、LLaMA/Qwen3 等预训练语言模型(PLM)的出现,文本嵌入进入了“通用+可迁移”时代。哈工大这篇 30+ 页综述系统回答了(论文链接在文末):
通用文本嵌入(GPTE)的架构、数据、模型PLM 到底给GPTE带来了哪些基础能力与高级扩展?图1:GPTE 典型架构——Bi-Encoder + 对比学习骨干:任意 PLM(BERT、T5、LLaMA…)池化:CLS / Mean / Last-Token / Prompt-Pooling训练:大规模文本对 + InfoNCE 对比损失微调:任务特定的轻量适配(LoRA、Adapter)
Embedding训练数据
50种有代表性的开源 GPTE 方法(模型)模块 | 关键做法 | 代表工作 |
|---|
(1)嵌入抽取 | CLS / Mean / Last-Token / 多层融合 | SBERT、E5、GTE | (2)长文本 | RoPE、Alibi、LongEmbed | Jina-v3、MosaicBERT | (3)训练策略 | 多阶段:弱监督→高质量 | E5-Mistral | (4)学习目标 | CL + MLM + MRL + KD | GTE-MLM、DiffCSE | (5)数据合成 | LLM 生成正/负样本 | Promptagator、Qwen3-Emb | 
基于不同预训练语言模型(PLM)主干的通用文本嵌入(GPTE)模型性能对比,聚焦于广泛采用的开源 PLM:模型规模越大、主干越强,GPTE 性能越好,但解码器架构需更多参数才能与编码器架构匹敌。(6) 多模态说到多模态,典型应用是RAG检索,从rag到multimodal-rag已然成一种趋势另外现有MLLM能力也都很强,给一张照片,就能基于掌握的知识(结合河流走向和城市结构)推理出这是:纳什维尔(Nashville)是美国田纳西州
模型 | 模态 | 训练数据 | 特色 |
|---|
E5-V | T + I | LLaVA-NeXT | 把 LLM 当图文编码器 | VLM2Vec-V2 | T + I + V | Qwen2-VL | 统一视频/图像/文档检索 | MegaPairs | T ↔ I | 合成 500M 图文对 | 数据即战力 | 表6:多模态嵌入模型全家福表7:多模态嵌入数据(7) 多语言模型 | Backbone | 语言数 | 亮点 |
|---|
mE5 | XLM-R | 100+ | 中英跨语种零样本检索 | BGE-M3 | XLM-R + Long | 200+ | 8192 token 长文本 | 表4:多语言 GPTE 模型概览表5:多语言 GPTE 训练数据概览(8) 代码嵌入早期:CodeBERT、GraphCodeBERT(结构+文本)LLM 时代:CodeLlama、DeepSeek-Coder → 直接做 Code Embedding对比学习:UniXcoder、ContraBERT、CodeSage表8:基于 CL 的代码嵌入模型表9:代码嵌入的训练数据PLM 让文本嵌入从“专用”走向“通用”,现在正迈向“多模态+多语言+多任务”大一统。数据合成 + 对比学习 + 大模型上下文窗口,是当前性能提升的三板斧。下一步,嵌入模型需要“会推理、懂安全、能解耦”,而不仅是向量维度更高。 https://arxiv.org/pdf/2507.20783v1
On The Role of Pretrained Language Models in General-Purpose Text Embeddings: A Survey

一起“点赞”三连↓