标题 | DYVAL: DYNAMIC EVALUATION OF LARGE LANGUAGE MODELS FOR REASONING TASKS |
---|---|
作者 | Kaijie Zhu; Jiaao Chen; Jindong Wang; Neil Zhenqiang Gong; Diyi Yang; Xing Xie |
代码 | https://github.com/microsoft/promptbench |
论文 | https://arxiv.org/abs/2309.17167 |
1 摘要
大语言模型在各种测试中表现得非常出色,但人们担心它们在训练时用到的海量数据可能会有问题。现有的测试方法可能也不够先进,不能准确测试这些模型的能力。所以,我们提出了一个新方法,叫做DYVAL,它可以灵活地动态评估这些模型。我们利用了一种叫做有向无环图的结构,来动态地制作一些难度可控的测试题。我们用DYVAL测试了一些知名的大型语言模型,发现它们在不同难度的题目上的表现确实有差异,这说明我们的动态测试方法很重要。我们还分析了模型在哪些情况下会失败,以及不同的提示方式对结果有什么影响。DYVAL不仅能用来测试,还能帮助我们改进模型,让它们在现有测试中表现得更好。我们希望DYVAL能够启发未来对这些模型的评估研究。
2 介绍
本文提出了 DYVAL,一种新的动态评估协议,旨在改进大型语言模型(LLMs)的评估方法。DYVAL 通过以下三个主要组件来解决当前评估基准面临的挑战:
生成算法(G):动态生成多样化的测试样本,避免数据集静态化的问题。 约束(C):调节样本的复杂性和有效性,以适应模型的能力提升。 描述函数(F):将生成的样本转化为自然语言,使其适合于模型评估。
DYVAL 使用有向无环图(DAG)来生成复杂问题,这些问题由基本单元(图节点)组成,能够动态调整难度,适合进行多步骤推理任务。DYVAL 的灵活性允许它与现有基准共同使用,进而改进 LLM 的评估和发展。
在实验中,DYVAL 被用于合成七类推理任务,包括数学、逻辑推理和算法问题。通过对多个前沿 LLM(如 GPT-4、Llama2-13B-chat 等)和最新的提示技术(如链式推理和自动提示工程)进行测试,结果表明:
DYVAL 评估结果与现有基准可能不一致,反映了现有基准的训练数据质量和数据污染问题。 随着问题复杂性的增加,LLM 的性能普遍下降,强调了动态评估复杂性的重要性。 错误分析揭示了 LLM 的多种失败模式,为进一步改进模型提供了见解。 不同的提示工程方法在各个评估集上的表现不一,较大的模型通常表现更佳。 DYVAL 生成的数据可以用于微调 LLM,提高其在现有基准上的表现。
总的来说,DYVAL 提供了一种动态、灵活的评估方法,能够有效应对数据污染和复杂性静态化问题,并为 LLM 的改进和发展提供了新的视角和方法。
3 DYVAL
3.1 通用动态评估描述语言
首先,介绍一下动态评估协议的一般描述语言。给定一个任务 TTT,动态评估算法可以表述为,其中:
是样本生成算法,包含随机性以保证每个样本的唯一性。随机性在不同任务中可能有所不同,例如数学问题中的数字和逻辑推理任务中的逻辑链。 表示对 GGG 的约束,其中 是任务 的任务约束,例如在任务背景下生成样本的合法性保证。是生成过程的复杂性约束,例如每个节点值的采样策略和对评估样本添加的扰动数量。 是描述函数,用于将生成的原始评估样本转换为自然语言描述。解释了生成的样本的特征和属性。是任务的描述,例如任务目标和预期结果。
一般来说,评估样本可以表示为使用上述描述语言。首先,生成一个符合复杂性约束和任务约束 的样本。然后,它经过描述函数转换为自然语言格式,最后通过任务描述函数处理。上述描述语言自然地(1)通过的动态生成避免数据污染,并(2)通过保证动态数据集和可控复杂性。具体来说,通过改变中的约束,我们可以生成不同难度的评估样本,实现 LLM 和评估过程的“共同进化”。描述语言具有灵活性,因为它允许通过相应地更改 和 来进行不同的生成算法和复杂性控制。
3.2 基于图形的推理任务动态评估
3.2.1 生成算法: DAG构造
生成算法基于图构建过程。我们将有向无环图(DAG)分为两类:树形 DAG(T-DAGs)和通用 DAG(G-DAGs),如图 1 所示。
树形 DAG(T-DAGs):这些图具有固有的层次结构,适用于从一组初始前提推导最终结论的任务,如算术问题和逻辑推理任务。T-DAGs 中的每个节点代表一个基础子问题,这些子问题通过节点之间的链接串联在一起,最终形成一个复杂的问题。 通用 DAG(G-DAGs):这些图在映射复杂关系方面表现出色,特别是在需要理解非线性互动的任务中。G-DAGs 适合处理具有复杂依赖关系的算法挑战。例如,考虑一个系统模型,其中一个实体的变化可能会级联影响多个其他实体,或者任务需要在实体之间找到不同的潜在路径。
3.2.2 图生成约束
任务约束: 任务约束因任务而异。以节点创建为例:1)节点值应该遵循什么分布?2)哪一组操作是允许的?3)一个节点的值如何从它的子节点的值中计算出来?在算术任务中,包括保证红利非零、避免溢出等。在这里,我们关注两个一般的任务约束:(1)值分布:指定可以分配叶节点值的允许范围或分布。例如,在逻辑推理任务中,前提(叶节点)被指定为True或False。(2)操作集:列出DAG内允许的操作。操作集约束通常用于基于树的DAG。例如,在一个算术任务中,允许的运算集可以定义为基本的算术运算{+,−,x, /}。
复杂性约束: 本文研究了4种将复杂性注入树的技术(图5):(1)改变T-DAGs的宽度和深度:控制树复杂性的自然方式。(2)改变G-DAGs的节点数量和链路数量:我们控制G-DAGs的节点总数。每个节点的链路数量在预定义的范围内随机选择,例如[1,5]。(3)增加额外的随机链路:对于每个节点,我们可以向另一个随机节点引入额外的链路。(4)嵌入随机描述:在主DAG的描述中添加随机描述。
3.2.3 描述函数
在构造了具有特定约束的DAG之后,我们需要使用描述函数将它们转换为可理解的自然语言描述。
DAG 描述函数: 我们对DAG进行节点描述,然后将节点的描述形成序列。自然语言中每个节点的解释取决于它的位置和任务。对于表示主要输入或前提的叶节点,它们可以被描述为:“[Name]的值是[value]。”例如,一个表示数字5的节点可以表示为:“节点a的值是5。”对于T-DAG(通常表示在其子节点上执行的操作的中间节点),描述可以表述为:“[Name]的值由[Children 's Names]的值[Operation]派生。”对于G-DAG,中间节点通常被描述为节点之间的连接:“the [Name]指向[Children 's Names]”。请注意,自然语言描述可以根据定制需求进行替换,并可以进一步与文本对抗性攻击相结合。此外,复杂性还受到节点描述顺序的影响。我们设计了三种顺序:拓扑,反向拓扑和随机顺序,每种顺序都为理解DAG提供了独特的挑战。
任务描述函数: 的构造高度依赖于任务的上下文。值得注意的是,这种结构也非常灵活。例如,在任务描述中加入对抗性提示会使问题变得更加困难。本文给出了代表T-DAG和G-DAG的算术任务和可达性任务的任务描述函数。
算法:给定一个T-DAG, DAG描述函数已经证明了前提:叶节点和推理的中间步骤:非叶节点。接下来,我们选择根节点作为需要求解的变量,我们附加问题“[root]的值是多少?”到用根变量的名称填充[Root]的描述。
可达性:可达性任务旨在对图中两个节点是否连接进行建模。对于GDAG, DAG描述函数展示了节点之间的连接。可达性任务的任务描述为:“[节点j]可以到达[节点i]吗”,其中节点i和节点j是从G-DAG中的节点中随机选择的。
最后,虽然直接采用GPT-4生成情境化的描述而不是简单的描述是可行的,但验证GPT-4生成的问题的基本原理是具有挑战性的。因此,我们把它留给以后的工作。
3.3 Dyval与现有基准共存并共同发展
DYVAL与现有基准测试相辅相成。首先,具有内在结构的任务能够显著受益于DYVAL,因为它可以通过调整生成过程来控制复杂性和随机性。例如,可以轻松地将清单、数据增强和推理数据集的合成等方法集成到DYVAL中。然而,对于没有明确结构的任务,DYVAL的实施可能会面临挑战。
其次,DYVAL可以通过现有基准测试来增强,以形成更具挑战性的场景。例如,描述函数F主要涉及自然语言文本,因此可以很容易地结合对抗性攻击或分布外提示来评估大型语言模型(LLMs)的鲁棒性。
虽然本文主要关注评估推理任务,但DYVAL在评估自然语言处理任务方面也具有灵活性。我们在附录中展示了使用DYVAL进行情感分析评估的初步研究,并且未来可以在此方向上进行更多工作。最后,DYVAL本质上确保了评估样本构建的公正性和平衡性,因为可以轻松控制生成过程。
4 实验
4.1 实验设置
任务和复杂程度。我们主要讨论每个任务中使用的约束。测试集的准确性可能会有所不同,因为它是动态生成的。为了平衡测试时间和差异,我们为每个数据集生成500个样本。为了减轻随机性对评估结果的影响,我们对每个数据集进行了三次评估。我们为每个任务定义了4个复杂度级别(D1 ~ D4)。对于使用通用dag的任务,节点数设置为{7,10,15,20},每个节点有{3,4,6,8}个最大链接和1个最小链接。对于使用基于树的dag的任务,树的深度和宽度分别为(2,2)、(3,2)、(3,3)、(4,2)。
评价指标。我们的主要评估指标是准确性。对于答案是数字的任务,我们采用相对精度来确定预测的正确性,即,如果答案的相对精度在特定阈值σ(例如,0.01%)内,则认为答案是正确的。相对精度的计算公式为:,其中表示基础真值,为模型预测,为绝对值函数,为期望的相对精度阈值,而是为了防止被零除而引入的一个小值。
LLMs。评估的LLM包括Flan-T5-large、phi-1.5、WizardMath-13B、Xwin-13B、Llama2-13B-chat、Vicuna-13B-v1.3,GPT-3.5-Turbo和GPT-4 。温度设置为0以避免随机性。我们将生成长度设置为与输入长度成正比。具体而言,对于GPT-3.5-Turbo和GPT-4,生成长度设置为输入长度的两倍;对于其余的模型,它被设置为输入长度的五倍。我们为每个任务设计了提示,包括规则的演示,特别是推理和算法任务。为了确保格式化的输出,我们进一步要求llm显式地输出他们的“⟨⟨”和“⟩⟩”之间的预测。
4.2 数学、逻辑推理和算法任务的结果
在展示主要结果之前,请注意Flan-T5-large、phi-1.5、WizardMath13B和Xwin-13B在所有任务中的结果都是0,因此我们不再报告它们。我们用三种随机的种子进行了实验。图2显示了按三代顺序和三个随机种子平均的所有任务的结果。GPT-4表现最好,紧随其后的是gpt -3.5 turbo。Llama2-13B-chat的性能低于标准,Vicuna-13B-v1.3偶尔优于Llama2-13B-chat。更多的发现如下。
现有静态基准与DYVAL之间的性能不一致:尽管phi-1.5、Xwin-13B和WizardMath-13B在现有基准上取得了优异的成绩,但它们在我们的评估中表现不佳,突出了仅在静态基准上评估llm时可能存在的问题,以及可能存在的低训练数据质量或数据污染问题。
处理复杂数据集的困难:从D1到D4,性能大多急剧下降,突出了llm与日益增加的复杂性的斗争。例如,GPT-3.5-Turbo在处理算术任务时,随着复杂度的增加,性能会下降23%。值得注意的是,溯因逻辑(从结论推断前提)的表现远低于演绎逻辑(从前提推断结论),正如Berglund等人(2023)所支持的那样,这表明法学硕士在“A是B”方面比“B是A”表现得更好。此外,GPT-4和GPT-3.5-Turbo之间的性能差异在D1等较简单的任务中很细微,但在复杂的任务中却很突出。这些观察结果表明,复杂和不断发展的任务对有效区分和评估模型的价值。
人类研究: 我们招募了82名至少拥有学士学位的人类评估员2,以在最复杂的数据集(D4)上衡量他们与法学硕士的技能,以完成数学和逻辑推理任务。每个参与者从每个数据集中解决5个问题。如图3所示,GPT-4和GPT-3.5-Turbo在大多数任务中都表现出很高的能力,超过了人类的平均水平。原因可能是生成的问题通常对人类来说更难,但对法学硕士来说更容易。然而,GPT-4在线性方程和溯因逻辑等领域表现不佳。这表明未来的开发可能涉及更多来自特定领域的数据。
4.3 案例研究
为了全面了解LLM的行为,我们仔细研究了失效模式。我们的重点是基于GPT-4性能的最具挑战性的算术、演绎逻辑、溯因逻辑和可达性任务的数据集。我们为每个任务随机选择20个故障样本,并将故障模式总结如图4所示。错误类型各不相同,表明还有很大的改进空间。
4.4 消融研究
复杂性约束的影响:在图5中,我们通过调整第3.2.2节中描述的约束来改变GPT-3.5-Turbo的复杂性,并观察LLM的性能如何在算术、布尔逻辑和演绎逻辑任务中发生变化。值得注意的是,随着任务复杂性的增加,LLM的性能会下降。深度成为基于树的DAG的主要挑战,强调LLM在扩展推理步骤方面的困难。
提示工程:我们在最具挑战性的数据集上评估了五种提示技术(PE),如表5和附录D.7所示。没有任何PE方法可以在所有任务中表现最好。虽然APE显著提高了线性方程任务的10%,但它对演绎和溯因逻辑产生了负面影响。这些不同的结果突出了特定任务体育选择和发展的重要性。
模型大小的影响:我们进一步评估了Llama2在其最简单的数据集D1上使用不同模型大小的算术、布尔逻辑和可达性任务的性能。从表6可以看出,尺寸越大,效果越好,但大多仍不能超过GPT-4和human。
5 DYVAL 帮助微调大模型
在本节中,我们展示了DYVAL生成的数据可以进一步被用来微调大型语言模型(LLMs),以提高它们解决复杂任务的能力。具体来说,我们为7个任务生成了训练数据,用以微调Llama2-13Bchat模型。微调和训练样本生成的详细信息在附录E中。然后,我们在不同设置下测试了模型:(1) 与训练数据难度相同的分布内样本;(2) 难度水平高于训练数据的分布外样本。为了进一步证明我们生成数据的有效性,我们在现有的基准测试上用少量样本测试了模型,包括GSM8K和SVAMP来评估数学能力,FOLIO和RACO来评估逻辑推理能力,以及DP和LCS来评估算法能力。图6的结果显示,微调模型在所有任务中的表现都有所提高。这表明DYVAL不仅作为一个基准测试有效,而且通过在其生成的样本上进行微调,也能够提高LLMs在现有基准测试上的性能。这种改进可能源于不同基准测试和DYVAL生成样本之间的相似性。例如,GSM8K样本可以被解释为深度为2或3的树。有趣的是,即使在我们的微调中没有动态编程任务,微调后的模型在DP和LCS数据集上也显示出了性能提升。这强调了LLMs的潜在学习能力和DYVAL生成训练样本的有效性。我们进一步微调了GPT-3.5-Turbo,并检验了其在通用自然语言理解上的能力。结果表明,在我们生成的数据集上进行微调,并不会损害自然语言理解能力。
6 总结
我们提出了DYVAL,这是一个动态的大型语言模型(LLMs)评估协议,旨在减轻现有基准测试的数据污染和静态复杂性问题。我们为推理任务设计了基于图的DYVAL。DYVAL的优势在于其能够动态生成样本,并具有固有的难度调整灵活性。在使用我们的基准测试进行的实验中,我们观察到几个有趣的发现。更重要的是,DYVAL生成的样本不仅可以作为评估样本,还可以作为微调数据,以提高LLMs在现有基准测试中的表现。
我们的工作存在几个局限性。(1) 任务:我们目前专注于推理任务。虽然DYVAL支持其他任务(见第H节),但这需要设计生成算法G。(2) 样本:由于资源限制,我们的实验使用了有限的测试样本集。在更大的样本集上进行评估可能有助于观察到更多发现。(3) 微调:可以在更多不同的模型和数据集上进行微调,以获得更深入的见解。