Jason Wei 是思惟链提出者,并和 Yi Tay、Jeff Dean 等人合著了关于大模型涌现能力的论文。目前他正在 OpenAI 进行工作。
在 CV 规模,研究者一直把李飞飞等人创造的 ImageNet 奉为模型在下游视觉任务中能力的试金石。
在大模型时代,我们该如何评价 LLM 性能?现阶段,研究者已经提出了诸如 MMLU、GSM8K 等一些评价基准,不断有 LLM 在其上刷新得分。
但这些评价基准真的完美吗?思惟链提出者 Jason Wei 在一篇博客中进行了深入的研究。
Jason Wei 首先列举了几种失败的评价基准,然后总结了评价基准失败的常见原因,共七条,包括样本数量少、评价基准太复杂等等。
进一步的,Jason Wei 认为有些评价东西命名方式并不完美,比如 HumanEval 虽然叫做人类评价,实际上并没有用到人类进行评价,只是因为课题是由人类创造的。
Jason Wei 表示如果想让自己创造的评价东西获得广泛运用,一定要帮助研究者运用它,从而获得推行。此外,文中还提到了一些针对特定规模的小众评价东西,Jason Wei 认为这些评价能够不会引起规模之外的任何关注。大家关心的尝试集污染课题,Jason Wei 也给出了一些解决方案。
接下来,我们看看 Jason Wei 原博客内容:
失败评价的定义是什么?我想说,如果一个评价基准被用在突破性论文中,并在社区中获得信任,那么它显然就是失败的。
以下是过去五年中一些失败的评价基准:
GLUE/SuperGLUE:LLM 之前基本上所有 NLP 论文(BERT、T5 等)都运用。
MMLU:几乎所有 LLM 论文都运用,也是 DeepMind 和 Google 最喜欢的评价基准。
GSM8K:激发了 LLM 的推理能力,并被用于每一篇关于思惟链(chain-of-thought)的论文中。
MATH:大多数 LLM 论文会运用。
HumanEval:是 LLM 编码的经典评价基准。
失败的评价往往会有一篇大论文声称运用该评价基准取得了一些突破。例如,GLUE 由 BERT 推行,MMLU 由 Gopher、Chinchilla 和 Flan-PaLM 推行。思惟链提示(chain-of-thought prompting)声称在 GSM8K 上取得了突破。Minerva 的超凡能力在 MATH 上获得体现。Codex 等模型运用了 HumanEval。
更深入地说,在评价基准上获得好分数必须意味着一些重要且易于理解的事情,例如实现超越人类的表现、解决小学水平的数学课题。
而大多数不失败的评价基准都至少犯了如下七个错误之一:
1、如果评价没有足够的样本,那么对于研究人员来说,它会很嘈杂(noisy),而且 UI 会很糟糕。例如,有人能够在模型训练过程中运行评价,并发现它在各个检查点之间波动很大。这使得评价对于研究人员来说非常痛苦,因此他们不会喜欢运用该评价基准。评价基准最好有至少 1000 个样本供您评价;如果是多项选择评价,能够需要更多。例如尽管 GPQA 是一个很好的评价基准,但它根据 prompt 而波动的事实使其难以运用。
2、评价基准应该是高质量的。如果评价基准中有很多错误,人们就不会相信它,例如 Natural Questions(NQ)基准。
3、如果你的评价基准太复杂,人们会很难理解它,并且会很少运用它。我认为 HELM 的第一个版本是一项巨大的努力,但它有太多的目标和子集。拥有繁多数字目标至关重要 —— 我想不出任何伟大的评价基准是没有繁多数字目标的。
4、如果评价需要太多工作来运行,即使其他一切都很好,它也不会有很大的吸引力。BIG-Bench 是我最喜欢的评价基准之一,但运行起来非常痛苦。有对数概率评价和生成评价,这需要不同的基础设施。子集太多,而且有些子集的样本太多,所以评价花了很长时间。我相信这就是为什么 BIG-Bench 没有获得太多关注,尽管它提供了很多优势。
5、如果评价不是针对一项有意义的任务,人工智能研究人员不会深度关注它。例如,在 BIG-Bench Hard 中,有推荐电影等任务。这些任务具有挑战性,并且随着模型大小的变化性能有所变化,但在这些任务上做得好并不能对模型的智能程度做出实质性的结论。失败的评价通常会衡量对智能至关重要的事物,例如语言理解、考试课题或数学。
6、评价的评分应该非常正确。如果有人认为模型评分不正确或者不认同该评分,那么他们可以立即取消运用该评价基准。花时间来尽量减少解析引起的错误,或者尽能够获得最好的自动评分器 prompt 是值得的。
7、为了使评价经得起时间的考验,性能不能太快饱和。例如,GLUE/SuperGLUE 饱和得太快,很难显示出巨大的增益,人们就不再运用它们。
对于评价东西,还有不完善的地方
看起来很多优秀的评价东西都有些糟糕的名字。比如 GSM8K 其实并不需要加上 8K,而 HumanEval 虽然叫做人类评价,实际上并没有用到人类进行评价(之所以叫 HumanEval 是因为课题是由人类创造的)。MATH 这个名字太普通了,所以人们开始称之为「Hendrycks-math」,这应该算是一个聪明的命名方式,以创造者的名字来命名。
如果你想让你的评价东西获得广泛运用,你首先要做的是帮助人们运用它。例如,当我制定了一个评价东西时,我通常会帮助他人在模型上运行它。如果他们的模型在这个评价上表现良好,那么人们通常会喜欢它并进一步的推行它。HELM 就非常擅长为其他人评价模型并公布结果。
此外,如果你能为人们运用你的评价东西创造激励机制也很有帮助。对员工来说,最好的激励之一就是他们领导所重视的东西。因此,获得实验室或公司内部领导的支持对你的评价东西能够会有所帮助,他们会要求底下员工运行它。当我在谷歌创造 MGSM 时,我选择与 Dipanjan Das(Google Deepmind 的研究主管)合作完成,尽管我们不在同一个团队。我与他合作纯粹是因为他是个有趣的人(并不是为了推行这个评价东西),但我认为 Dipanjan 很喜欢这个东西,并且在他的团队中获得了一些人的支持运用。
然而,LLMs 的出现,对评价东西提出了更高的要求。LLMs 具有大规模多任务处理能力并能生成长回答。目前还没有一个繁多的评价东西能够充分评价 LLMs。当前流行的评价东西仍然运用非常简单的评分方式(要么是多项选择,要么是检查数字,或者执行单元尝试),即便这些方法也存在课题。如果我们能围绕一个繁多的提示,比如零样本思惟链(zero-shot chain-of-thought),那会很好。我知道由于很多原因这不是一个完美的解决方案,但我认为为了让大家统一标准,这是合理的。
一个新的推动力是人类对模型进行配对评价,比如 LMSYS,但这种评价方式是一把双刃剑。它们之所以强大, 是因为你可以通过一组简单的提示获得一个繁多的数字目标来衡量一个语言模型的好坏,并且可以通过大量的样本来平均掉样本级别的噪声。不过,成对评价的危险之处在于你并不完全确定你在测量什么 —— 例如,相对于正确性,风格等这类因素的权重影响有多大。
对模型生成内容(model-generated)的评价也变得有些流行。虽然我倾向于对模型生成的评价比较挑剔,但如果做得好,它们可以用于快速实验和观察性能的大幅提升,这是有能够的。但是创造一个经得起时间考验的伟大的评价需要非常小心,我不想在合成评价中冒任何风险。
一个显而易见的观点是,评价的主题决定了有多少人会关心这个评价。你可以创造一个非常高质量的特定规模评价(例如,法律、医疗等),在这些情况下,最重要的是根据该规模专家所重视的内容来定制评价。
我曾经制作过一个组织病理学图像基准,不出所料,它在医学图像分析规模之外几乎没有引起任何关注,只获得了 40 次引用。话虽如此,一旦更多人意识到其重要性,你创造的特定规模评价也有能够获得更多关注。
评价中一个日益重要的课题是尝试集污染。创造了一个好的评价之后,评价的示例往往会传播到互联网的各个地方,如 arxiv 论文、ChatGPT 示例或 reddit。解决这个课题的一个方法是对尝试集进行「隐藏」,但这种方法引起了很多分歧。斯坦福大学教授 Chris Manning 提出了一个很好的建议,即对公开尝试集、私有尝试集都进行评价,并监控模型在这两个尝试集上是否有大的偏差。这种方法平衡了在公开尝试集上尝试的低摩擦性和私密尝试集的高可信度。
我注意到的最后一件事是,你关心的评价很大程度上表明了你的身份。一个充满博士的研究室能够会对语言模型在数学、编码和物理上的推理能力感兴趣。相反,我看到像 LMSYS 这样的面向用户的评价被来自软件或产品背景的工程师视为黄金标准。虽然我两者都关心,但我个人更倾向于智能,因为我相信智能是 AI 与人类交互的根本驱动力。
社区应该更多地投资于评价,尽管这能够很痛苦,通常不会像建模工作那样获得很多回报。但归根结底,好的评价东西是 AI 研究人员对模型的客观评价目标,并且是对该规模产生重大影响的一种方式。
参考链接:https://x.com/_jasonwei/status/1794093872651387004