TACL'24
原文下载地址:原文下载
1 引言
“LLM”用于QA领域,缺点:
- 仅依赖内部参数的LLM可能会变得陈旧,在尾部知识上表现不佳
- LLM的参数化知识或属性 对信息源的响应很难精确化
“LLMs + 外部工具”用于QA领域:
- 做法:从外部来源检索信息、在证据来源和对问题产生的响应之间建立连接
- 外部信息源格式:
- 结构化形式(KG):更高的查准率,支持执行复杂的查询
- 非结构化形式(文本语料库):更高的查全率
传统异构数据源QA方法:
- 后期融合(late fusion):将文本、结构化信息源,作为独立的流程分别执行问答,然后合并或选择。
- 优点:易于并行化
- 缺点:不同信息源之间并不相互影响,即在一个信息源中发现的证据并不影响其他信息源的管道。
- 融合QA方法:在执行推理步骤之前,将信息源集成到统一的格式中。
- 优点:允许在所有来源上运行单个流程。
- 缺点:统一格式表示输入源的一个最小公分母,不允许使用不同输入源的强度,放弃了特定信息源的优势。
- 非结构化表示的灵活性和通用性;
- 执行组合查询的能力,以聚合、组合、排序和排序结构化数据。
本文:
通过模仿人类如何找到问题的答案来整合异构信息源上的推理步骤。
人类的推理:
超越了不同信息源的界限,可以从相互补充的信息中获益。
本文提出Human IQ方法:
HumanIQ ( “Human-like Intelligent Queries”):通过模仿人类使用检索工具的方式,来教授语言模型动态组合检索信息。即收集人类解决方案过程,并使用这些过程来提示LLMs。不需要对LLM进行微调。
方法:人类演示(收集工具)+自适应少样本学习(工具增强模型)。
方法过程:
(1)准备阶段:由人类执行。
①人类专家确定解决任务所需的合适的工具(服务或API),如:
- 非结构化信息的搜索和检索
- 实体链接
- 结构化信息的查询
②人类专家构建使用这些工具的解决方案过程,这些解决过程被收集成为一个示例库,用于后续的推理阶段。求解过程:
- 描述了如何将这些工具组合起来为特定问题寻找答案
- 包含了人类使用这些工具时的自然语言思维。
示例库的产生过程:
- 从训练集中抽取一些任务实例作为输入。
- 人决定:哪些工具对于解决该任务最相关。
- 这些工具 被注册到 LLM-tool-augmentation框架中调用(如Langchain或OpenAI函数),并连接到 HumanIQ用户界面(图3)。
- 在用户界面上,遵循ReAct方法,将步骤划分为thought(自然语言推理)、Action(调用工具的命令)、Observation(工具输出),直到LLM输出最终响应。这些步骤的组合称为求解过程。
- 在某些情况下,需要多次尝试来构造query,返回所需的信息 或 检索对解决问题有用的文档。这是因为有时候没有查询到可以回答该问题的信息,或者系统无法找到合适的答案。
在某些事实性问题中,需要更多的实体消歧工作。如区分“饥饿游戏”是电影、电影系列还是书籍。
- 在应用LLM-tool-augmentation处理特定任务实例时,人类可以识别是否缺少某些工具或需要以不同方式实现,以遵循人类的解决过程。
例如,在初始阶段,研究人员发现需要添加一个链接器,用于从单个文档到实体ID的映射,实现非结构化和结构化信息源之间的链接。这个改进循环如图2所示。
- 一旦工具集被建立,一组展示期望行为的求解过程就被构造出来,从而产生少量示例库。为了提高样本效率,采用主动学习的方式:自动应用LLM-tool-augmentation到训练集中的任务实例,当失败时,人工构建成功的求解过程。在此过程中,可以对工具输出进行评分(例如,在1 ~ 5级的Likert量表上),作为个别工具的监督反馈信号。
总之,示例库是通过人工构建和评估解决过程而产生的,以展示人类的解决模式,并用于指导LLM模型学习人类思维模式。
(2)推理阶段:目的是复制以上求解过程。
- 使用基础语言模型,并提供可用工具的信息以及示例解决过程。
- 语言模型根据输入问题,选择相关且多样化的示例解决过程,并模仿人类的思考过程来使用工具,最终给出答案。
完成方式:
- 生成关于使用这些工具的想法和对其结果的解释
- 在LLM提示中注入完整的求解过程,作为小样本实例
- 选择与输入相似的小样本来适应输入的提示,并最大限度地增加其工具使用的多样性。
示例库如何用于推理阶段?
- 使用一个基础的LLM,指示其遵循求解过程的一般模式,并宣布可用的工具、用于解决任务的指令(例如, “Answer the question below by accessing the information sources with the given tools!”)和小样本实例(每个小样本实例包含了整个求解过程,可超过几百个token)
- 这种方式主要指导模型遵循解决过程,而不是仅仅关注输出。
- 由于语言模型的上下文长度限制,HumanIQ无法在应用时包含整个示例库。因此,它使用确定性点过程(DPP)来选择相关且多样的示例。
- 相关性衡量: SentenceBERT与输入问题的相似性。
多样性衡量:action间的编辑距离。每个action由不同的单个符号编码。
- 这种自适应的示例选择方法显著提高了性能,相比仅基于相关性或多样性的选择分别提高了6.77%和5.4%。
然后,基于使用上述相似性和多样性度量的DPP被条件化为固定数量的k个期望的小样本实例。
使用贪心优化器搜索具有最高概率密度的示例的配置,并包括LLM提示中的那些例子。成功执行推理阶段对LLMs来说是一项艰巨任务:模型需要通过例子学习人类的思维模式,理解不同工具、观测之间的错综复杂的关系,并且需要支持长上下文,因为我们注入了多种思想和工具调用的完整解决方案过程。
HumanIQ应用于混合QA
HQA:将HumanIQ方法应用于三个混合的QA4基准测试:Mintaka、QALD9-Plus、CompMix。
非结构化的知识源:Wikipedia
结构化的知识源:Wikidata
工具规范:两个组,每组有10名参与者,具有性别、种族多样性。计算机科学家。与本稿作者无重叠,两者之间亦无重叠。每组中是5名内部人员,5名外部机构人员。
第一组:产出帮助人类成功完成任务的工具
1 . wikisearch ( ):使用Wikipedia API识别给定搜索查询的合适文档;
2 . read ( ):使用GPT - 4提取给定文档的答案和输入问题,并将问题和文档作为输入;
3 . getWikidataID ( ):返回给定Wikipedia文档的维基数据ID;
4 . generationQuery ( ):以一组相关的实体ID作为输入,返回基于(莱曼等, 2023)的SPARQL查询;
5 . runQuery ( ):执行SPARQL查询;
6 . getLabel ( ):返回实体ID的自然语言标签
这些工具允许针对不同的action序列来获得解决方案:例如,可以直接生成针对KG的查询,但也可以先识别相关的wikipedia页面,并将其映射为Wikidata实体,然后将其作为查询构建的基础.
解决方案流程收集:
第二组:收集了每个基准的20个解决方案流程,然后构成了各自的小样本库。每个基准的库是独立的,以避免训练泄漏。
最终响应生成:
将从异构数据源获得的证据组合成最终响应。
用一个单独的LLM请求完成,该请求:以问题、参数响应和HumanIQ工作流响应(总结从不同来源获得的证据、思想以及相关的周边事实信息)作为输入。可指导LLM交付所需的用户体验,例如,偏好短答案vs .长答案或包含或省略响应的不同部分的来源归因。