预训练模型语义相似性计算(十一) - M3E和BGE

news2025/1/4 18:45:35
M3E

m3e由MokaAI 训练,开源和评测。

m3e的详细介绍可以看官方的github介绍。本文简要摘录其中一些点,以便后续的应用。
1.千万级 (2200w+) 的中文句对数据(开源)。
2.支持同质相似句计算(s2s)和异质检索(s2p),后续支持代码检索。
3.m3e基座模型为roberta,支持微调。

C-Pack

bge由北京智源人工智能研究院发布。
论文:C-Pack: Packed Resources For General Chinese Embeddings
论文推出了一个中文的嵌入资源包c-pack。
其中包括了:
        1.C-MTP,一个大型的文本嵌入训练集,包括了大量的非监督语料库和高质量标注的有监督语料库。
        2.C-MTEB,一个涵盖6个任务和35个数据的中文文本嵌入基准。
        3.BGE,多尺寸的文本嵌入模型。
所有资源:GitHub - FlagOpen/FlagEmbedding: Retrieval and Retrieval-augmented LLMs

C-MTEB和C-MTP的数据组成和BGE的三阶段训练流程如下图所示:

BGE

1,预训练,在大规模高质量中文语料上进行预训练,预训练方法为MAE风格的RetroMAE
2.通用微调,在C-MTP无监督语料下进行对比学习,没有特意挖掘负样本,而是以来批次内负样本,并通过增大批次从而增加嵌入的判别性。
3.特定任务微调,在C-MTP有监督语料下训练,有监督语料量少但是质量高,为了缓解语料任务之间的矛盾,微调使用指令微调。另外,除了批内负样本外,还为每个文本对挖掘一个硬负样本(ANCE)

BGE-m3

论文:BGE M3-Embedding: Multi-Lingual, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation

模型特点:

1.多语言:支持超过100种语言
2.多粒度:不同粒度的输入,最多8192个token
3.多功能:密集检索,多向量检索,稀疏检索

技术贡献:

1.自我知识蒸馏方法,其中来自不同检索功能的相关性分数可以集成为教师信号以提高训练质量。2.优化了批处理策略,实现了大批量和高训练吞吐量,以确保嵌入的判别性。

混合检索

密集检索
使用[cls]表示query向量,内积表示相关性
词汇(稀疏)检索
使用公共token的权重表示相关性
多向量检索 
query和passage token之间计算相关性  colBERT https://www.bilibili.com/read/cv33838680/

自我知识蒸馏
训练过程

第一步 使用密集检索的损失在无监督数据上进行对比学习。
第二部 在有监督语料上使用自我知识蒸馏训练。
自我知识蒸馏过程:
    1.混合检索损失 = 密集检索损失 + 稀疏检索损失 + 多向量检索
    2.使用混合检索的损失作为教师模型监督信号,其中任何一个检索方式的得分作为学生模型。
    3.最后将蒸馏损失和混合检索损失作为最后的损失。

训练流程优化
    根据文本长度采样,确保一个batch内文本长度相对相似,从而减少填充。
    将一批数据分成多个小批。对于每个小批,我们利用模型编码文本,收集输出的向量同时丢弃所有前向传播中的中间状态,最后汇总向量计算损失。

长文本优化
    MCLS(Multiple CLS):为每个固定数量的token插入一个cls token,每个cls token可以从相邻的token获取语义信息。最后,通过对所有cls token的最后隐藏状态求平均值来获得最终的文本嵌入。

注:BGE中其他的方法(RetroMAE、ANCE等)在BGE-M3中仍然使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1709425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

景源畅信:抖音小店新手小白如何做好运营?

在数字时代的浪潮中,抖音小店成为了众多创业者和商家的新宠。但面对激烈的市场竞争和不断变化的平台规则,新手小白如何才能在抖音小店的海洋里稳健航行,捕捉到属于自己的商机呢?接下来的内容将为你揭晓答案。 一、精准定位,明确目…

20240521在Ubuntu20.04下编译RK3588平台的IPC方案

20240521在Ubuntu20.04下编译RK3588平台的IPC方案 2024/5/21 15:27 viewproviewpro-ThinkBook-16-G5-IRH:~$ viewproviewpro-ThinkBook-16-G5-IRH:~$ md5sum RK3588_IPC_SDK.tar.gz 7481cc8d59f697a5fa4fd655de866707 RK3588_IPC_SDK.tar.gz viewproviewpro-ThinkBook-16-G5…

三维科技云展厅如何突破传统展览的局限,赋能企业高效展示

一、三维科技展厅如何实现科技展示 1、高度互动的展示方式 三维科技展厅通过虚拟现实和3D建模技术,为观众提供高度互动的展示体验。观众可以身临其境地参观展品,从而获得更为真实的感受。这样的展示方式不仅能够吸引观众的注意力,还能够提高他…

微服务架构五大设计模式详解,助你领跑行业

微服务架构设计模式详解(5种主流模式) 微服务架构 微服务,一种革命性的架构模式,主张将大型应用分解为若干小服务,通过轻量级通信机制互联。每个服务专注特定业务,具备独立部署能力,轻松融入生产环境,为系…

据库管理-第195期 Oracle RDMA(20240527)

数据库管理195期 2024-05-27 数据库管理-第195期 Oracle & RDMA(20240527)1 RDMA & Exadata2 RDMA & OCI3 RDMA的难点总结 数据库管理-第195期 Oracle & RDMA(20240527) 作者:胖头鱼的鱼缸&#xff08…

平方回文数-第13届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第73讲。 平方回文数&#…

nginx编译安装手把手教学

编译安装nginx的第一步需要从nginx的官网找到nginx最新的稳定版本 下面这是官方网站的资源下载地址 https://nginx.org/en/download.html选中稳定版本点击右键——选择复制链接 在终端内使用wget指令官网下载地址,将nginx下载 使用wget指令下载 wget https://ng…

Docker 快速搭建 MongoDB 4.x 集群(一主一从)

目录 1. 生成 mongo-file2. 启动主节点3. 启动从节点4. 配置副本集5. 注意事项 环境:MongoDB 4.0.25,Alma Linux(建议使用 Linux) 部署的时候是在同一个及其上操作的,实际可以放在不同机器上。 截止到 2024年05月&…

Golang 创建第一个web项目(Gin + Gorm)

1. 写这篇博客的由来: 当你想使用最快的框架创建项目的时候是不是有点束手无策? 当你想配置数据库写 SQL 甚至不知道如何写,文件夹都不知道建在哪里? 😄因为Golang 目前并没有 JAVA 那种硬性规范,但是…

【Python】 用Python的Pandas库美化打印Series和DataFrame

基本原理 在Python的数据分析领域,Pandas是一个非常重要的库。它提供了丰富的数据结构和数据分析工具,使得处理大型数据集变得简单高效。当你使用Pandas处理数据时,经常需要查看数据的预览,这时候美化打印(Pretty-pri…

SSMP整合案例第一步 制作分析模块创建与开发业务实体类

制作分析 我们要实现一个模块的增删改查 实际开发中mybatisplus用的不多,他只能对没有外键的单表进行简单的查询 但在这个案例中我们还是选择mybatisplus开发 模块创建 我们把所有服务器都放在一起 就不用前后端分离 我们尝试用后端开发进行全栈开发 新建项目添…

【分支控制】(switch) 详解

switch分支结构 基本语法 switch (表达式){case 常量1: //当...语句块1;break; //跳出switchcase 常量2:语句块2;break;...case 常量n;语句块n;break;default:default语句块;break;}switch 关键字, 表示switch分支表达式, 对应一个值case 常量1: 当表达式的值等于常量1, 就执行…

FreeRTOS_信号量_学习笔记

信号量的特性 消息队列用于传输多个数据,但是有时候我们只需要传递状态,这个状态值需要用一个数值表示。套用队列笔记中的流水线例子,可以理解为流水线上工件的数量。 信号:起通知作用 量:还可以用来表示资源的数量 当…

232转Profinet网关接扫码枪与PLC通讯在物流分拣线上的应用

一、背景 随着生活节奏的加快,网络购物需求非常大,从而造成快递站需要快速提取快递信息已达到快速出站的效果,这就用到了扫码枪,扫码枪作为采集设备,能够迅速准确地读取货物信息。并将数据传输至PLC控制器&#xff0c…

antd design 自定义表头

<template><a-card :bordered"false"><div class"contentWrap"><!-- 查询区域 --><div class"table-page-search-wrapper"><a-form layout"inline" keyup.enter.native"searchQuery">&…

【InternLM实战营第二期笔记】03:“茴香豆“,搭建你的 RAG 智能助理(未完成)

文章目录 笔记-RAG课程结构为什么要用 RAG&#xff1f;定义工作原理向量数据库RAG 工作流程发展历程常见优化RAG vs 微调LLM 优化方法比较RAG的评价总结 笔记-茴香豆什么是茴香豆茴香豆实战 笔记-RAG 课程结构 为什么要用 RAG&#xff1f; 新增知识&#xff0c;尤其是高频变动…

利用开源工具创建WEBGIS应用

在本文中&#xff0c;我们将大致说明利用开源工具如何与服务器交互以构建交互式或动态 Web GIS。 WebGIS 应用程序已成为展示地理数据的重要模式。我们现在拥有允许用户交互的机制&#xff0c;以便用户可以选择数据&#xff0c;甚至修改或添加新数据。 什么是WEBGIS? 通过网络…

三十、openlayers官网示例解析Double click, Drag and Zoom——第二次点击鼠标拖拽缩放地图效果、取消地图双击放大事件

这篇展示了如何在地图上添加第二次按下鼠标移动鼠标实现拖拽缩放地图效果。 官网demo地址&#xff1a; Double click, Drag and Zoom 官网介绍文字的翻译如下&#xff1a; 示例比较简单&#xff0c;直接贴代码&#xff1a; const map new Map({//添加第二次点击拖拽缩放地图i…

Meta 推出新型多模态 AI 模型“变色龙”(Chameleon),挑战 GPT-4o,引领多模态革命

在人工智能领域&#xff0c;Meta 近日发布了一款名为“变色龙”&#xff08;Chameleon&#xff09;的新型多模态 AI 模型&#xff0c;旨在挑战 OpenAI 的 GPT-4o&#xff0c;并刷新了当前的技术标准&#xff08;SOTA&#xff09;。这款拥有 34B 参数的模型通过 10 万亿 token 的…

探索机器人智能设备:开启智慧生活新篇章

机器人智能设备作为科技创新的代表&#xff0c;正以其独特的魅力吸引着越来越多的关注。它们不仅具备高度的智能化和自主化能力&#xff0c;还能在各种场景下发挥出强大的功能。 机器人智能设备的张总说&#xff1a;在智能家居领域&#xff0c;机器人智能设备可以帮助我们实现家…