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

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天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. 均值池化:然后应用轻量级的均值池化来获取文本的总体表示。


image.png


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使用从网络上挖掘的大量文本对进行训练;在有监督微调阶段,使用人工标注的文本对进行训练,以提高嵌入的质量。
  1. 应用焦点
  • BERT:BERT旨在提供一个通用的文本表示,适用于各种下游NLP任务,如文本分类、命名实体识别、问答等。
  • GTE:GTE专注于生成高质量的文本嵌入,特别适用于需要文本相似性或检索任务的场景,如信息检索、文本聚类和代码搜索。
  1. 训练数据
  • BERT:BERT通常在大型的多领域文本数据集上进行预训练,如BookCorpus和English Wikipedia。
  • GTE:GTE在预训练阶段使用了更多样化的数据源,包括来自网页、学术论文、社交媒体、问答论坛等多种类型的文本对。
  1. 模型规模和效率
  • BERT:BERT有多种规模的模型,从较小的BERT-Mini到较大的BERT-Large,参数数量可以从1亿到3亿不等。
  • GTE:GTE模型虽然参数数量相对较少(例如110M参数的GTEbase版本),但通过多阶段对比学习,实现了与更大模型相媲美的性能。
  1. 微调策略
  • BERT:BERT模型通常在特定任务的数据集上进行微调,以适应该任务的需求。
  • GTE:GTE模型在有监督的微调阶段,使用了人工标注的高质量文本对,这些文本对来自多个不同的任务和领域。

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


目录
相关文章
|
SQL 自然语言处理 数据挖掘
大模型与数据分析:探索Text-to-SQL(上)
大模型与数据分析:探索Text-to-SQL(上)
5446 0
|
数据采集 PyTorch 算法框架/工具
PyTorch基础之数据模块Dataset、DataLoader用法详解(附源码)
PyTorch基础之数据模块Dataset、DataLoader用法详解(附源码)
1696 0
|
机器学习/深度学习 人工智能 自然语言处理
预训练驱动的统一文本表示-GTE魔搭社区最佳实践
文本表示是自然语言处理(NLP)领域的核心问题, 其在很多NLP、信息检索的下游任务中发挥着非常重要的作用。
|
7月前
|
搜索推荐 物联网 PyTorch
Qwen2.5-7B-Instruct Lora 微调
本教程介绍如何基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调。
8245 34
Qwen2.5-7B-Instruct Lora 微调
|
4月前
|
机器学习/深度学习 人工智能 测试技术
阿里云百炼已上线超强推理开源模型QwQ-32B,尺寸更小,性能比肩DeepSeek满血版
通义千问团队推出了320亿参数的QwQ-32B模型,通过大规模强化学习和多阶段训练,在数学、编程及通用能力上达到或超越了DeepSeek-R1等先进模型。QwQ-32B模型已在阿里云百炼上线,支持API调用,用户可通过官方文档了解详细使用方法。未来,团队将继续探索智能体与RL集成,推动人工通用智能的发展。
8228 18
|
8月前
|
人工智能 自然语言处理 搜索推荐
浪潮信息 Yuan-embedding-1.0 模型登顶MTEB榜单第一名
浪潮信息Yuan-Embedding-1.0模型在C-MTEB评测基准中荣获Retrieval任务第一名,推动中文语义向量技术发展
1239 7
浪潮信息 Yuan-embedding-1.0 模型登顶MTEB榜单第一名
|
8月前
|
人工智能 自然语言处理 物联网
llama factory 从数据集起步 跑通 qwen系列开源生成式大模型 微调
`dataset_info.json` 文件用于管理 llama factory 中的所有数据集,支持 `alpaca` 和 `sharegpt` 格式。通过配置此文件,可以轻松添加自定义数据集。数据集的相关参数包括数据源地址、数据集格式、样本数量等,支持 Hugging Face 和 ModelScope 两个平台的数据集仓库。针对不同格式的数据集,提供了详细的配置示例,如 `alpaca` 格式的指令监督微调数据集、偏好数据集等,以及 `sharegpt` 格式的多模态数据集等。今天我们通过自定义数据集的方式来进行qwen2.5_14B_instruct模型进行微调
2886 7
|
10月前
|
存储 自然语言处理 算法
【算法精讲系列】MGTE系列模型,RAG实施中的重要模型
检索增强生成(RAG)结合检索与生成技术,利用外部知识库提升大模型的回答准确性与丰富性。RAG的关键组件包括文本表示模型和排序模型,前者计算文本向量表示,后者进行精细排序。阿里巴巴通义实验室推出的GTE-Multilingual系列模型,具备高性能、长文档支持、多语言处理及弹性向量表示等特性,显著提升了RAG系统的检索与排序效果。该系列模型已在多个数据集上展示出优越性能,并支持多语言和长文本处理,适用于各种复杂应用场景。
1883 18
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-19
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-19
134 3
|
10月前
|
编解码 自然语言处理 机器人
通义千问Qwen2-VL开源,API可直接调用!
通义千问宣布开源第二代视觉语言模型Qwen2-VL,并推出2B、7B两个尺寸及其量化版本模型。同时,旗舰模型Qwen2-VL-72B的API已上线阿里云百炼平台,用户可直接调用。
5515 10