Embedding模型作为RAG中检索召回的重要一环,扮演着极其关键的角色,直接影响到信息检索的效果和生成文本的质量。更加准确的Embedding模型在抑制模型幻觉、提升封闭领域回答能力等方面都能发挥优势。
为了解决传统机器学习文本处理中的维度灾难和特征语义信息捕捉不足的问题,研究者们提出了许多新的Embedding模型,它可以将高维度的数据转化为低维度的嵌入空间,并保留原始数据的特征和语义信息,从而提高模型的效率和准确性。
C-MTEB是由北京智源研究院发布的最大规模、最为全面的中文语义向量表征能力评测基准,包含分类、聚类、句对分类、重排、检索和句子相似度六大类评测任务和31个数据集。
注:空白处为数据尚未公布或更新
虽然我们可以通过MTEB排行榜对比不同向量模型的差异,但也只能作为一个参考,这些模型在公开数据集上的benchmark在垂直领域、企业自身的业务领域不一定成立,具体选择哪个向量模型还需结合业务特点进行综合比较、权衡。
GTE(GeneralTextEmbedding)系列模型是由通义实验室开源的一系列通用文本表征和分析模型,它们专为RAG(检索增强生成)等检索场景设计,以提供先进的文本表征和排序功能。该系列包括基于BERT架构的模型以及基于QwenLLM系列训练的大型语言模型(LLM)嵌入模型,例如gte-Qwen2-1.5B-instruct和gte-Qwen2-7B-instruct。目前,基于双向注意力机制的Encoder-only结构模型,在召回和排序效果上,相较于Decoder-only模型显示出明显的性能优势。
尽管如此,现有的基于Encoder-only的Embedding和Ranking模型仍然面临一些源自BERT时代的挑战,例如最长上下文长度限制为512个token,以及预训练阶段使用的语料库规模不足。为了克服这些问题,GTE模型的开发团队从零开始,训练了一种新的Encoder-only基础模型,该模型能够支持更长的上下文和多语言处理。在此基础上,他们推出了最新版本的GTE-Multilingual系列模型,简称为mGTE模型。这些模型旨在提供更强大的多语言支持和更长上下文的处理能力,以满足现代NLP任务的需求。
gte-Qwen2-7B-instruct模型是基于Qwen2-7BLLM模型训练的,整合了双向注意力机制,增强了模型对上下文的理解能力;模型仅在查询侧进行指令微调,这种针对性的微调提高了模型在特定任务上的效率和性能;模型在包含多种语言的大型文本语料库上进行训练,这使得模型能够适用于多种语言和多种下游任务。
商汤自研的通用Embedding模型Piccolo2目前支持512/2K/8K三种向量长度,其中8K模型是目前(2024.6.12)中文Embedding中能够实现对标OpenAI向量长度的模型。无论是应对幻觉和可解释性,还是应对长文,Piccolo2加持的商汤日日新5.0都完美地完成了从长文中处理和获取信息的任务。相比之前同量级的SOTA模型acge-embedding,Piccolo2模型综合评分提升了约1.9个点。
受到OpenAI的text-embedding-v3的启发,商汤在研发Piccolo2时,也扩大了Embedding的维度尺寸,从1024增加到1792。
与上一代(Piccolo)相比,Piccolo2主要利用高效的多任务混合损失训练方法,有效地利用来自不同下游任务的文本数据和标签。同时,Piccolo2扩大了嵌入维度,并使用MRL训练来支持更灵活的向量维度。除了训练方法之外,Piccolo2还利用了一个数据合成框架和难负挖掘方法,以不断扩充数据集的数量和质量。
合合信息的acge模型在设计上充分考虑了实际应用的需求。与目前C-MTEB榜单上其他的开源模型相比,acge模型在保持高性能的同时,具有更小的模型体积和更低的资源占用,且模型输入文本长度为1024,使其更适用于实际生产环境。此外,模型支持的可变输出维度功能,使得企业可以根据具体场景灵活调整资源分配,进一步优化应用效果。
值得一提的是,acge模型不仅在传统文本处理任务中表现出色,还能在不同场景下构建通用分类模型,提升长文档信息抽取精度,为大模型在多个行业中的快速应用提供了有力支持。这一特性使得acge模型在帮助企业实现数字化转型、提升业务效率等方面具有广阔的应用前景。
BGE系列的技术亮点:
Dmeta-embedding是一款跨领域、跨任务、开箱即用的中文Embedding模型,适用于搜索、问答、智能客服、LLM+RAG等各种业务场景,支持使用Transformers/Sentence-Transformers/Langchain等工具加载推理。优势特点如下:多任务、场景泛化性能优异,模型参数大小仅400MB,对比参数量超过GB级模型,可以极大降低推理成本支持上下文窗口长度达到1024,对于长文本检索、RAG等场景更适配。
OpenAI的embedding模型如text-embedding-ada-002,通过将五个独立的模型(文本相似性、文本搜索-查询、文本搜索-文档、代码搜索-文本和代码搜索-代码)合并为一个新的模型,在长文本搜索、文本相似性和代码搜索等任务上表现出色,它支持8191tokens的输入长度。不过,OpenAIEmbedding并不是免费的,而是根据token数量来收费,这可能会增加一定的使用成本。
第二章已经列出各个向量模型在支持序列长度、向量维度等方面的差异以及在检索和重排任务上的性能比较。下面列出一些关键的考量点:
纯参数化语言模型(LLM)将从大量语料库中获取的世界知识存储在模型的参数中。本身有以下的局限性: