评价基准在人工智能研讨中的重要性
人工智能研讨中,评价基准(evaluation benchmarks,简称”evals”)是一个常用但却常被忽视的东西。
Evals实际上是AI研讨社区的鼓励因素,许多打破性进展往往与某个eval上的巨大功能提高密切相关。
事实上,我以为团队负责人的一项要害作业便是决议优化哪个eval。
那么,什么样的eval算是成功的呢: 我以为,假如一个eval被打破性论文所选用,并在社区内取得信赖,那它显然便是成功的。
曩昔五年中一些成功的evals包含:
- GLUE/SuperGLUE:大言语模型(LLM)出现前,简直一切NLP论文都运用它(如BERT、T5等)。
- MMLU:简直一切LLM论文都运用。它是DeepMind和Google的最爱。
- GSM8K:激发了用于推理的LLM,每篇关于思维链(chain-of-thought)的论文都用它。
- MATH:大多数LLM论文也运用它。
- HumanEval:它是评价编程能力LLM的经典eval。
当然这不是一个全面的列表,还有其他不错的evals如HellaSwag、SQuAD等。
我自己也做了两个比较盛行的eval。MGSM被OpenAI的SimpleEvals、Claude和Gemini选用。BBH被Claude、Gemini和Llama运用。我觉得它们还不错,但还达不到最佳水平。
成功evals的一个共同点是,有重要论文运用该eval声称取得了某种成功。GLUE是BERT推行的。MMLU是Gopher、Chinchilla和Flan-PaLM推行的。思维链提示声称在GSM8K上取得打破。Minerva在MATH上展示了强壮实力。Codex等测验了HumanEval。
再深入一点,在eval上取得好成绩有必要意味着某些重大而易于了解的东西。例如,实现超人体现是十分简单了解的。处理小学水平的数学问题也是人们很简单了解其含义的。
搞砸一个eval比做一个好的eval要简单得多。大多数不成功的evals至少犯了一个过错。
1、假如一个eval的样本数不够多,它会很喧闹,给研讨人员带来糟糕的运用体会。比方有人或许在模型训练过程中运转eval,发现从一个checkpoint到另一个checkpoint动摇很大。这会让研讨人员很痛苦,他们不会喜爱运用它。最好给你的eval准备至少1000个样本;假如是多选题的话,或许需求更多。虽然GPQA是一个不错的eval,但事实上它会依据提示动摇,这使得它很难运用。
2、Evals应该是高质量的。假如你的eval中有许多过错,人们就不会信赖它。例如,我曾长期运用Natural Questions(NQ)。但GPT-4达到了一个阈值,假如GPT-4在一个测验样本上答错了,更或许是eval供给的ground truth答案错了。所以我不再运用NQ了。
3、假如你的eval太复杂,人们就很难了解它,它的运用率也会降低。我以为HELM的第一个版本是一次很棒的测验,但它的目标和子集实在太多了。拥有一个单一数值的目标至关重要——我想不出任何一个好的eval没有单一数值目标。
4、假如你的eval运转起来需求太多作业,即使其他方面都很好,它也不会取得重视。BIG-Bench是我最喜爱的evals之一,但运转起来十分痛苦。它既有对数概率型evals,也有生成型evals,需求不同的基础设施。它有太多子集,其中一些有太多样本,所以运转起来需求很长时刻。我信任这便是为什么虽然BIG-Bench供给了许多信号,但没有取得太多重视。
5、假如一个eval不是在一个有含义的使命上,AI研讨人员不会深切关怀它。例如,在BIG-Bench Hard中,咱们有推荐电影或正确封闭括号这样的使命。这些使命很有挑战性,而且跟着模型规模的增长而变化杰出,但在这些使命上体现出色并不能让人对模型的智能做出实质性的定论。成功的evals通常衡量智能的核心内容,如言语了解、考试题或数学。
6、你的eval中的评分应该十分正确。假如有人在调试他们的模型为什么被过错地评分,而他们不同意这个评分,那便是一个快速让他们抛弃你的eval的办法。花时刻最小化解析过错或拥有最佳的主动评分提示是值得的。
7、为了经得起时刻检测,eval的功能不能太快饱满。例如,GLUE/SuperGLUE太快饱满了,很难再显示出大的进步,人们就不再运用它们了。言语模型在总结、翻译等使命上的进步速度也快于咱们为这些使命开发好的evals,所以咱们不再衡量这些使命了。
风趣的是,好像大多数好的evals都有很糟糕的姓名。GSM8K不需求”8K”,HumanEval实际上并不运用人类进行评价(之所以叫HumanEval是因为这些问题是由人类创立的)。MATH太过通用,所以人们开始称之为”Hendrycks-math”,我想这是让人们以你的姓名命名一个eval的聪明办法。
假如你想让你的eval取得成功,你应该帮助人们运用它。例如,当我做一个eval时,我通常会主动为其他人在他们的模型上运转它。假如他们的模型体现杰出,他们就会喜爱这个eval并推行它。HELM在测验为其他人的模型进行评价并发布结果方面做得很好。
创造鼓励办法让人们运用你的eval也有帮助。对人们来说最好的鼓励之一是他们的司理看重什么。所以让你实验室或公司内的司理们认可你的eval,让他们要求下属运转它,或许会有报答。当我在Google创立MGSM时,我与不同团队的Dipanjan Das协作。我和他协作是因为他是个风趣的人(不是为了推行eval),但我想他喜爱它,它在他的团队中取得了一些人气。
LLM让评价变得更加困难。LLM是大规模的多使命模型,会给出很长的回答。目前还没有一个单一的eval能够充分评价LLM。当时盛行的evals仍然运用十分简单的评分方法(要么是多项选择题,要么是查看一个数字,要么是运转单元测验)。即便如此,它们也存在问题,比方决议提示或解析答案。假如咱们能围绕单一提示达成一致就好了,比方零样本思维链。我知道出于许多原因这不是一个完美的处理方案,但我以为为了让咱们达成一致,付出这个代价是合理的。
一个新的方向是对模型进行人工成对评分,如LMSYS。这类evals的通用性是把双刃剑。它们很强壮,因为你能够在一组通用提示上取得衡量言语模型优劣的单一数值目标,而且样本级别的噪声能够经过许多样本平均化。成对evals的风险之处在于,你不确定你在衡量什么——例如,感触和风格相比正确性的权重并不完全清楚。
运用模型生成的evals也变得有点盛行。虽然我倾向于以为模型生成的evals很难搞,但假如做得好,它们能够用于快速实验和调查功能的大幅提高。但创立一个经得起时刻检测的优秀eval需求花许多心思,我不想冒任何风险运用合成的evals。
一个清楚明了的说法是,eval的主题决议了有多少人会关怀这个eval。有或许创立一个十分高质量的特定领域eval(如法令、医学等),在这些情况下,最重要的是依据该领域专家的价值观来定制eval。但是,对自己的期望值设定很重要,要对eval会有多盛行有个概念。我从前做过一个安排病理学图画的基准测验,不出所料,它在医学图画分析领域之外没有取得任何重视,只取得了40次引用。话虽如此,也有或许跟着越来越多的人意识到你创立的特定领域eval的重要性,它会取得更多重视。例如,OpenAI在编写代码的LLM上投入巨大,我信任在Codex和Github CoPilot等取得成功后,更多人对编程LLM产生了爱好。
Evals面对的一个日益重要的问题是测验集污染。在创立了一个好的eval之后,eval的样本往往会传播到互联网上的各个地方,如arxiv论文、ChatGPT样本或reddit。一种处理方案是保密测验集,但这种办法会带来许多阻力。Chris Manning提出了一个好主张,一个eval应该一起拥有揭露测验集和私有测验集,并监测模型在这两个测验集上是否有显着误差。这种办法在揭露测验集上测验的低冲突和私有测验集的高可信度之间取得了平衡。
我注意到的最后一点是,你关怀的eval反映了许多你的身份。一屋子博士或许会对言语模型在数学、编程和物理方面推理的能力感爱好。相反,我看到像LMSYS这样面向用户的evals被那些有软件或产品背景的工程师视为黄金标准。虽然我两者都关怀,但我个人更倾向于智能,因为我信任智能是AI与人类互动方法的根本驱动力。
虽然做evals或许很痛苦,通常也没有模型作业得到那么多奖励,但作为一个社区,咱们应该多投资一点evals。归根结底,好的evals(在适当的认可下)是AI研讨人员的目标函数,它们是影响该领域的有力方法。