追逐数字:人工智能基准之谜

人工智能
后台-插件-广告管理-内容页头部广告(手机)

创造和测量哪个更容易? 在这两种情况下,我们都需要做出选择,但又不知道如何做。 时间并不站在我们这边。

2019年,加拿大计算机科学家理查德·萨顿(Richard S. Sutton)总结了人工智能(AI)研究70年的惨痛教训:利用计算的通用方法最终是最有效的。因此,我们不必为狭窄的下游任务设计高度专业化的模型,而是可以利用可用的计算资源在黑盒统计模型中获得良好的结果。

不幸的是,计算密集型黑盒方法有两个问题。 首先,数据瓶颈。 我们需要越来越多的数据,并且数据应该具有良好的质量,但这并不是很容易提前获得和理解(到底什么是好数据?)。 二、评价。 通过构建高度通用的预测模型,通过实验评估模型是否有效变得更加困难。

 

提示:用电脑思考的古代哲学家雕像

在这篇文章中,我将大致描述自然语言处理 (NLP) 中的评估是如何工作的、我们今天遇到的问题以及我们可以采取哪些措施。如何严格选择更好的模型也变得越来越不明显。我们需要一个彻底的评估方法,我们会发现设计一个好的评估协议绝非易事。我也相信我的想法在 NLP 领域之外也会有用。

回顾:NLP 发生了什么?

让我们简要回顾一下 NLP,这样我们就能达成共识。在过去的三十年里,这个领域经历了多次范式转变。首先,它在 90 年代初从基于规则的系统过渡到机器学习模型。它的效果非常好,以至于语音识别先驱 Frederick Jelinek 有一句名言:“每次我解雇一名语言学家,语音识别器的性能都会提高。” 随后,2013年发布了一种高效的Word2Vec学习词嵌入方法,表示学习成为语言处理的重要方法。最后,我们当前的范式是由 2017 年 Transformer 架构的发布和一年后的 BERT 模型定义的,这使得大多数先前的工作不仅过时而且过于复杂。

我发现这些转变有两个相关因素。 首先,更新的模型以前是不可能的,因为我们没有 GPU、TPU 和 ASIC 等加速器。其次,早期的模型依赖于非常难以获得的人工注释数据集,而最近的模型是建立在从互联网上爬取的大量非结构化文本的基础上的(在这里,我想向读者指出我的抄本) 我们的 ICML 2023 教程中以数据为中心的部分)。这意味着这些模型总体上变得更大、能力更强,复制了萨顿的惨痛教训,但在故障排除和分析方面却不太方便。

今天,我们几乎每天都会发布不同的大型语言模型 (LLM)。其中一些拥有很好的开源许可证,一些是专有的,甚至没有透露设计细节,还有一些介于这两个极端之间。许多作者声称他们的模型在很多很多任务上表现出了出色的性能。我们如何找到最适合我们的需求和可能性的呢?更一般地说,我们如何相互比较模型?让我们首先看看一些古代、史前时代,然后看看接下来会发生什么。这都是关于基准测试的。

古代对标(2018年之前)

自 90 年代初以来,NLP 的早期工作重点是为下游任务开发高度专业化的方法。这些工作通常会产生手动设计的不同步骤的流程,试图共同解决给定的问题。您有一个单独的管道用于情感分析、垃圾邮件检测、文本摘要、信息检索 (IR) 等。尽管它们有一些常见的步骤,例如标记化、词性标记,可能还包括句法解析,但大多数步骤和机器学习功能都是针对所选下游应用程序精心选择和调整的。因此,对于不熟悉的读者来说,方法可能会觉得乏味,但它们最终完成了工作(尽其所能)。

自从机器学习开始在这些管道中使用以来,就出现了一种研究模型性能的通用方法。 数据集分为训练、验证和测试子集。 然后,选择评估标准并进行计算,以便在不同系统之间对获得的数字进行比较。 这种评估相当静态,最终系统在特定的单任务评估数据集上变得过度拟合,使得对当前最先进的技术做出公平的评估变得更加困难。 例如,在计算机视觉领域,有一个非常流行的图像分类数据集,称为 MNIST。人们期望一个好的图像分类系统在 MNIST 上表现良好,但反之亦然——在 MNIST 上表现良好并不意味着该系统在除 MNIST 之外的其他方面表现良好。

IR 社区认识到更有原则的评估的必要性,于 1992 年发起了名为文本检索会议 (TREC) 的极其成功的计划。在 TREC,使用共享任务对系统进行了不同的评估。首先,组织者选择了一系列曲目,例如查询扩展或相关反馈,并公开征集参加 IR 系统竞赛。然后他们创建了相应的训练、验证和测试数据集。最后,他们举办了一场比赛,参与者拥有训练数据集,并在事先不知道答案的情况下提交对测试数据集的预测。组织者评估了这些提交的材料。值得注意的是,它可以通过在隐藏数据集上计算一些评估标准(例如准确性)来自动完成。但更有趣的是,这通常是通过邀请人类专家或使用众包来完成的。结果在排行榜上列出。通过定期运行 TREC 轨迹,可以跟踪 IR(及相关领域)最先进的动态。

TREC 拥有非常多的追随者,并激发了许多机器学习领域的会议、研讨会和其他活动,以共同定位主题共享任务。社区创建了举办竞赛的在线平台,例如 CodaLab/Codabench、TIRA 等。如今,每个大型科学会议都有专门的竞赛赛道,例如 SemEval、KDD Cup、WSDM Cup、NeurIPS Comparisons、CLEF Initiative 和 好多其它的。其中许多提供金钱奖励来激励参与者。随着 Kaggle 的推出,这一切都达到了工业规模,它使公司能够将其问题的模型选择外包给机器学习爱好者,他们通过排行榜上的最佳解决方案赚钱。Kaggle 也非常成功,以至于 Google 在 2017 年收购了它。

运行共享任务是一种奇妙且非常有益的体验,但由于注释质量、标准选择、任务升级、托管平台的选择、潜在的数据泄漏等,其准备工作需要大量的努力和专业知识。 写这篇文章时,我组织了八个任务,我的经验告诉我,每次需要评估模型时运行共享任务是不可行的。 自从 2017 年发现能够很好地解决多个不同任务的 Transformer 架构以来,旧的单任务基准测试不再具有代表性。

以 2018 年为基准

自 2018 年 BERT 发布以来,NLP 社区一直在采用预训练的 Transformer 模型(Vaswani 等人,2017),事实证明该模型在实践中效果非常好。性能数字上升,管道变得更加简单,整个领域改变了它的吸引力——不再有奇怪的自定义方法,只有学习算法,就像计算机视觉中一样,但有文本。如果我们可以用更少的数据量来微调预先训练的 Transformer,为什么还要为我们的下游应用程序构建复杂的表示呢?

 

您之前已经多次看过这个 Transformer 图;最初在 Vaswani (2017)。请注意,BERT 只有编码器(左),GPT 只有解码器(右),T5 两者都有。

这些方法论的变化和模型能力的增强使得基于 BERT 的方法在流行的基准测试中始终优于许多以前最先进的模型。问题是,由于它们在这些下游应用程序上足够好,我们如何衡量它们的泛化能力?作为回应,社区提出了多任务基准,例如通用语言理解评估(GLUE)和 SuperGLUE。前者包含 11 项具有挑战性的任务,后者包含 10 项任务。这些系统使用单个聚合分数在排行榜上进行评分,因此一个好的系统必须同时在所有任务上显示出良好的结果。

多任务基准的想法进一步发展,包括大规模多任务语言理解(MMLU,57 个任务)、EleutherAI 语言模型评估工具(LM-Eval,200 多个任务)和超越模仿游戏基准(BIG-bench, 200 多个任务)。请注意,许多基准测试都集中在英语上,人们为其他语言或多语言设置创建了类似的数据集。因此,随着模型变得更加强大和通用,它们的质量是使用非常大的多任务基准来评估的。

我无法高估消融在评估中日益重要的作用。 在消融研究中,人们从被评估的系统中移除各种组件,以研究它们对整体性能的贡献。 尽管自 70 年代以来,消融在 NLP 中就已为人所知,但当论文中描述新系统时,消融就成为必需的,这非常好。在此之前,消融只是主要实验的一个不错的奖励。

尽管多任务基准测试和下游应用程序的共享任务对于基准测试至关重要,但 BERT 是一种仅编码器的架构,因此研究人员必须对其进行微调以适应这些任务;这不是一个生成模型。这使他们能够控制数据,除了昂贵的预训练部分之外。但后来,纯解码器架构取得了辉煌的成就。你猜怎么了?

以 2023 年为基准

随着 2020 年 GPT-3 的推出,以前不太有趣的生成语言模型已经成为一件大事(双关语)。NLP 和更广泛的人工智能社区发现了一种令人印象深刻的能力,可以通过预测文本中的下一个单词来解决出乎意料的大量问题。结果,我们在 2022 年获得了经过指令调整的LLMs ,自 ChatGPT 以来,这导致了整个问题的紧急情况,称为即时工程。

我从来没有想象过我们会在一些聊天中以试错的方式编写文本来执行文本分类等任务。 我当时的赌注是转移学习和知识蒸馏。 但这是我们目前拥有的最好的方法,不仅因为这种方法具有很高的可访问性,而且还因为它在许多有用的日常任务上具有最先进的性能。

正如这些仅解码器模型所证明的,良好的性能是由大量训练参数引起的:GPT-3 有 175B 个参数,而 GPT-4 有更多。仅解码器 Transformer 的训练“仅”需要大量自然语言文本,无需任何注释,因此它的扩展性非常好。反过来,经过指令调整的 LLM 需要额外的更精心设计的指令提示和响应,请再次参阅我们的 ICML 教程,但这超出了我们今天的议程。我们通常不再针对特定任务微调模型。相反,对于大多数下游应用程序,我们会提供一个文本提示来完成工作,并且模型始终保持不变(但如果使用托管的 LLM,其所有者可以使用交互数据来调整模型) 。

尽管 MMLU、LM-Eval 和 BIG-bench 都是精心设计且相当具有挑战性的基准,但它们代表的大多数任务可能已经存在于相应 LLM 的训练或指令调整数据集中。因此,请对这些数字持保留态度。擅长这些基准测试是必要的,但对于一个好的模型来说还不够。目前,除了共享任务之外,我还看到了三种寻求真相的方法:分配外任务、人工评估排行榜和红队。

由于大多数LLMs接受过网络数据培训,因此他们见过许多从中导出评估数据集的流行网站。例如,在 IMDb 电影评论等数据集上评估 LLM 文本分类能力没有任何意义,因为他们中的大多数人在预训练或指令调整阶段已经看到了这一切,包括保留的测试子集。相反,有帮助的是选择一个模型以前没有见过的分布外任务。如果不可能,请尝试使用互联网上未公开提供的示例。

有不同的排行榜,但我发现最有用的是人工评分的 LLM 输出:Hugging Face 的 Open LLM 排行榜和 LMSYS 的 Chatbot Arena 排行榜。前者仅使用私人众包评估开放的LLMs,并根据一组秘密提示进行已知指导。后者确实包括专有模型,但它使用公共众包评估所有LLMs。任何人都可以加入注释输出对,我相信这可能是一个问题,就像 OpenAssistant 数据一样。编写和遵循注释者的指示是非常困难的,人们必须确保自愿的交互与用于训练最先进的法学硕士的交互类似(例如,请参阅 OpenAI 的指示)。此外,在公共众包设置中,正确采样和选择注释提示也更加困难。我高度赞赏所有这些开源举措,如果没有它们,我们就不会取得太大进展,但我目前认为 Hugging Face 的方法更为合理。

由于某种原因,AI 社区使用 Elo 评级对模型进行排名,其中排名取决于比较时间。同样的系统也用在国际象棋中,并且在国际象棋中有意义,但在这里不行。我会使用 Bradley-Terry 模型进行排名,但这个主题需要更多调查。

评估复杂人工智能系统的另一种方法是红队。 你要求一群人让所选模型产生一些不正确、有害或不诚实的东西。 通过对多个不同的模型运行此模型,可以在对抗性场景中对它们进行比较。 最好在伤害最终用户之前发现不受欢迎的东西,不是吗?

看来即使在OpenAI,评估问题仍然没有解决。尽管拥有性能最佳的模型,他们还是推出了开源 Evals 框架,并为那些在那里提交拉取请求的人提供了早期访问 GPT-4 的权限。特别好的一点是,这些数据集是在 MIT 的良好许可下发布的,这使得它们不仅对它们自己有用。

 

AI冬季期间悲伤的铜变压器

我们知道所有模型都是错误的,但有些模型是有用的。 随着时间的推移,人工智能的所有基准也会变得错误。 然而,我相信对LLMs 这样的复杂系统或它们之后发生的事情的评估比模型开发本身更有趣,特别是因为这并不是所有事情都想做的。

希望冬天不会让我们感到意外。

原文引自:DMITRY

后台-插件-广告管理-内容页尾部广告(手机)
标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。