引言:面向不确定性的感知的Language Agent
Language Agent利用大型语言模型(如OpenAI发布的GPT系列、Meta的LLaMA2等)来与外部世界互动,例如通过工具和API收集观察结果,并处理这些信息以解决任务。这些Language Agent在改进先前具有挑战性的推理任务方面取得了显著进展,它们能够自主地从世界中获取新知识,并通过记忆或自我完善机制迭代地改进其推理路径。然而,当前的Language Agent设计主要将LLM视为观察和知识收集的规划者、协调者或聚合器,而忽视了在与外部世界交互时处理不确定性的能力。实际上,大量的研究工作已经集中在探索预训练语言模型中编码的知识类型,以及如何通过生成性任务(如机器翻译、摘要和数据到文本生成)来估计这些模型的不确定性。
我们的工作旨在通过集成不确定性估计来改进Language Agent的设计,以便更有效地管理与外部工具的互动。具体来说,我们的框架通过在决策过程中量化不确定性,来判断何时依赖LLM内部的隐含知识,何时寻求外部资源的帮助。这种方法旨在提高Language Agent的效率,减少对外部资源的不必要依赖,同时保持或提高任务性能。
论文标题:
Towards Uncertainty-Aware Language Agent
论文主页:
https://uala-agent.github.io/
论文链接:
https://arxiv.org/pdf/2401.14016.pdf
我们提出了不确定性感知Language Agent(UALA)框架,旨在通过量化不确定性来优化Agent与外部世界的交互。UALA框架使用不同的不确定性测量方法作为动态切换LLM自身路径和使用外部资源之间的依据。在推理任务中,框架首先尝试使用标准或链式推理(Chain-of-Thought,CoT)提示来生成回答。随后,通过不确定性估计模块评估这些回答,以决定是接受当前回答还是使用外部工具寻求更确定的解决方案。如果在使用外部工具后仍存在高不确定性,Agent将寻求来自人类的帮助。此协议通过在每一步都主动管理不确定性,确保了生成响应的健壮性和可靠性。
GPT-3.5研究测试: https://hujiaoai.cn
GPT-4研究测试: https://higpt4.cn
Claude-3研究测试(全面吊打GPT-4): https://hiclaude3.com
具体地,UALA框架定义了单次推理和多次推理不确定性估计的方法。单次推理不确定性估计根据单个输出计算不确定性,而多次推理不确定性估计则基于一组输出来计算。我们还讨论了如何根据少量训练数据设置不确定性阈值,以确定何时可以接受Agent的答案,何时需要进一步的探索或人工干预。
图1. 单次推理UALA轨迹示例。示例(a)展示了CoT(链式推理)回答落在确定性区域内的轨迹。示例(b)是CoT过于不确定且激活工具的轨迹,最终得到的响应落在可接受的确定性区域内(在我们的结果中用UALA-S和UALA-M表示)。示例(c)是CoT和工具生成的响应均被视为不确定,Agent向人类寻求帮助的轨迹(在我们的结果中用UALA-S+Oracle表示。
不确定性估计
我们提出的不确定性估计方法大致分为两类:基于单次推理的和基于多次推理的。
-
单次推理。单次推理的不确定性估计基于单个输出计算不确定ƒ性,这需要访问该输出中的token对数概率。方法根据答案是单个token(例如,是或否)还是自由格式(多token)而有所不同。
-
多次推理。多次推理的不确定性估计基于来自LLM的多个输出来计算答案的不确定性,从而无需单个token对数概率。
-
不确定性阈值。接受答案或采用替代机制的决定取决于与该答案相关的不确定性水平。我们提出了为单次推理和多次推理的不确定性估计设置不确定性阈值的不同方法。对于单次推理,我们采用一部分训练数据来创建校准集。不确定性阈值基于校准集进行估计。对于多次推理设置中的不确定性阈值估计,我们采用与校准集相同的训练数据子集。我们使用校准集中答案的平均不确定性作为阈值。
实验
在这一部分中,我们详细描述了利用UALA框架在三个代表性任务(HotpotQA、StrategyQA、MMLU)上的实验设计和结果。这些任务涵盖了自由形式的问答、二元问答和多项选择问答,展示了UALA在不同类型的推理和信息检索任务中的适用性和效果。
图2.在500个HotpotQA实例、229个StrategyQA实例和570个MMLU(57个任务)实例上,每种提示方法的性能和工具调用次数。条形图代表性能(精确匹配),线条代表工具调用次数。条内的数字代表输出token的总数。带*的方法使用了回退策略。
图3.在两个大型语言模型上,基线方法和我们方法的完整结果。所用的度量标准是精确匹配,括号内的数字代表工具调用次数。UALA-S表示使用单次推理的不确定性估计方法,UALA-M表示使用多次推理的不确定性估计方法。每列的最佳结果以粗体显示。
实验结果分析
实验结果表明,UALA在所有任务上均实现了显著的性能提升,尤其是在需要复杂推理和信息整合的HotpotQA任务上。此外,UALA在减少对外部工具调用的同时,保持了高水平的任务性能,这表明了我们框架在提高效率和减少计算资源消耗方面的潜力。下面总结了一些主要的观测:
(1) 在HotpotQA上,CoT(链式推理)的表现超过了标准方法,而在StrategyQA和MMLU上,标准方法则表现更好。自洽性(Self-Consistency)在三个数据集和两个LLMs上始终能够增强结果。ReAct在每个实例上使用时,其性能不如标准/CoT/自洽性。通过整合回退策略,ReAct+Backoff显示出了改善,但通常仍然落后于自洽性,这凸显了自洽性通过抽样和多数投票作为捕获不确定性Agent的好处。
(2) UALA-S显著提升了ReAct的性能,将工具使用减少了一半以上,并在所有数据集上超越了标准/CoT。UALA-M达到了与UALA-S相似的性能,但工具使用增加了。UALA-S+Backoff超过了ReAct+Backoff,并且经常超越自洽性,UALA-M+Backoff在三个数据集的所有设置中提供了最佳结果。
(3) UALA最大的改进增益观察到在HotpotQA(自由形式)上,其次是StrategyQA(二元)和MMLU(多项选择)。这是预期的,因为自由形式的回答空间要比选择题类型的问题更大更多样化。增益差异可以用每项任务中正确和错误答案之间的不确定性差异来解释。
(4) 与标准/CoT结果相比,ChatGPT和LLaMA2-70B的平均(单次推理和多次推理)精确匹配(EM)改进:ChatGPT增加了11.7%,LLaMA2-70B增加了8.9%。这可能表明ChatGPT更可能产生更好校准的概率估计,导致训练集上更可靠的不确定性估计,从而推广到测试集。这可能是两个模型在大小和训练协议上差异的产物。
(5) UALA-S+Oracle的结果强调了不确定性价值的另一个方面。这一特性在敏感领域尤为重要,因为它可以阻止Agent生成错误的回答。当工具激活后响应的不确定性仍然高时,Agent选择求助于人类(我们通过使用金标准答案来模拟这一点),而不是冒着给出错误答案的风险。
推理花费
▲图4. 每种方法的输出token数量和工具调用次数。
ReAct的输出token数量是CoT的5倍之多。与ReAct相比,UALA-S将输出token数量减少了超过65%。UALA-M由于依赖于多次推理,因此消耗了更多的输出token。两种UALA方法与ReAct相比都可以大幅减少工具调用超过50%,使它们在资源效率上有了显著提升。
推理时间
▲图5。HotpotQA中不同方法的每实例平均推理时间(秒/迭代)。LLaMA2的推理是在单个A40 GPU上完成的。
标准和CoT提示方法不涉及外部工具调用,因此与其他方法相比具有更快的推理时间。如所示,由于其选择性的工具调用,UALA-S与ReAct相比具有更低的推理时间。这凸显了利用不确定性来减少token使用数量和工具调用的实际好处,同时仍能提供显著的性能提升。
答案不确定性可视化
▲图6. ChatGPT上三个数据集的正确答案和错误答案的不确定性范围的可视化(箱线图)。
在单次推理和多次推理的设置中,正确答案与错误答案相比,一致地表现出更低的不确定性。这种差异在统计上是显著的。当计算正确答案和错误答案的平均不确定性之间的差异时,我们观察到最大的差异属于HotpotQA,其次是StrategyQA和MMLU。这解释了为什么UALA的收益在主要结果中遵循相同的模式。
Language Agent 微调对比 UALA
▲图7. FireAct与UALA-S的对比结果。ReAct和UALA-S的结果是基于6-shot和现成的LLM主干。
我们展示了UALA-S与遵循FireAct设置的微调Language Agent之间的比较。对于ChatGPT,我们使用官方的GPT-3.5-Turbo微调API;对于LLaMA2-70B,我们使用LoRA。为了进行并排比较,我们使用与校准集相同的500个训练样本来构建微调数据。模仿FireAct设置,我们用ChatGPT运行了500个示例,并收集了成功的轨迹作为FireAct的训练数据。这为HotpotQA提供了162个训练示例,为StrategyQA提供了283个。此外,为了匹配FireAct设置的训练数据量,我们还运行了额外的1000个示例,将成功训练轨迹的数量增加到HotpotQA的512个和StrategyQA的567个。
有趣的是,在使用162个训练示例的HotpotQA上,FireAct的表现不如few-shot(6-shot)ReAct Agent,而在使用283个训练示例的StrategyQA上,则超过了ReAct。将训练数据量增加到500+可以改善两个LLM的表现,微调过的基于ChatGPT的Agent在两个数据集上都超过了ReAct。我们的方法UALA-S,在没有任何微调的情况下,仅使用500个样本创建校准集就取得了最佳结果。这凸显了在数据量较小的情况下,利用不确定性而不是微调的明显经验优势。
结论
本文提出的不确定性感知Language Agent(UALA)框架,通过在Language Agent的设计中集成不确定性量化,显著提升了多个任务的性能。我们的实验验证了UALA在提高任务解决能力的同时,能有效减少对外部资源的依赖,展示了在智能Agent设计中考虑不确定性的重要性和价值。