预训练模型语义相似性计算: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中仍然适用。
热门推荐
大便异常,肠癌预警?警惕这三种迹象,小心肠癌来临!
银行理财产品投资风险承受能力评估指南
产品经理的决策力度如何
为什么医生不建议针清
无本开源:如何利用自己的技能和资源开始挣钱
不会区分上下联的看过来了!手把手教你贴春联!
角膜塑形镜的适用标准是什么?
道教为何提倡初一、十五斋戒素食?
会喝茶,常喝茶能活到108岁?从茶寿说起,饮茶6大好处与喝茶8大建议
研讨会项目规划怎么写
黄金回收价格现状分析及其反映的市场变化
4.8万余人参加!2025年河北省春季大型招聘会成功举办
破解招聘困局:HR必知的5类真实薪资数据获取渠道
高度近视 还真不能做剧烈运动
高度近视患者为何不宜剧烈运动?手术后又该如何?
游戏公司正用大模型生成角色,不仅附带详细人物背景,还能以多种方式互动
姊妹与姐妹有什么区别
焦虑抑郁如何自我调节?
四维空间真的存在吗?四维生物在人类眼里是“神”一般的存在?
探讨拘役不能假释的原因及法律规定
烧伤患者预防感染
佛教文化中的须弥山
网购未收到货退款怎么办
混用消毒剂?当心消毒变“投毒”!
如何使用示波器测量电流
市净率的定义和计算方法是什么?市净率在股票估值中有什么作用?
3.0T磁共振(MRI):无创、精准的医学影像技术
如何选择显示器色域?适合你的主流标准解析
基因研究发现中国人基因的千年变迁:直发始于1.9万年前,变白始于7500年前
立春回暖 成都各赏花地即将迎来“人从众”模式