Embedding模型有哪些类型?除了BERT,还有其他结构的模型吗?

embedding-model是将自然语言转换成稠密向量的模型。我们日常使用的embedding-model大多是基于Bert进行数据微调得到的。但是是否只有bert这种auto-encoder结构的模型才能做embedding-model,是否有基于auto-regress或者encoder-deconder结构的embedding-model。

总结

1、现有的EmbeddingModel主流是基于Bert-Style的小模型。

2、目前的主流训练策略是使用大规模弱监督数据训练进行预训练,然后使用小规模高质量数据针对任务进行微调。

3、但是也出现了对于LLM微调的尝试,目前效果没有超过主流结构。

Fine-tunning 方法

Text2vec模型实验报告

text2vec(https://github.com/shibing624/text2vec) 是我们目前recall阶段使用的模型的,其中实现了几个常见的向量化模型:SBERT(Sentence-Bert), CoSENT(Cosine Sentence), BGE (BAAI general embedding)。其中SBERT 和CoSENT都是基于预训练模型进行微调的方法。

Embedding模型有哪些类型?除了BERT,还有其他结构的模型吗?

其中 bert, roberta, macbert是auto-encoding结构的模型,

ERNIE(ERNIE 3.0: Large-scale Knowledge Enhanced Pre-training for Language Understanding and Generation https://arxiv.org/pdf/2107.02137.pdf 百度,2021年, Transformer-xl结构) 是一种混合了auto-regressive network 和 auto-encoding netwoker的大模型,他认为单纯的使用auto-regressive方式进行训练,没有融入知识是大模型(T5, GPT-3)在下游工作中进行针对任务的微调但是表现不佳的原因。(Bart的升级?)

结论:可以看出经过微调后模型ernie的效果更好,但是这个结构可能是因为模型参数量带来的。主流还是Bert这种auto-encoding模型。

Pre-training模型

Auto-encoder 模型:

主流的embedding模型,例如Contriever, OpenAI Embeddings, E5, BGE等方法采用多阶段训练策略。

  1. 大规模无监督文本进行预训练。
  2. 小规模高质量有监督数据集进行微调。

GTE(阿里达摩院 2308)训练过程

  1. 训练的Loss是流行的infoNCE loss。
Embedding模型有哪些类型?除了BERT,还有其他结构的模型吗?
  1. 预训练阶段选取多元数据进行组合形成数据,共计800MB,利用数据之间的内在关系训练构建正负样本对。比如在问答平台中的问题和答案。
Embedding模型有哪些类型?除了BERT,还有其他结构的模型吗?
  1. 使用经过人工标注的小规模高质量数据共计(3百万个三元组)

LLM

初步探索但效果不佳:RepLLaMA, SGPT,GTR, Udever

E5-mistral-7b-instruct: 使用llm合成训练数据,微调mistral模型。

https://arxiv.org/pdf/2401.00368.pdf

  1. Llm 生成任务
Embedding模型有哪些类型?除了BERT,还有其他结构的模型吗?
  1. Llm 生成任务对应的数据
Embedding模型有哪些类型?除了BERT,还有其他结构的模型吗?
  1. 训练:

1)输入:{task_definition}是任务名称

Embedding模型有哪些类型?除了BERT,还有其他结构的模型吗?

2)取[EOS]位置的向量作为Embedding

3)Loss function:简单的对比学习Loss

Embedding模型有哪些类型?除了BERT,还有其他结构的模型吗?

MTEB(Massive Text Embedding Benchmark)中文榜单

https://huggingface.co/spaces/mteb/leaderboard

huggingface.co

Embedding模型有哪些类型?除了BERT,还有其他结构的模型吗?
rankmodelModelSize(GB)structure
1Baichuan-text-embedding
2Dmeta-embedding0.41encoder
3xiaobu-embedding1.3encoder(GTE微调)
4alime-embedding-large-zh1.3bert
5acge-large-zh0.65bert
6get-large-zh0.65bert
7get-base-zh0.2bert
8tao-8k0.67bert
9IYun-large-zh0.65bert
10tao0.65bert

推荐阅读:

如何用“加性边距”改善行业细分的Embedding模型?

Adapter是什么?Adapter在NLP中的用途是什么,能带来哪些好处?

GPT-4o背后的技术原理猜想有哪些?

咨询方案 获取更多方案详情                        
(0)
AI工程专家-秦AI工程专家-秦
上一篇 2024年6月19日 上午10:53
下一篇 2024年6月24日 上午10:38

相关推荐