预训练模型语义相似性计算:M3E和BGE详解
创作时间:
作者:
@小白创作中心
预训练模型语义相似性计算:M3E和BGE详解
引用
CSDN
1.
https://blog.csdn.net/choose_c/article/details/139246631
在自然语言处理领域,预训练模型的语义相似性计算是衡量模型性能的重要指标之一。本文将介绍两种在该领域具有代表性的预训练模型:M3E和BGE。
M3E
M3E由MokaAI训练并开源。其主要特点如下:
- 大规模中文句对数据集:包含超过2200万个中文句对数据,且已开源。
- 多功能支持:支持同质相似句计算(s2s)和异质检索(s2p),未来还将支持代码检索。
- 基座模型:基于RoBERTa架构,支持进一步微调。
BGE
BGE由北京智源人工智能研究院发布,相关研究论文为《C-Pack: Packed Resources For General Chinese Embeddings》。该论文推出了一个全面的中文嵌入资源包C-Pack,其中包括:
- C-MTP:一个大型的文本嵌入训练集,包含大量非监督语料库和高质量标注的有监督语料库。
- C-MTEB:一个涵盖6个任务和35个数据集的中文文本嵌入基准。
- BGE:一系列多尺寸的文本嵌入模型。
所有相关资源可在GitHub仓库FlagOpen/FlagEmbedding中获取。
BGE的训练流程
- 预训练:在大规模高质量中文语料上采用RetroMAE风格的预训练方法。
- 通用微调:在C-MTP无监督语料上进行对比学习,通过增大批次来增强嵌入的判别性。
- 特定任务微调:在C-MTP有监督语料上进行指令微调,并为每个文本对挖掘硬负样本(ANCE)。
BGE-m3
BGE-m3是一个具有多语言、多粒度和多功能特性的文本嵌入模型。其主要特点包括:
- 多语言支持:支持超过100种语言。
- 多粒度处理:能够处理最多8192个token的输入。
- 多功能性:支持密集检索、多向量检索和稀疏检索。
技术贡献
- 自我知识蒸馏方法:通过集成来自不同检索功能的相关性分数作为教师信号,以提高训练质量。
- 优化的批处理策略:实现大批量和高训练吞吐量,确保嵌入的判别性。
混合检索方法
- 密集检索:使用[cls]表示query向量,通过内积计算相关性。
- 词汇(稀疏)检索:基于公共token的权重计算相关性。
- 多向量检索:计算query和passage token之间的相关性(参考colBERT)。
自我知识蒸馏过程
- 第一步:在无监督数据上使用密集检索损失进行对比学习。
- 第二步:在有监督语料上使用自我知识蒸馏训练,其中混合检索损失作为教师模型的监督信号。
训练流程优化
- 文本长度采样:确保每个批次内的文本长度相对一致,以减少填充。
- 分批处理:将一个批次的数据分成多个小批次,编码文本并收集向量,最后汇总计算损失。
长文本优化
- MCLS(Multiple CLS):在固定数量的token之间插入cls token,通过平均所有cls token的最后隐藏状态来获得最终的文本嵌入。
注:BGE中使用的其他技术(如RetroMAE、ANCE等)在BGE-m3中仍然适用。
热门推荐
如何制作高质量的答辩PPT?
Matter & CRPS 联合专辑:摩擦纳米发电机
生物质颗粒的常见应用
消费者通过中介买卖二手房,因“格式合同”发生纠纷如何维权?
什么决定了眼睛的大小?
三甲医院医疗保险
4種「超級食物」幫你擺脫膚色暗沉蠟黃!醫再教2招省錢養出好皮膚
口吃怎么检查
资源死锁检测的分配图RAG算法
化简资源分配图判断是否发生死锁
揭秘猫咪突然满屋子疯跑的原因
股权收购如何评估价值
体育名师圈重点!关于“体育八条”的科学暴汗指南来了
护眼吸顶灯选购全攻略:避坑指南与优质推荐
一根香蕉的热量 减肥期间如何合理食用香蕉
阳明头痛的中药治疗方法
Excel中按班级添加序号的多种方法详解
Photoshop偏移(Offset)命令制作无缝拼接图案
有一种胸口刺痛非常危险,心脏发出的7个信号值得警惕
专家解读:如何科学选择老年痴呆治疗药物
新型抗生素,治疗多重耐药菌的曙光
加强电影合作,促进中法人文交流(国际视点)
在中国船政文化发祥地探寻中法友谊
脑基底节出血的严重程度判断及处理建议
土豆条怎么炸才能酥脆不回软(炸薯条多加1个步骤,薯条香酥脆不回软)
医院管理系统在疫情防控和卫生管理中的应用
入职离职流程管理规定怎么制定才能符合企业需求?
孩子在6-12岁,除了学习,还有哪些品质和习惯需要培养?
舌质紫黯是什么意思
柿子树的种植时机:自然与农艺的协奏曲