当前位置: 首页 > news >正文

如何训练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: ; 对于中文,指令是为这个句子生成表示以用于检索相关文章:. 在评测中,针对段落检索任务的任务需要在查询中添加指令,但不需要为段落文档添加指令。

http://www.lryc.cn/news/206999.html

相关文章:

  • springboot配置redis、Spring cache
  • 悟空crm安装搭建 报错[0] RedisException in Redis.php line 56问题处理办法
  • Ubuntu22.04 交叉编译阿里oss c-sdk
  • arch linux 安装 vsftpd 配置虚拟用户
  • Django的查询所有,根据用户名查询,增加用户操作
  • 【adb】adb相关命令行及adb传输文件权限问题 remote couldn‘t create file: Read-only file system
  • 基于物联网云平台的分布式光伏监控系统的设计与实现
  • 初识Node.js开发
  • 【Python入门教程】基于OpenCV视频分解成图片+图片组合成视频(视频抽帧组帧)
  • 微前端qiankun接入Vue和React项目
  • 提升技能,一触即达!全新在线题库微信小程序等你来挑战!
  • 语雀P0级故障复盘,有9个字亮了
  • 在 openresty 中使用 capnp lua 库
  • 私藏小技巧:让微信朋友圈营销方便化的小窍门!
  • Centos使用tomcat部署jenkins
  • uni-app打包apk实现自动更新
  • SRS srs-bench
  • HackTheBox-Starting Point--Tier 1---Appointment
  • 【工具】Java请求带http重定向的地址 自动进行重定向
  • 接口自动化测试方案
  • TikTok文化探索:热议时事与社会话题
  • springboot操作nosql的mongodb,或者是如何在mongodb官网创建服务器并进行操作
  • QWEN technical report
  • 提升MODBUS-RTU通信数据刷新速度的常用方法
  • PyTorch 与 TensorFlow:机器学习框架之战
  • 超简单理解冒泡排序
  • 模拟IC设计工程师成长日记
  • 修炼k8s+flink+hdfs+dlink(六:学习namespace,service)
  • 法语导游就业前景如何?
  • iOS自动混淆测试处理笔记