Abstract
随着大型语言模型(LLM)能力的迅速提升,衡量自然语言生成(NLG)系统输出质量变得越来越困难。传统的指标如BLEU和ROUGE依赖于参考数据,通常不适用于需要创造性或多样化输出的任务。人工评估是一种选择,但手动评估生成文本既难以做好,又昂贵,难以随着需求和质量标准的变化进行规模化和重复评估。近期的研究集中在使用LLMs作为可定制的NLG评估器,初步结果令人鼓舞。在本次展示中,我们介绍EvaluLLM,这是一个旨在帮助从业者设置、运行和审查NLG输出集评估的应用,使用LLM作为定制评估器。评估被设计为一系列基于用户提供的评估标准,对生成输出对进行选择的过程。这种方法简化了评估任务,避免了复杂评分算法的需要。该系统可以应用于一般评估、人工辅助评估和模型选择问题。
1 LLMS AS EVALUATORS
擅长指令执行的大型语言模型(LLMs)能够生成超过人类参考数据质量的输出【5】。因此,诸如ROUGE【6】和BLEU【8】等传统基于参考的指标可能不再是衡量自然语言生成(NLG)输出质量的可靠指标。此外,传统指标无法根据具体用户需求或关注点进行定制或适应。如果我们推测当前LLM输出质量的表现,未来的评估可能需要衡量个人和组织表达的复杂价值观和偏好,而不是依赖于与固定参考示例的相似性。人工评估是一个潜在的解决方案,然而审查和评分生成的文本并非易事,这种方法在迭代开发过程中并不适合进行规模化处理,因为数据、模型和评估标准会随着时间而演变。
最近的研究表明,LLMs可以作为可定制的NLG输出评估器【7,9】。这种通用方法可应用于没有人类提供参考或不适合基于参考评估的任务。Wang等人(2023)【9】在基于参考和非基于参考的试验中评估了ChatGPT作为特定方面的NLG评估器。他们发现,ChatGPT评估器在大多数情况下与人类偏好的相关性很高,特别是对于创造性的NLG任务,但评估对提示设计很敏感,不同任务和方面的评估提示需要仔细考虑。G-Eval【7】使用链式思维(CoT)提示方法和表单填写模式来评估NLG输出质量。该框架应用于两个NLG任务:文本摘要和对话生成,使用GPT-4作为评估模型,在文本摘要任务上与人类判断的相关性达到0.514。然而,作者也对评估过程中可能存在的偏向自生成输出的问题表示担忧。
在将LLM应用于NLG评估时,一个重要的考虑因素是如何可靠地产生质量评分或数值。G-Eval【7】提示LLM直接生成一个固定刻度的分数,但这种方法的粒度较粗,并且LLMs在处理数字方面已知存在问题【1】。GPTScore【2】通过生成输出的条件概率来衡量NLG质量,基于任务描述、方面定义和任务上下文进行条件判断。这种方法扩展了评分粒度,并打开了作为评估者的模型库。然而,该方法依赖于条件词元概率的访问,这在托管或封闭的LLMs中可能不可用。另一种评分方法,由AlpacaEval【4】应用,是测量一个强大的LLM(如GPT-4)在多大程度上偏好某个模型的输出超过参考模型的输出。这种方法产生了一个直观的胜率指标,可用于按比较性能进行排序。
最近,专门针对评估进行微调的LLMs开始出现。Prometheus【3】是一款13B参数的评估LLM,经过训练以根据自定义评分标准评估长篇生成输出。实验结果表明,Prometheus在45个自定义评分标准上的得分与人类评估者的皮尔逊相关系数达到0.897。
2、EvaluLLM
EvaluLLM是一个基于网页的NLG评估器,旨在确定和比较一组LLMs在用户指定的NLG任务上的表现。NLG任务由输入数据集𝐷和任务提示𝑃定义。数据集𝐷的架构中暴露的变量可以使用常规的大括号表示法嵌入到𝑃中,并附加静态任务指令。当在数据集𝐷中的数据项上执行提示时,提示中的变量引用将被相应的数据项值替换。NLG任务使用评估LLM 𝐸和评估标准𝐶在一组LLMs 𝑀上进行评估。评估标准𝐶是用自然语言表达的用户定义质量描述。
评估被设计为一组模型输出之间的选择,类似于AlpacaEval【4】,但生成的模型输出是相互比较的,而不是与固定的参考模型输出比较。将评估分解为一组成对决策可以减少评估任务的复杂性和输入上下文的大小,但代价是增加了推理操作的次数
每个数据集中的数据项𝑑𝑖 ∈ 𝐷都应用于任务提示𝑃,并在每个LLM 𝑚𝑖 ∈ 𝑀上对实例𝑃(𝑑𝑖)进行推理,产生一组|𝑀|个生成的输出𝑂𝑖。生成输出的评估涉及应用一个自定义评估提示,该提示包含一个指令(由数据项𝑑𝑖中的变量填充的𝑃)、一对选定的输出𝑜1和𝑜2 ∈ 𝑂𝑖以及评估标准𝐶,如图1所示。评估提示被设计为引导评估LLM根据评估标准做出选择,即提示以以下声明结束:“基于评估标准,最佳输出是”。评估LLM生成的第一个非空白字符表示首选输出(1或2)。评估器还会生成一个解释,这对于人工审查和调试评估器的推理过程很有用。
每个实例𝑃(𝑑𝑖)的评估包括以下步骤:
- 数据准备:从数据集𝐷中选择一个数据项𝑑𝑖。
- 任务提示生成:将数据项𝑑𝑖中的变量填充到任务提示𝑃中,形成实例提示𝑃(𝑑𝑖)。
- 输出生成:在每个LLM 𝑚𝑖 ∈ 𝑀上执行实例提示𝑃(𝑑𝑖),生成一组输出𝑂𝑖。
- 评估提示生成:创建包含指令、两个选定输出𝑜1和𝑜2以及评估标准𝐶的评估提示。
- 评估执行:将评估提示输入评估LLM 𝐸,引导其根据评估标准做出选择。
- 结果解释:记录评估LLM生成的首选输出标识符和解释。
这种方法通过将评估任务分解为一系列的成对决策,减少了评估的复杂性和输入上下文的大小,但增加了推理操作的次数。
Interface design
EvaluLLM界面设计考虑了两种用户体验:构建体验和审查体验,如图1所示。
构建体验
- 生成器部分:用户可以选择数据集并编辑任务提示。可以使用标准大括号表示法将数据集架构中的数据变量嵌入到任务提示中。系统还提供了LLMs的选择,用户可以选择进行评估的模型。
- 评估器部分:用户选择将执行自动评估的LLM,并输入自定义评估标准。评估标准是一个用自然语言描述的质量标准,评估LLM将根据这些标准评估模型输出。
审查体验
- 模型排行榜:显示按所有评估数据实例汇总的胜率排序的LLMs列表。
- 手动审查和评分:用户可以选择手动审查和评分一部分模型输出。为了避免偏见,这些评分以盲审方式收集,并与LLM评估进行比较,生成一致性评分。这个一致性评分显示了用户和评估LLM在输出质量上的一致程度,有助于理解评估标准是否被正确解释和应用。
- 浏览评估实例和偏好理由:用户还可以浏览所有评估实例和偏好理由的列表。
这种设计既简化了评估任务,又提供了详细的结果分析,帮助用户更好地理解和改进评估过程。
4 PERSPECTIVES ON NLG EVALUATION
除了设计和开发EvaluLLM之外,我们还对六名负责协助大型跨国科技公司客户根据用户定义的标准和需求选择最合适模型的个人进行了访谈。这些访谈深入探讨了NLG评估和模型选择过程中的细微差别,通常涉及直接的人工评估,但也可以为基于LLM的评估方法的设计提供启示。表1突出了这些访谈中出现的主题,我们计划在未来的迭代中进一步研究,并可能将其整合到EvaluLLM中。
参与者表达了对评分系统的偏好:他们明显希望能够对特别差的输出分配负分,并定义评估维度上的明确极端,例如区分“事实性”和“非事实性”输出。需要优先考虑某些评估维度而非其他维度的需求被强调。例如,一个用户强调对输出的“实用性”比对给定源材料的“忠实性”更关注,这表明需要灵活性以适应复杂的评分和用户定义的评估标准。另一个在访谈中出现的主题是从业者在评估过程中方法的多样性。一些受访者倾向于涉及更多没有指导的人工评估者,而其他人则更喜欢较少且更有指导性的方法。显然,评分标准在评估过程中发展和扩展,表明需要一个迭代的系统来应对这些变化。