仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
上交大&清华&阿里&上海AILab联合发表了一篇关于大型语言模型(LLM)与数据管理(DATA)相互作用的综述性研究,全面探讨了两者之间的双向关系,即数据管理对LLM的支撑作用(DATA4LLM)以及LLM在数据管理中的应用(LLM4DATA)。
详细分析了在LLM生命周期的不同阶段(如预训练、持续预训练、指令微调、强化学习、检索增强生成、代理工作流等)中,数据管理的关键技术和挑战,并提出了相应的解决方案。同时,还讨论了LLM在数据操作、数据分析和系统优化等数据管理任务中的应用进展,为未来的研究方向和实践应用提供了指导。
一、DATA4LLM技术
详细探讨了数据管理在支持大型语言模型(LLM)中的作用,即DATA4LLM。这一部分的核心内容聚焦于如何通过数据处理、存储和提供服务来满足LLM在不同生命周期阶段(如预训练、持续预训练、指令微调、强化学习、检索增强生成等)的需求。以下是该部分的详细总结:
在LLM的不同阶段,数据的特征(如数据规模、数据域多样性和数据格式)存在显著差异。这些差异要求不同的数据管理策略。例如,在预训练阶段,LLM需要大规模、多样化的数据来获取广泛的语言理解能力;而在指令微调阶段,则需要更小规模但更高质量的数据来指导模型学习特定任务。
数据处理是LLM训练的基础,涉及数据采集、去重、过滤、选择、混合和合成增强等多个步骤。这些步骤确保了输入LLM的数据具有高质量、多样性和及时性。
数据采集:从网络爬取文本和图像,以及从复杂数据源(如扫描或手写文档)中提取数据。使用工具如Trafilatura、PaddleOCR等进行内容提取和实体链接。
数据去重:通过哈希识别和嵌入聚类等技术识别重复数据,减少冗余。
数据过滤:基于样本质量、内容安全等标准筛选数据,去除低质量或有害样本。
数据选择:选择能够准确代表目标分布的子数据集,通过相似性、优化和模型评估等方法实现。
数据混合:通过启发式优化、双层优化和分布鲁棒优化等方法,调整不同数据集的混合比例,以优化模型性能。
数据合成:通过程序辅助验证、语义评分和多智能体一致性过滤等技术,生成高质量的合成数据,解决数据稀缺、隐私等问题。
数据存储技术确保LLM训练和推理过程中数据的高效存储和访问。关键技术和策略包括:
数据格式:使用TFRecord、MindRecord等格式存储训练数据,以及Pickle、ONNX等格式存储模型数据。
数据分布:采用分布式文件系统(如JuiceFS、3FS)和异构存储系统,将数据分布在多个存储节点上,提高存储效率和可扩展性。
数据组织:通过内容组织、分块、嵌入、压缩和索引等技术,优化检索效率和准确性。例如,向量检索和图检索技术通过将数据转换为向量形式或图结构,提高检索效率。
数据移动:通过缓存数据、离线计算和存储计算重叠等技术,加速数据从存储节点到计算节点的移动。
数据容错:采用检查点存储和冗余计算等技术,确保在训练中断时能够快速恢复。
KV缓存:通过内存布局优化、存储卸载、KV压缩和高效索引等技术,提高LLM推理阶段的效率。
数据服务技术确保数据在LLM训练和推理过程中被高效地提供和使用。关键技术和策略包括:
数据打乱:通过样本评分、模型状态评分和训练策略,选择和提供适合LLM训练的数据。
数据压缩:通过规则模板、模型驱动的方法,压缩模型输入数据,以适应上下文窗口限制或提高性能。
数据打包:通过短序列插入、优化序列组合和语义打包等技术,确保训练输入的统一序列长度。
数据溯源:通过嵌入标记和统计溯源等技术,确保LLM生成内容的事实一致性。
二、LLM4DATA技术
详细探讨了大型语言模型(LLM)在数据管理中的应用,即LLM4DATA。聚焦于如何利用LLM的技术能力来增强数据管理任务,包括数据操作、数据分析和系统优化。
LLM在数据操作中的应用主要集中在数据清洗、数据集成和数据发现。这些任务的目标是准备高质量的数据集,以支持非LLM应用,如机器学习模型的训练或数据分析任务。
数据清洗:LLM可以用于数据标准化、错误处理和数据填补。例如,LLM可以通过自然语言提示生成数据清理操作,或者通过上下文增强技术识别和纠正数据中的错误。
数据标准化:使用LLM生成的提示或操作来标准化数据格式,如日期格式或文本样式。
错误处理:通过LLM直接处理数据错误,或通过上下文增强技术识别和纠正错误。
数据填补:利用LLM生成缺失值,或通过检索增强生成(RAG)方法填补缺失数据。
数据集成:LLM可以用于实体匹配和模式匹配,以识别和对齐不同数据源中的相关实体和模式。
实体匹配:通过LLM生成的提示或多模型协作来匹配数据条目,确保它们指向相同的现实世界实体。
模式匹配:使用LLM生成的提示或检索增强生成(RAG)技术来识别不同数据库模式之间的对应关系。
数据发现:LLM可以用于数据剖析和数据注释,以生成描述性元数据和语义标签。
数据剖析:通过LLM生成数据集的描述性元数据,帮助用户更好地理解数据内容。
数据注释:使用LLM为数据元素分配语义或结构标签,如列类型或实体类型。
LLM在数据分析中的应用主要集中在结构化数据、半结构化数据和非结构化数据的分析。这些任务的目标是利用LLM的语义理解和推理能力,提供更高效和准确的数据分析解决方案。
结构化数据分析:
自然语言接口:通过NL2SQL和NL2Code技术,将自然语言查询转换为SQL命令或Python代码,从而简化数据操作。
语义分析:通过多步问答和端到端问答技术,提供更复杂的语义分析能力,如表总结和事实验证。
半结构化数据分析:
标记语言分析:利用LLM直接从标记语言(如XML、JSON)中提取和解释层次关系、属性和嵌套结构。
半结构化表分析:处理具有复杂结构组织的半结构化表,如合并单元格的表格。
非结构化数据分析:
文档分析:通过OCR依赖和OCR自由方法,处理包含图像、表格、图表等复杂布局的文档。
程序分析:利用LLM作为漏洞检测工具,通过程序分析技术提高漏洞检测的准确性。
LLM在数据系统优化中的应用主要集中在配置调优、查询优化和异常诊断。这些任务的目标是利用LLM的推理和生成能力,提高数据系统的性能和可靠性。
配置调优:
提示工程:通过手动设计或自动生成提示,指导LLM进行数据库配置调优。
检索增强:通过检索增强技术,为LLM提供历史调优经验,提高调优的准确性。
目标对齐:通过额外的训练,使LLM更好地对齐调优目标,如数据库性能优化。
查询优化:
提示工程:通过手动设计或自动生成提示,指导LLM进行SQL查询重写或计划选择。
检索增强:通过检索增强技术,为LLM提供查询优化知识,提高优化的准确性。
训练增强:通过额外的训练,使LLM更好地对齐查询优化目标,如查询性能提升。
异常诊断:
提示工程:通过手动设计提示,指导LLM进行系统异常诊断。
检索增强:通过检索增强技术,为LLM提供历史诊断经验,提高诊断的准确性。
多智能体协作:通过多智能体协作机制,提高诊断的全面性和准确性。
https ://github. com/weAIDB/awesome-data-llmhttps ://arxiv. org/pdf/2505. 18458ASurveyofLLM×DATA
推荐阅读
•动手设计AIAgents:(编排、记忆、插件、workflow、协作)
•DeepSeekR1+Agent的下半场
•单智能体(Agent):企业员工AI助理
•Agent到多模态Agent再到多模态Multi-Agents系统的发展与案例讲解(1. 2万字,20+文献,27张图)
欢迎关注我的公众号“PaperAgent”,每天一篇大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。