如何训练Embedding Model

BGE的技术亮点:

  • 高效预训练和大规模文本微调;
  • 在两个大规模语料集上采用了RetroMAE预训练算法,进一步增强了模型的语义表征能力;
  • 通过负采样和难负样例挖掘,增强了语义向量的判别力;
  • 借鉴Instruction Tuning的策略,增强了在多任务场景下的通用能力。

数据集的构成:

RetroMAE预训练

主要思想是:encoder用小一点的mask rate得到sentence embedding,然后decoder用大一点的mask rate结合encoder得到的sentence embedding进行重构

此外,为了使得每个token使用的context信息不同,RetroMAE还使用了增强解码的方法

  • 解码的时候每一行都带,上下文信息和位置信息

微调

  • 主要通过对比学习和Instruction Tuning的思想

对比学习是一种训练模型的方法,通过比较正例和反例来学习数据的表示。

  • 输入数据的格式:模型接受三元组格式的数据作为输入,包括一个查询(query),一个正例(positive),和一个反例(negative)。

  • in-batch negatives 策略:除了上述三元组中的反例外,他们还采用了"in-batch negatives"策略,意思是在同一个批次的数据中,使用其他数据作为额外的反例。

  • cross-device negatives sharing method:这是一种在不同的GPU之间共享反例的方法,目的是大大增加反例的数量。

  • 训练硬件和参数:使用了48个A100(40G)的GPU进行训练。批次大小为32,768,因此每个查询在批次中有65,535个反例。使用了AdamW优化器,学习率为1e-5。对比损失的温度为0.01。

  • 在训练中为检索任务的查询添加了instruction。 对于英语,指令是Represent this sentence for searching relevant passages: ; 对于中文,指令是为这个句子生成表示以用于检索相关文章:. 在评测中,针对段落检索任务的任务需要在查询中添加指令,但不需要为段落文档添加指令。

相关推荐
zeroporn13 天前
以玄幻小说方式打开深度学习词嵌入算法!! 使用Skip-gram来完成 Word2Vec 词嵌入(Embedding)
人工智能·深度学习·算法·自然语言处理·embedding·word2vec·skip-gram
一个处女座的程序猿14 天前
LLMs之Embedding:Qwen3 Embedding的简介、安装和使用方法、案例应用之详细攻略
llm·embedding
酌沧16 天前
Qwen3 Embedding 结构-加载-训练 看透模型设计哲学
人工智能·embedding
羊小猪~~16 天前
【NLP入门系列三】NLP文本嵌入(以Embedding和EmbeddingBag为例)
人工智能·深度学习·神经网络·自然语言处理·大模型·nlp·embedding
jieshenai17 天前
MTEB:基于 Embedding 的文本分类评估与实战解析
人工智能·分类·embedding
LeeZhao@18 天前
【狂飙AGI】第6课:前沿技术-文生图(系列2)
人工智能·自然语言处理·aigc·embedding·agi
LeeZhao@22 天前
【狂飙AGI】第4课:前沿技术-具身智能
语言模型·自然语言处理·aigc·embedding·agi
wshzd23 天前
LLM之RAG实战(五十六)| Ollama部署下载Qwen3-Embedding向量模型和Qwen3-Reranker重排模型
embedding
Python测试之道24 天前
RAG实战:基于LangChain的《肖申克的救赎》知识问答系统构建指南
langchain·embedding·rag·deepseek
AlfredZhao1 个月前
曾经风光无限的 Oracle DBA 已经落伍了吗?
ai·vector·embedding·onnx·hnsw·ivf