动手学习RAG: 向量模型

server/2024/10/18 14:17:26/

在世界百年未有之变局与个人自暴自弃的间隙中,我们学一点RAG。 RAG是一种独特的应用,“一周写demo,优化搞半年”,我甚至听说它能破解幻术。

为了理解其优化中的关键一环,我们先看下文本向量。文本向量除了是RAG检索的重要模块外,也应用在信息检索、排序、分类、聚类、语义相似度中。

添加图片注释,不超过 140 字(可选)

1. 词向量到文本向量

向量模型把人类世界中的语言,变为计算机世界中的数字。输入一句话,输出一维向量。由于transformer中的一句话一般会输出一个二维向量,其形状为(sequence_length, embedding_dim),因此模型后面通常加一层pooling,把sequence_length这一维坍塌。

pip install open-retrievals

添加图片注释,不超过 140 字(可选)

colab上有这段小小的代码: https://colab.research.google.com/drive/1dTzcMJNX3kSqqjTFUJXwZu6fRnf_5oHD?usp=sharing

更多更好的模型,根据语言需要(英文或中文还是多语言),顺着MTEB的榜单捋一下就行:https://huggingface.co/spaces/mteb/leaderboard

在这里插入图片描述

2. 文本向量的若干主流训练范式

语言模型可以很容易得到一个文本向量模型,但语言模型并不是为向量训练的,因此预训练的语言模型直接pooling不一定能取得满意的效果。那么,根据向量任务先微调一下再用。

微调的目的,把相似句子向量聚拢更近一些,把不相关的句子向量拉的更远一些。如何从一个语言模型训练出一个向量模型呢?我们从几篇典型论文中理解其范式。

BGE模型

  • 使用普通的文本语料进行RetroMAE预训练
  • 使用大量文本对进行batch内负样本对比学习
  • 使用高质量文本进行困难负样本加batch内负样本根据任务对比学习微调

添加图片注释,不超过 140 字(可选)

GTE模型

  • 大量文本对进行batch内负样本对比学习
  • 高质量文本进行困难负样本学习

在这里插入图片描述

E5-mistral模型

  • 合成大量的不同任务不同语言的检索数据,困难负样本与batch内负样本对比学习

添加图片注释,不超过 140 字(可选)

nv-embed模型

  • 高质量检索数据进行困难负样本加batch内负样本对比学习
  • 继续根据非检索数据,如一些分类等其他任务数据进行微调

添加图片注释,不超过 140 字(可选)

3. 结论

我们试图从几种范式中总结出以下几点认知:

  • 训练方式,尤其是合理设计的多阶段pipeline仍然能够提升性能
  • 数据,数据大小、质量、多样性很重要,甚至更长的文本在向量模型中也更受重视。更重要的,合成数据开始展露头脚
  • 模型,Decoder-only LLM微调的向量模型效果越来越好。大模型也逐步统治向量模型榜单,带来的收益和增加的开销相比如何,咱也不知道,但是这些参数中蕴含的知识确实让人印象深刻
  • 对比学习和难负样本挖掘仍然扮演关键角色。
  • 多任务,用不同任务不同来源的数据进行训练,一个batch内如何组织数据也有优化空间。instruction-based fine-tuning可以在训练时帮助模型拿到任务上的线索

更多内容,请关注:https://github.com/LongxingTan/open-retrievals


http://www.ppmy.cn/server/114813.html

相关文章

农业小气候观测站

农业小气候观测站的主要功能包括: 气象观测:观测和记录气温、湿度、降水量、风速和风向等气象要素,以了解当地的气候状况和变化趋势。 土壤观测:监测土壤湿度、温度、酸碱度和养分含量等指标,以帮助农民合理调控灌溉和…

鸿蒙开发(API 12 Beta6版)【通用属性协议】 网络篇

简介 通用属性协议是GATT(Generic Attribute)的缩写,它是一种用于在蓝牙低功耗设备之间传输数据的协议,定义了一套通用的属性和服务框架。通过GATT协议,蓝牙设备可以向其他设备提供服务,也可以从其他设备获…

93. UE5 GAS RPG 应用负面效果表现

在上一篇文章里,我们实现了添加负面效果GE,并且在添加GE时,也会给角色应用一个负面效果标签作为标识。在这一篇里,我们将通过负面效果标签标识,应用角色身上展现对应的负面效果的表现。 我们将在这篇文章里添加一个自定…

【电力系统】复杂网络分析在电力系统规范中的应用

摘要 复杂网络分析在电力系统中的应用为理解和优化电力系统的运行提供了新的视角。本文探讨了复杂网络理论在电力系统规范中的应用,通过分析电力系统的拓扑结构、节点重要性和脆弱性,提出了优化电力系统设计和运行的新策略。仿真结果表明,复…

[网络原理]关于网络的基本概念 及 协议

文章目录 一. 关于网络的概念介绍1. 局域⽹LAN2. ⼴域⽹WAN3. 主机4. 路由器5. 交换机IP地址端口号 二. 协议协议分层TCP/IP五层模型(或四层)OSI七层模型封装分用 一. 关于网络的概念介绍 1. 局域⽹LAN 局域⽹,即 Local Area Network,简称LAN。 Local …

《中国食品》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《中国食品》是不是核心期刊? 答:不是,是知网收录的正规学术期刊。 问:《中国食品》级别? 答:国家级。主管单位: 中国商业联合会 主办单位&…

数据库结构文档示例

cms-数据库-文档 数据库名: yryb-cms 文档版本: 1.0.0 文档描述: cms模块数据库及相关说明 表名说明tb_xxx1…某某业务表…tb_xxx2…某某业务表…tb_xxx3…某某业务表…tb_xxx4…某某业务表… 表名: tb_xxx1… 说明&#xf…

MAC终端神器iTerm2最全主题设置,看这篇就够了

参考文章 全程配置 https://www.jianshu.com/p/246b844f4449 这篇非常全面,全程照着配就行,懒得再写一篇了 预览样式: 插件配置 插件这里说得更详细一点 https://blog.csdn.net/foreverdongjian/article/details/122096226 状态栏 h…