预训练模型语义相似性计算: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中仍然适用。
热门推荐
伊斯兰教的主要教义
玻璃钢缠绕化粪池:农村环境治理的绿色利器
玻璃钢化粪池:环保新宠儿!
怎么理解风险管理的基本原则?
外资青睐哪些医药健康股?
录音证据在法律诉讼中的效力解析
华山医院:如何通过健康教育提升院感意识?
三级医院评审标准下的口腔科院感管理实践
《上海专家院感共识》:现代医院感染管理新标杆
医院建筑设计:如何有效防控院内感染?
Steam语音聊天小技巧,让你在游戏中如虎添翼!
秋冬调理脾胃,这三种中药你值得拥有!
脾胃虚弱调理全攻略:从药物到饮食,专家推荐的实用方案
张柏芝:从万人追捧到单亲妈妈,一个明星的自我救赎之路
欧阳修笔下的元宵节:一场跨越千年的浪漫邂逅
元宵节家庭温馨祝福语大集合!
汉文帝与元宵节:一段被误读的历史渊源
红色沃土绽放文旅之花
青春志愿行,真情暖人心
相机镜头、焦距与视野
心肾不交:原因、治疗方法及注意事项
唐代巴蜀民谣《巴女谣》背后的历史故事
巴女谣与竹枝词:唐代民歌的两种艺术呈现
邯郸:从“钢铁重镇”到“生态绿城”的华丽转身
AI书评写作:开启个性化创作新篇章
“文章四友”:初唐文化的领航者
初唐“文章四友”诗作特色大揭秘
凯尔特人vs拜仁:欧冠大战一触即发!
凯尔特人 vs 拜仁:谁将主宰欧冠战场?
双十一教你辨别真假青花椒和红花椒