综述 | 大模型 & 数据之间的相互作用

向量数据库大模型数据库

大家好,我是刘聪NLP。

前几天发了一篇帖子,然后一下人都在评论,都是说如何构造数据,有什么论文值得推荐。

picture.image

正好,端午节期间刷到一篇关于大模型和数据的综述文章《A Survey of LLM x DATA》,节后,第一天分享给大家。

配套Github: https://github.com/weAIDB/awesome-data-llm

综述全面讨论了LLM与数据管理之间的双向关系,即,DATA4LLM-数据管理如何支持LLM的训练和应用;LLM4DATA-LLM如何增强数据管理任务。

picture.image

DATA4LLM

DATA4LLM,即数据管理如何支持LLM的训练和应用,主要涉及数据的处理、存储和提供服务,如下图所示。

picture.image

picture.image

而在LLM生命周期的不同阶段(预训练、持续预训练、指令微调、强化学习、RAG、Agent等),数据管理的策略也是不同的,如下图所示。

picture.image

数据处理

在LLM的生命周期中,数据处理是为LLM准备高质量数据集的关键步骤。数据处理包括数据采集、去重、过滤、选择、混合和合成增强等步骤。

  • 数据采集:从各种数据源中提取相关的文本和图像数据,涉及从复杂网页中提取数据、从复杂文档(扫描或手写稿)中提取数据。
  • 数据去重:识别大批量文本或多模态数据中的重复内容,涉及精确字符串匹配、哈希识别、向量聚类等方法。picture.image
  • 数据过滤:分为样本过滤和内容过滤。样本过滤,一般是通过评估样本的质量和多样性来选择高质量样本;内容过滤,一般是在从数据集中删除不需要的或有害的内容,如有毒语言、个人身份信息、偏见内容和不当的图像和视频等。picture.image
  • 数据选择:多样化的数据集中选择子集,评估子集能否准确代表目标分布,一般涉及相似性、优化、模型等数据选择方法。picture.image
  • 数据混合:有效地将来自不同领域的数据集整合在一起,不降低数据质量或破坏最终大模型性能。picture.image
  • 数据合成:通过程序辅助验证、语义评分和多智能体一致性过滤技术生成高质量数据,解决数据缺失等问题。picture.image
  • 数据管道:将基本数据处理操作和接口集成在一起的框架,包括启发式机制等。picture.image

数据存储

数据存储是支持LLM高效训练和推理的关键,存储节点需要为计算节点及时传输数据提供高I/O吞吐。主要涉及数据格式、分布式存储、数据组织、数据移动、容错机制、KV缓存等。

picture.image

  • 数据格式:数据存储需要高效的数据格式,常见的数据格式包括TFRecord、MindRecord和tf.data.Dataset。
  • 分布式存储:单个节点通常无法存储LLM的预训练数据,需要将数据分布在多个节点上,可以采用分布式文件系统(JuiceFS、3FS)或异构存储系统。
  • 数据组织:在存储阶段优化检索的准确性和效率,例如:向量检索、图检索等。
  • 数据移动:通过缓存数据、离线计算、存储计算等操作,将数据从存储节点快速移动到计算节点。
  • 容错机制:增强模型训练过程中从系统故障中恢复的能力,包括检查点存储和冗余计算等,快速进行故障恢复。
  • KV缓存:针对LLM的高效推理,包括内存布局优化、存储卸载、KV压缩和高效索引等。

数据服务

数据服务,就是在LLM在训练和推理过程种保证数据可以高效地被提供和使用。

  • 数据打乱:在LLM训练和RAG阶段确定数据合适的顺序,包括样本评分和模型状态等方法。
  • 数据压缩:压缩模型的输入内容,保证内容在上下文限制内,或提高模型性能,包括规则压缩和模型压缩等方法。
  • 数据打包:在训练输入中确保统一的序列长度,包括短序列插入、优化序列组合和语义打包等方法。
  • 数据溯源:确保LLM生成内容的事实一致性,包括嵌入标记和统计来源验证等方法。

LLM4DATA

LLM4DATA,即如何将LLM在数据管理进行应用,如下图所示,主要涉及数据操作、数据分析和系统优化。

picture.image

数据操作

LLM在数据操作中的应用,目的是为非LLM应用准备高质量的数据集,或增强下游数据的质量,包括数据清理、数据集成和数据发现。

  • 数据清理:主要标准化和精炼数据集
  • 数据标准化:通过标准化提示词、生成清理操作来格式化数据样本。
  • 数据错误处理:直接对LLM进行提示来识别和纠正嘈杂数据。
  • 数据插补:通过明确的插补指令和检索增强生成(RAG)方法来填补缺失值。
  • 数据集成:主要识别和协调异构数据源的语义相关数据集
  • 实体匹配:通过结构化提示等匹配数据条目,保证实体与现实世界实体对齐。
  • 模式匹配:通过直接提示、RAG技术、知识图谱、workflow等方法建立模式元素之间的对应关系。
  • 数据发现:数据集中提取信息性见解
  • 数据剖析:通过针对特定任务的提示生成描述性元数据和摘要。
  • 数据注释:通过各种提示策略分配语义标签或类型。

数据分析

LLM对结构化、半结构化和非结构化数据的分析,如下图所示。

picture.image

  • 结构化数据分析:是指对具有明确定义模式数据的分析,如关系(表格)数据和图数据。
  • 关系数据:自然语言接口-NL2SQL和NL2Code等技术实现具有明确定义的操作,例如基本计算求和、平均、计数、排名)、统计分析(回归、K均值聚类)数据质量保证过程等(约束验证、异常检测)。语义分析-需要LLM进行语义理解或以自然语言格式输出,例如表格总结等,
  • 图数据:自然语言到图分析查询-R3-NL2GQL和NAT-NL2GQL等技术;语义分析方法分为检索-然后-推理方法、执行-然后-推理方法、基于图任务的微调方法和基于代理的方法等。
  • 半结构化数据分析:是指对既没有像关系模型那样严格预定义模式,也不是原始数据(例如纯文本或图像)的分析。
  • 标记语言:利用LLM的推理能力,从XML、JSON和HTML等数据中提取和解释层次关系、属性和嵌套结构
  • 半结构化表格:处理具有合并单元格的复杂结构表格数据
  • 非结构化数据分析:是指对缺乏明确结构数据的分析
  • 文档:处理具有复杂的布局和样式d额文档,包含多种元素,包括图像、表格、图表、纯文本和公式的混合。
  • 程序:作为程序漏洞检测工具、以及进行代码总结和代码补全等任务

系统优化

LLM具有高级推理和代码生成能力,用于执行核心系统优化任务,包括:配置调整(确定最佳系统设置)、查询优化(重写或改进输入查询以获得性能提升)、异常诊断(分析系统问题以确保性能可靠性)。

基本上均包括,提示工程、检索增强生成、二次训练优化等方法。

写在最后

说回来,现在很多时候,大部分人都在做数据上的工作,很多经验就是我们的财富!如何快速生成高质量SFT数据?如何在应用阶段让LLM可以更充分地利用数据库中的资料?等等等等

这篇还是蛮详细的,去自己找所需的吧,可以阅读原论文,内部有大量的文献支持,比如数据合成部分,

picture.image

PS:看到这里,如果觉得不错,可以来个点赞在看关注 。 给公众号添加【星标⭐️】不迷路!您的支持是我坚持的最大动力!

欢迎多多关注公众号「刘聪NLP」,加入交流群,交个朋友吧,一起学习,一起进步!

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
在火山引擎云搜索服务上构建混合搜索的设计与实现
本次演讲将重点介绍字节跳动在混合搜索领域的探索,并探讨如何在多模态数据场景下进行海量数据搜索。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论