[大语言模型-论文精读] 阿里巴巴-通过多阶段对比学习实现通用文本嵌入

news2024/9/29 11:47:50

[大语言模型-论文精读] 阿里巴巴达摩院-GTE-通过多阶段对比学习实现通用文本嵌入

1. 论文信息

在这里插入图片描述
这篇论文《Towards General Text Embeddings with Multi-stage Contrastive Learning》介绍了一种新的文本嵌入模型,名为GTE(General-purpose Text Embedding Model),它通过多阶段对比学习进行训练。
在这里插入图片描述

2. 研究背景与动机:

  • 文本嵌入在自然语言处理(NLP)任务中非常重要,例如文本分类、检索、问答和对话系统。
  • 近年来,大型语言模型(LLMs)的出现推动了对文本表示的进一步研究。
  • 现有的文本嵌入模型通常专注于特定任务,缺乏通用性。

3. 技术挑战:

  • 如何构建一个能够处理多种下游任务的统一文本表示模型。
  • 以往的训练策略或模型可能不适用于其他任务。
  • 现有的研究依赖于内部数据进行预训练,限制了模型的通用性和可访问性。

4. 解决方案:

  • 提出了一种新的文本嵌入模型GTE,通过多阶段对比学习进行训练。
  • 在无监督预训练阶段,使用从多个数据源收集的大规模文本对进行训练。
  • 在有监督微调阶段,使用人工标注的高质量文本对进行训练。

论文中的"Approach"部分详细介绍了GTE模型的训练过程和架构。以下是对这一部分的详细解析:

4.1 Model Architecture(模型架构)

GTE模型的骨干网络是一个深度的Transformer编码器,可以初始化为像BERT这样的预训练语言模型。模型采用的是传统的双编码器架构,并且在语言模型产生的上下文化token表示之上应用了均值池化。具体步骤如下:

  1. 文本表示:给定一段文本,模型首先使用预训练的语言模型获取深度上下文化的token表示。
  2. 均值池化:然后应用轻量级的均值池化来获取文本的总体表示。
    h = L M ( x ) ∈ R n × d x = 1 n ∑ i = 1 n h i ∈ R d \mathbf{h} = LM(x) \in R^{n \times d} \\ \mathbf{x} = \frac{1}{n} \sum_{i=1}^{n}\mathbf{h}_{i} \in R^{d} h=LM(x)Rn×dx=n1i=1nhiRd

4.2 Unsupervised Pre-training Data(无监督预训练数据)

在无监督预训练阶段,GTE模型使用从多个数据源提取的大规模文本对进行训练。这些数据源包括网页、学术论文、社区问答、社交媒体、知识库和代码库等。无监督预训练的目的是让模型学会区分语义相关的文本对和无关的文本对。

4.3 Supervised Fine-tuning Data(有监督微调数据)

在有监督微调阶段,GTE模型使用人工标注的文本对进行训练。这些数据涵盖了多种任务和领域,如网页搜索、开放域问答、自然语言推理、事实验证和释义等。微调的目的是进一步提升模型在特定任务上的性能。

4.4 Training Details(训练细节)

  • 数据采样:为了处理不同数据源之间的不平衡,论文中采用了多项式分布来从不同的数据源中采样数据批次。
  • 改进的对比损失:论文提出了一种改进的对比学习目标,它不仅使用了批次内的文档作为负样本,还结合了批次内的查询和文档。
  • 训练和评估:模型的训练包括两个阶段,分别是无监督对比预训练和有监督对比微调。在预训练阶段,使用大批量大小和多种优化技术来提高模型性能。在微调阶段,使用较小的批量大小和较长的序列长度来处理更长的文本。

关键点总结:

  • 双编码器架构:GTE模型使用传统的双编码器架构,通过均值池化获取文本表示。
  • 多阶段训练:包括无监督预训练和有监督微调两个阶段,利用了大规模的文本对数据。
  • 改进的对比学习:提出了一种改进的对比学习目标,扩大了负样本池。
  • 大规模数据采样:使用多项式分布进行数据采样,以处理数据不平衡问题。

5. 实验设置:

  • 在多个文本嵌入基准上评估GTE模型,包括MS MARCO、Natural Questions、TriviaQA等。
  • 还评估了模型在CodeSearchNet基准上的代码搜索能力,涵盖六种编程语言。

6. 结果:

  • GTE模型在多个基准测试中取得了优异的性能,即使在相对较少的参数(110M)下也超过了现有的嵌入模型。
  • 在没有针对每种编程语言进行单独微调的情况下,GTE模型在代码搜索任务上也表现出色。

7. 潜在应用:

  • 提升信息检索系统、问答系统、文本分类和文本聚类等任务的性能。
  • 作为研究社区在文本和代码嵌入方面的强大基准。

8. GTE与BERT的对比

GTE模型(General-purpose Text Embedding model)与BERT(Bidirectional Encoder Representations from Transformers)在设计和训练目标上有一些关键的差异:

  1. 训练目标和方法

    • BERT:BERT是一种基于Transformer的预训练语言模型,它通过masked language modeling(MLM)和next sentence prediction(NSP)任务进行训练。BERT的目标是学习文本的深层双向表示。
    • GTE:GTE模型专门针对文本嵌入进行训练,使用多阶段对比学习的方法。在无监督预训练阶段,GTE使用从网络上挖掘的大量文本对进行训练;在有监督微调阶段,使用人工标注的文本对进行训练,以提高嵌入的质量。
  2. 应用焦点

    • BERT:BERT旨在提供一个通用的文本表示,适用于各种下游NLP任务,如文本分类、命名实体识别、问答等。
    • GTE:GTE专注于生成高质量的文本嵌入,特别适用于需要文本相似性或检索任务的场景,如信息检索、文本聚类和代码搜索。
  3. 训练数据

    • BERT:BERT通常在大型的多领域文本数据集上进行预训练,如BookCorpus和English Wikipedia。
    • GTE:GTE在预训练阶段使用了更多样化的数据源,包括来自网页、学术论文、社交媒体、问答论坛等多种类型的文本对。
  4. 模型规模和效率

    • BERT:BERT有多种规模的模型,从较小的BERT-Mini到较大的BERT-Large,参数数量可以从1亿到3亿不等。
    • GTE:GTE模型虽然参数数量相对较少(例如110M参数的GTEbase版本),但通过多阶段对比学习,实现了与更大模型相媲美的性能。
  5. 微调策略

    • BERT:BERT模型通常在特定任务的数据集上进行微调,以适应该任务的需求。
    • GTE:GTE模型在有监督的微调阶段,使用了人工标注的高质量文本对,这些文本对来自多个不同的任务和领域。

总的来说,GTE模型在设计上更注重生成用于检索和相似性比较的高质量文本嵌入,而BERT则提供了一个通用的文本表示学习框架,适用于广泛的NLP任务。GTE通过特定的多阶段对比学习方法,在文本嵌入的质量上取得了显著的改进。

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

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

相关文章

低空经济时代:无人机飞行安全要点详解

随着低空经济的蓬勃发展,无人机(UAV)在农业、航拍、物流、应急救援等多个领域的应用日益广泛。然而,无人机的安全飞行不仅关乎任务的成功与否,更直接关系到地面人员、财产及空中交通的安全。本文将从飞行前检查、环境评…

大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

【Linux学习】【Ubuntu入门】1-2 新建虚拟机ubuntu环境

1.双击打开VMware软件,点击“创建新的虚拟机”,在弹出的中选择“自定义(高级)” 2.点击下一步,自动识别ubuntu光盘映像文件,也可以点击“浏览”手动选择,点击下一步 3.设置名称及密码后&#xf…

1Panel安装部署证书(httpsok.com)

1Panel安装部署证书(httpsok.com) 购买服务器 推荐购买香港服务器,这样通过域名访问就不需要备案。 创建静态站点 申请SSL证书 进入 httpsok.com,点击申请证书 输入站点域名 根据提示,添加DNS解析记录 添加成功后,提示域名验证…

如何在AI绘画SD中调节光照?这2个超好用的方法别错过!轻松生成AI人像光感大片!

大家好,我是画画的小强 在AI绘画Stable Diffusion 摄影艺术中,灯光的运用对于照片的质量和情感表达至关重要。它不仅能够彰显主题,还能为画面增添深度与立体感,帮助传递感情,以及凸显细节之美。 下面,我将…

YD-D3无线遥控声光报警器,微波探测预警安全设备

YD-D3无线遥控声光报警器‌是一种广泛应用于工厂车间、水泥厂、起重机、叉车、仓库、门吊、港口、车站等场所的安全报警设备。它通过大分贝喇叭播报语音提示以及高亮灯光示警,为现场人员安全保驾护航。该报警器采用集成电路设计,音质优美,抗干…

航顺芯片HK32MCU受邀出席汽车芯片国产化与技术创新闭门研讨会

[中国,北京,2024年9月21日]近日,深圳市航顺芯片技术研发有限公司(以下简称“航顺芯片”)产品总监郑增忠受邀出席由中国设备管理协会新能源汽车产业发展促进中心主办的“汽车芯片国产化与技术创新闭门研讨会”。 会上航…

基于单片机电容测量仪仿真设计

文章目录 前言资料获取设计介绍设计程序具体实现截图设计获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们…

Elasticsearch 8.16 和 JDK 23 中的语言环境变化

作者:来自 Elastic Simon Cooper 随着 JDK 23 即将发布,语言环境信息中有一些重大变化,这将影响 Elasticsearch 以及你提取和格式化日期时间数据的方式。首先,介绍一些背景知识。 什么是语言环境? 每次 Java 程序需要…

【Java】static-静态变量、静态方法、工具类、注意事项、args数组的使用

文章目录 一、静态变量特点调用方式 二、静态方法特点调用方式 三、类的类型1.Javabean类2.测试类3.工具类 四、注意事项从代码方面解释1. 上下文清晰2. 静态变量的访问例子注意 3. 静态方法中没有this关键字原因 4. 静态方法只能访问静态变量和静态方法错误原因解决方法 4.非静…

如何获取钉钉webhook

第一步打开钉钉并登录 第二步创建团队 并且 添加自定义 机器人 即可获取webhook

【流计算】流计算概论

前言 作者在之前写过一个大数据的专栏,包含GFS、BigTable、MapReduce、HDFS、Hadoop、LSM树、HBase、Spark,专栏地址: https://blog.csdn.net/joker_zjn/category_12631789.html?fromshareblogcolumn&sharetypeblogcolumn&sharerI…

待办事项应用SideQuests

赶在国庆长假前,自驾🚗出去玩了几天。 国庆前的错峰出游简直是太香了!一路上🛣️畅通无阻,停车🅿️不用抢,吃饭🍔不用等,景点🏞️不用排队,拍照&…

Flume实战--Flume中的拦截器详解与操作

在处理大规模数据流时,Apache Flume 是一款功能强大的数据聚合工具,它可以通过拦截器在运行时对Event进行修改或丢弃。本文将详细讲解Flume中的拦截器,包括时间戳拦截器、Host添加拦截器、静态拦截器以及如何自定义拦截器。 拦截器 拦截器的…

《HelloGitHub》第 102 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…

LeetCode - #124 二叉树中的最大路径和(Top 100)

文章目录 前言1. 描述2. 示例3. 答案关于我们前言 本题为 LeetCode 前 100 高频题 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我们已经更新到 123 期…

Electron 隐藏顶部菜单

隐藏前: 隐藏后: 具体设置代码: 在 main.js 中加入这行即可: // 导入模块 const { app, BrowserWindow ,Menu } require(electron) const path require(path)// 创建主窗口 const createWindow () > {const mainWindow ne…

Qemu开发ARM篇-6、emmc/SD卡AB分区镜像制作并通过uboot进行挂载启动

文章目录 1、AB分区镜像制作2、uboot修改3、镜像启动 在上一篇 Qemu开发ARM篇-5、buildroot制作根文件系统并挂载启动中,我们通过buildroot制作了根文件系统,并通过 SD卡的形式将其挂载到设备并成功进行了启动,但上一章中,我们的…

启动 Ntopng 服务前需先启动 redis 服务及 Ntopng 常用参数介绍

启动Ntopng服务之前需要先启动redis服务,因为Ntopng服务依赖于redis服务的键值存储。 服务重启 服务启动 Ntopng常用参数: -d 将 Ntopng 进程放入后台执行。默认情况下,Ntop 在前台运行。 -u 指定启动Ntopng执行的用户,默认为…

[论文精读]TorWard: Discovery, Blocking, and Traceback of Malicious Traffic Over Tor

期刊名称:IEEE Transactions on Information Forensics and Security 发布链接:TorWard: Discovery, Blocking, and Traceback of Malicious Traffic Over Tor | IEEE Journals & Magazine | IEEE Xplore 中文译名:TorWard:…