将外部数据整合到LLMs中的技术,如检索增强生成(RAG)和微调,得到广泛应用,但在不同专业领域有效部署数据增强LLMs面临着重大挑战:
-
从检索相关数据和准确解释用户意图到充分利用LLMs的推理能力来处理复杂任务
-
对于数据增强LLM应用来说,没有一种放之四海而皆准的解决方案。
-
应用落地性能不佳往往是由于未能正确识别任务的核心焦点,或者任务本身就需要多种能力结合,必须被分离出来以获得更好解决方案。
数据增强LLM应用中不同查询层次的主要技术总结
微软亚洲研究院(MSRA)提出了一种RAG任务分类方法,根据所需的外部数据类型和任务的主要焦点,将用户查询分为四个层次:
-
显式事实查询(Level-1):直接从数据中检索明确的事实。
-
隐式事实查询(Level-2):需要推理或整合数据中的隐含信息。
-
可解释推理查询(Level-3):需要理解并应用领域特定的理由和逻辑。
-
隐式推理查询(Level-4):需要从数据中推断出隐含的推理逻辑。
四个层次查询的主要焦点
同时,也将外部数据整合到LLMs中的形式归为三种:上下文、小型模型和微调,强调了它们各自的优势、局限性以及它们适合解决的问题类型。
将特定领域数据注入到大型语言模型(LLM)的三种方式:a) 根据查询提取部分领域数据作为LLM的上下文输入,b) 用特定领域数据训练一个较小的模型,然后指导后续输入到LLM的外部信息的整合,以及 c) 直接使用外部领域知识对通用的大型语言模型进行微调,使其成为领域专家模型。
L1:显式事实查询
定义:
-
显式事实查询(L1)是最简单的数据增强查询类型,可以直接通过访问特定领域的文档或文档片段来回答。
-
答案通常在文档的纯文本中,需要最小的推理或简单的逻辑。
提供事实信息的常见数据集分层
挑战:
-
数据处理困难:外部数据通常是高度非结构化的,包含多种模式(如表格、图像、视频等),处理这些数据时保持原始上下文和意义是一个挑战。
-
数据检索困难:从大型非结构化数据集中检索相关数据段计算密集且容易出错。
-
评估困难:评估RAG系统的性能,尤其是在组件级别,需要开发能够准确评估数据检索和响应生成质量的稳健指标。
解决方案:
-
数据预处理增强:包括文档解析和多模态文档解析,将非文本内容转换为文本形式或使用多模态嵌入技术。
-
数据检索增强:使用信息检索(IR)技术,包括建立数据索引、处理查询、检索和匹配、重新排序和评估。
-
检索增强生成(RAG):结合了LLMs的生成能力和从大量数据库或文档中检索信息的能力。
三种查询-文档对齐类型
关键点:
-
显式事实查询依赖于直接从特定数据段中检索答案,不需要复杂的推理。
-
RAG是处理这类查询的常用技术解决方案,它通过动态检索外部信息来增强语言模型的自然语言生成能力。
-
尽管RAG非常有效,但在构建一个健壮和高质量的系统时仍面临重大挑战。
L2:隐式事实查询
定义:
-
隐式事实查询涉及的数据依赖性并不直接明显,可能需要一些常识推理或基本逻辑推理。
-
所需信息可能分散在多个文档中,或者需要从数据集中收集和处理多个事实简单的推理,然后通过常识推理将这些事实结合起来得出答案。
挑战:
-
自适应检索量:不同的问题可能需要不同数量的检索上下文,固定数量的检索可能造成信息噪声过多或信息不足。
-
推理与检索的协调:推理可以指导需要检索的内容,而检索到的信息可以迭代地细化推理策略。
解决方案:
-
迭代RAG:类似于多跳RAG任务的方法,动态控制多步骤RAG过程,直到获得正确答案。
-
基于规划的:在检索前阶段生成逐步检索计划,或者在检索过程中动态生成,以精细化每次检索的焦点。
-
信息差填补:基于现有知识和检索到的信息生成答案,然后继续检索和生成未知部分的答案。
-
图/树问题回答:使用图或树来自然地表达文本之间的关系结构,适合这种类型的数据检索问题。
-
自然语言到SQL查询:将自然语言查询转换为SQL查询,以便从结构化数据库中检索信息。
关键点:
-
隐式事实查询要求从多个文档中收集信息,并且可能需要进行多步骤的推理。
-
这类查询的解决方案通常涉及将复杂问题分解成一系列简单的问题,然后逐一解决。
-
迭代RAG、图/树问题回答和NL2SQL是处理这类查询的有效方法。
L3:可解释推理查询
推理查询的示例
定义:
-
Interpretable Rationale Queries:这类查询需要外部数据来提供解决问题的推理过程。辅助数据通常包括对决策过程的明确解释。
-
数据形式:可以是纯文本,如指南或手册,也可以是结构化的指令,如工作流程或决策树。
挑战与解决方案
-
主要挑战:
-
Prompt优化成本:优化提示(Prompt)的过程耗时且计算量大。
-
有限的可解释性:LLMs对提示的反应不透明,难以一致理解和验证LLMs对不同提示的反应。
-
解决方案:
-
Prompt Tuning:通过调整提示来提高LLMs遵循外部指令的能力。
-
CoT Prompting:使用链式思考(Chain-of-Thoughts)或思维图(Graph-of-Thoughts)方法来处理复杂的推理问题。
L4:隐式推理查询
定义:
-
Hidden Rationale Queries:这类查询需要从外部数据中推断出隐含的推理方法。这些推理方法可能没有明确记录,需要从数据模式和结果中挖掘出来。
-
数据类型:
-
领域内数据:可能包括历史问答记录或人工生成的数据。
-
预备知识:可能包括全面的公理系统或中间结论,如法律代码或数学证明。
挑战与解决方案
-
主要挑战:
-
逻辑检索:需要更复杂的检索算法来识别与查询逻辑上相关的文本段。
-
数据不足:外部数据可能没有明确包含与当前查询相关的指导或答案。
-
解决方案:
-
离线学习:通过离线分析数据集来识别和提取规则和指导。
-
上下文学习:利用示例进行上下文学习,利用LLMs的少量样本学习能力。
离线学习
-
方法:
-
STaR 和 LXS:使用LLM生成推理理由。
-
GL、LEAP、RICP:通过错误识别和原则概括来改进任务。
上下文学习 (ICL)
-
方法:
-
OpenICL:探索不同的传统方法对ICL效果的影响。
-
Auto-CoT:通过聚类示例来构建更好的支持学习过程的示例。
微调
-
方法:
-
指令调整:使用监督微调来增强LLMs在特定领域的能力。
-
适配器调整、前缀调整、提示调整:通过优化输入前的可训练向量来提高LLMs的性能。
最后:数据增强LLM应用中查询层次的总结
https://arxiv.org/pdf/2409.14924``Retrieval Augmented Generation (RAG) and Beyond: A Comprehensive Survey on How to Make your LLMs use External Data More Wisely
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。