大型语言模型(LLM)正在风靡全球,它们的一个重要应用就是聊天,并在问答、客服和其他许多方面都有应用。然而,聊天机器人是出了名的难以评估。究竟这些模型在什么情况下最好用,我们目前尚不明晰。因此,LLM 的测评非常重要。
此前一位名叫 Marco Tulio Ribeiro 的 Medium 博主在一些复杂任务上对 Vicuna-13B、MPT-7b-Chat 和 ChatGPT 3.5 进行了测试。结果表明,Vicuna 对于许多任务来说是 ChatGPT (3.5) 的可行替代品,而 MPT 还没有准备好在现实世界中使用。
近日,CMU 副教授 Graham Neubig 对已有七种聊天机器人进行了详细测评,并制作了一个实现自动比较的开源工具,最后形成了一份测评报告。
在这份报告中,测评者展示了一些聊天机器人的初步评估、比较结果,目的是让人们更容易地了解最近出现的所有开源模型以及基于 API 的模型现状。
具体来说,测评者创建了一个新的开源工具包 ——Zeno Build,用于评估 LLM。该工具包结合了:(1)通过 Hugging Face 或在线 API 使用开源 LLM 的统一界面;(2)使用 Zeno 浏览和分析结果的在线界面,以及(3)使用 Critique 对文本进行 SOTA 评估的指标。
具体结果参加:https://zeno-ml-chatbot-report.hf.space/
以下是评估结果汇总:
以下是评测的详细信息。
模型概况
测评者使用的是 DSTC11 客户服务数据集。DSTC11 是一个对话系统技术挑战赛的数据集,旨在支持更具信息性和吸引力的任务导向对话,通过利用评论帖子中的主观知识来实现。
DSTC11 数据集包含多个子任务,如多轮对话、多领域对话等等。例如,其中一个子任务是基于电影评论的多轮对话,其中用户和系统之间的对话旨在帮助用户找到适合他们口味的电影。
他们测试了以下 7 个模型:
对于所有的模型,测评者使用了默认的参数设置。其中包括温度(temperature)为 0.3,上下文窗口(context window)为 4 个先前的对话轮次,以及一个标准的 prompt:「You are a chatbot tasked with making small-talk with people」。
评价指标
测评者根据这些模型的输出与人类客服反应的相似程度来评估这些模型。这是用 Critique 工具箱提供的指标完成的:
他们还测量了长度比,用输出的长度除以黄金标准的人类回复的长度,以此衡量聊天机器人是否啰嗦。
更进一步的分析
为了更深入地挖掘结果,测评者使用了 Zeno 的分析界面,特别是使用了它的报告生成器,根据对话中的位置(开始、早期、中期和后期)和人类回应的黄金标准长度(短、中、长)对例子进行细分,使用其探索界面来查看自动评分不佳的例子,并更好地了解每个模型的失败之处。
模型的总体表现如何?
根据所有这些指标,gpt-3.5-turbo 是明显的赢家;Vicuna 是开源的赢家;GPT-2 和 LLaMa 不是很好,表明了直接在聊天中训练的重要性。
这些排名也与 lmsys chat arena 的排名大致相符,lmsys chat arena 使用人类 A/B 测试来比较模型,但 Zeno Build 的结果是在没有任何人类评分的情况下获得的。
关于输出长度,gpt3.5-turbo 比其他模型的输出要冗长得多,而且看起来,在聊天方向进行调优的模型一般都会给出冗长的输出。
黄金标准响应长度的准确性
接下来,测评者使用 Zeno report UI 进行深入挖掘。首先,他们按照人类回复的长度将准确性分别进行了测量。他们将回复分为短(≤35 个字符)、中等(36-70 个字符)和长(≥71 个字符)三个类别,并对它们的准确性进行了单独的评估。
gpt-3.5-turbo 和 Vicuna 即使在更长的对话轮次中也能保持准确性,而其他模型的准确性则有所下降。
接下来的问题是上下文窗口大小有多重要?测评者用 Vicuna 进行了实验,上下文窗口的范围是 1-4 个之前的语篇。当他们增加上下文窗口时,模型性能上升,表明更大的上下文窗口很重要。
测评结果显示,较长的上下文在对话的中间和后期尤其重要,因为这些位置的回复没有那么多的模板,更多的是依赖于之前所说的内容。
当试图生成黄金标准较短的输出时(可能是因为有更多的歧义),更多的上下文尤为重要。
prompt 有多重要?
测评者尝试了 5 个不同的 prompt,其中 4 个是通用的,另外一个是专门为保险领域的客服聊天任务量身定制的:
总的来说,利用这些 prompt,测评者并没有测出不同 prompt 导致的显著差异,但「愤世嫉俗」的聊天机器人稍微差一点,而量身定制的「保险」聊天机器人总体上稍微好一点。
在对话的第一个回合中,不同 prompt 带来的差异尤其明显,这表明当没有什么其他上下文可以利用时,prompt 是最重要的。
最后,测评者使用 Zeno 的 exploration UI ,试图通过 gpt-3.5-turbo 找到可能的错误。具体来说,他们查看了所有 chrf 较低(<0.1)的例子,并手动查看了这些例子以发现趋势。
Probe 的失败
有时模型无法在实际需要时 Probe(探测)更多信息,例如模型在处理号码这一事件中尚未完善(电话号码必须是 11 位数字,模型给出的数字长度与答案不匹配)。这时可以通过修改 prompt 来缓解,以提醒模型某些信息所需的长度。
内容重复
有时,同样的内容会重复多次,比如聊天机器人在这里说了两次「谢谢」。
回答合理,但与人类方式不同
有时候,这种响应是合理的,只是与人类的反应不同。
以上就是评测结果。最后,测评者希望这份报告对研究者有所帮助!如果你继续想尝试其他模型、数据集、prompt 或其他超参数设置,可以跳转到 zeno-build 存储库上的聊天机器人示例进行尝试。
以上是大羊驼、羊驼、小羊驼和ChatGPT比差在哪儿?七个类ChatGPT大模型测评的详细内容。更多信息请关注PHP中文网其他相关文章!