作者:
(1) 孙晓飞,浙江大学;
(2)李晓雅,Shannon.AI和字节跳动;
(3) 张胜宇,浙江大学;
(4) 王树和,北京大学;
(5)吴飞,浙江大学;
(6)李继伟,浙江大学;
(7)张天伟,南洋理工大学;
(8)王国印,Shannon.AI和字节跳动。
在本节中,我们详细介绍了用于情感分析的多 LLM 协商框架:两个 LLM 分别充当答案生成器和鉴别器。我们将生成器和鉴别器之间的交互称为协商。协商将重复进行,直到达成共识或超过最大协商轮数。图示如图 1 和图 2 所示。
生成器以大型语言模型为骨干,通过提示的方式询问基于ICL范式的答案生成器,旨在针对测试输入的情绪极性生成逐步的推理链和决策。
提示由三个元素组成:任务描述、演示和测试输入。任务描述是用自然语言对任务的描述(例如,“请确定测试输入的整体情绪。”);测试输入是测试集中的文本输入(例如,“天空是蓝色的。”);演示来自任务的训练集。每个提示都由三个元素组成:输入、推理链和情绪决策。
对于每个测试输入,我们首先从训练集中检索 K 个最近邻(输入、情绪决策)作为演示。然后,我们通过提示生成器生成推理链将演示转换为(输入、推理过程、情绪决策)三元组。在将任务描述、演示和测试输入连接起来后,我们将提示转发给生成器,生成器将以分步推理链和情绪决策做出响应。
判别器以另一个LLM为骨干,在完成答案生成过程后,答案判别器用于判断生成器做出的决策是否正确,并提供合理的解释。
为了实现这一目标,我们首先为答案鉴别器构建提示。提示由四个元素组成:任务描述、演示、测试输入和答案生成器的响应。任务描述是一段用自然语言描述任务的文本(例如,“请确定决策是否正确。”)。每个演示由六个元素组成:(输入文本、推理链、情绪决策、鉴别器态度、鉴别器解释、鉴别器决策),并通过提示答案鉴别器提供为什么情绪决策对于输入文本是正确的解释来构建。
然后我们用构造提示来询问鉴别器。答案鉴别器将用一个文本字符串响应,其中包含表示鉴别器是否同意生成器的态度(即是、否)、解释为什么鉴别器同意/不同意生成器的解释,以及确定测试输入的情绪的鉴别器决策。
为什么要使用两个 LLM 而不是一个?为生成器和鉴别器分别使用两个不同的 LLM,而不是使用一个 LLM 来充当两个角色,有两个原因:(1)如果一个 LLM 由于错误的推理而作为生成器犯了错误,那么它更有可能犯与鉴别器相同的错误,因为来自同一模型的生成器和鉴别器很可能犯类似的推理;(2)通过使用两个独立的模型,我们可以利用两个模型的互补能力。
两个 LLM 以协商结束之后,我们要求它们互换角色并启动新的协商,其中第二个 LLM 充当生成器,第一个 LLM 充当鉴别器。我们将两个互换角色的 LLM 之间的交互称为角色互换协商。同样,角色互换协商会一直结束,直到达成共识或超出最大协商轮数。
当两个谈判都达成一致,且双方的决定相同时,我们可以选择任一决定作为最终决定,因为它们是相同的。如果其中一个谈判未能达成共识,而另一个谈判达成了决定,我们将选择达成共识的谈判的决定作为最终决定。但是,如果两个谈判都达成共识,但双方的决定不一致,我们将需要额外的语言模型 (LLM) 的帮助,下面将对此进行更详细的解释。
引入第三个LLM如果两次协商的决策不一致,则引入第三个LLM,分别与上述两个LLM进行协商和角色转换协商,得到6个协商结果,并对这些结果进行投票,其中出现频率最高的决策作为输入测试的情绪极性。