前段时间,由27岁的华裔创始人Alexandr Wang领导的Scale AI刚刚因为融资圈了一波关注。
今天,他又在推特上官宣推出全新LLM排行榜——SEAL,对前沿模型开展专业评估。
SEAL排行榜主打三个特色:
– 私有数据
Scale AI的专有私有评估数据集无法被操控,确保了结果的公正性和无污染。
– 不断发展
定期使用新的数据集和模型更新排行榜,营造一个动态的竞赛环境。
– 专家评估
评估由经过严格审查的专家进行,确保最高的质量和可信度。
榜单地址:https://scale.com/leaderboard
这篇推特获得了Jim Fan大佬的转发,他认为SEAL是LMSys的非常好的补充和参照,提供公开模型的私密、安全、可信的第三方评估。
对此,Andrej Karpathy也深以为然。
代码
在代码任务中,GPT-4 Turbo Preview位列第一,然后是GPT-4o、Gemini 1.5 Pro(Post-I/O)。
而专门训练的代码模型CodeLlama 34B Instruct排在了第11位。
Scale AI编码提示集包含1,000个提示,涵盖各种编程语言、学科和编程任务,从调试到代码优化,从文档生成到理解复杂代码库,等等。
诸如HumanEva、Pass@k、MBPP、SWE-Bench、LiveCodeBench等评估基准在首次出现时很有用,但随着模型开始过拟合,它们已经变得不那么有价值了。
此外,这些模型与这些基准进行评估的方法往往不标准化,缺乏跨测试或随时间比较分数的核心要求。
Scale编码评估提供了一个标准化的LLM评估框架,能够跨模型进行比较并识别其优缺点。目前,它涵盖了最常请求的编程语言的用例集。
代码生成:根据给定的自然语言规范或描述创建新代码。
代码修复:识别并纠正现有代码中的错误。例如,调试、解决语法错误和修复逻辑错误。
代码理解:解释、阐明或澄清现有代码。例如,阐明某些代码段的工作原理,分解复杂算法。
代码修改:对现有代码进行更改或调整以满足新要求或条件。例如,更改功能,更新或增强特性。
代码优化:提高现有代码的性能。例如,提高效率,减少资源消耗(如内存或处理时间)。
学习辅助:帮助学习或理解编程概念、语言或工具。例如,提供最佳实践指导,解释编程概念。
代码翻译:将代码从一种编程语言转换为另一种语言,并根据目标语言的最佳实践调整代码结构、风格和习惯用法。
建议提供:提供关于编码实践、工具、库或框架的建议或意见。
注释改进:在现有代码中添加或改进注释。
测试开发:开发、增强或修复现有代码的测试。
用例分布
编码语言分布
为了确保评估过程的彻底性和可靠性,每个任务由不同的人工注释员并行执行了三次。
评分经过两个阶段的审查:初步审查层和最终审查层。
这种评估方法不仅生成总体排名,还有助于突出模型在不同领域的优势和劣势,并回答以下问题:
– 模型在SQL、Java、HTML/CSS和C++提示上的表现如何?
– 模型在复杂场景中的竞争力如何?
评估方法
测试栗子
结果分析
模型通常在「注释」和「理解」任务中表现良好,但在「翻译」和「生成」任务中常遇到困难。
此外,「正确性/功能性」和「可读性/文档」也是所有模型的两个主要错误来源。
– GPT
两个GPT-4模型在各种用例中表现最为一致。其中,较新的gpt-4o-2024-05-13相比gpt-4-0125-preview更容易出现可读性问题,有时会不必要地重复提示中的代码,导致响应更加冗长。
– Gemini
所有三个Gemini模型在建议任务中表现出色,分别排名第1、第2和第3,但在测试任务中表现较差。新的gemini-1.5-pro-preview-0514相比之前的gemini-1.5-pro-preview-0409有显著提升,特别是在「正确性/功能性」和「可读性/文档」方面。
– Claude
claude-3-opus-20240229通常比claude-3-sonnet-20240229表现更好,特别是在「正确性/功能性」类别中错误更少,除了某些翻译任务。
数学
在数学分类榜中,Claude 3 Opus竟打败了GPT-4 Turbo Preview霸占榜首,然后第三名是GPT-4o.
另外,Claude 3的「中杯」模型Sonnet,都超过了Gemini系列的模型。
不得不说,在数学这块,还是Claude3是王者。
数学和推理仍然是当前大语言模型(LLM)面临的主要未解决问题之一。然而,现有的公共基准如GSM8k却存在着致命的数据污染问题。
为全面评估模型的各方面能力,Scale AI设计了一个全新的数学和推理数据集——GSM1k。
GSM1k基于GSM8k基准的分布和难度,并引入全新的一组问题。其中,包含了一系列相当于五年级数学考试水平的数学问题。
它的构建花了不到3周的时间,标注团队的成员包括小学数学教育者和具有教育、数据分析、计算机科学、物理和经济学背景的专家。
值得注意的是,GSM1k的数据收集过程并没有用到LLM的帮助。
此外,为了防止模型在GSM1k上过拟合,团队决定仅公开1,000个问题中的50个样本。
测试栗子
指令跟随
针对模型指令跟随测试,GPT-4o、GPT-4 Turbo Preview、Llama 3 70B Instruct分别跃居前三。
同时,Mistral Large的实力也不输其他的模型。
这说明在能否准确遵循人类提示方面,GPT-4系列模型还是更厉害些。
Scale AI精确指令跟随提示数据集包含1,054个指令跟随提示,目的是评估AI模型解释和执行详细命令的能力,重点在于精确性和具体性,并解决过拟合问题。
数据集中的提示共分为9类,包括「扮演……的角色」、内容创作和头脑风暴,并涵盖指令跟随任务的实际应用和用例。
它由一个40多名人工标注员组成的多样化团队生成,并通过五个步骤的开发,确保提示能够测试模型理解和执行具体指令的能力。
最终,实现对模型对这些提示集的响应进行人工评估。
测试栗子
西班牙语
在西班牙语测试上,GPT-4o霸榜第一,而Gemini 1.5 Pro(Post-I/O)超过了GPT-4 Turbo Preview。
随后,Gemini另外两个模型也进入榜单前五。
在Scale AI多语言提示数据集中,每个语种都包含1,000个提示,目的是提升模型在多种语言中的交互能力。
数据集特别针对西班牙用户,包括来自西班牙、墨西哥和拉丁美洲其他地区的用户。
虽然排行榜目前只包含西班牙语,但在未来的更新中,会扩展到更多语言。
方法
如何计算Elo评分排名
在评估过程中,人工评审会比较两个模型对同一提示的回答,并在多个方面评估哪个更好。根据这些评分,便可以确定哪个模型赢了、哪个输了,或者打平。
此外,团队还采用了与Chatbot Arena相同的方法,使用Bradley-Terry模型对我们的数据点进行重新权重的最大似然估计。
首先是一些定义:
对于𝑀个模型,用𝐴={(𝑚,𝑚′):𝑚<𝑚′, and 𝑚,𝑚′∈[𝑀]}表示比较数据集。
在𝑡∈𝑁时,向人工评审提供一对模型𝐴𝑡∈𝐴,并记录评审的回应𝐻𝑡∈[0,0.5,1]。
其中,1表示模型𝑚优于模型𝑚′,而0.5则表示两个模型同样受欢迎。
通过Bradley-Terry,利用逻辑关系来模拟这种情况发生的概率:
其中,𝜉是一个M长的BT系数向量。然后,通过最小化二元交叉熵损失来估计BT系数:
其中,𝑙是二进制交叉熵损失:
𝑙(ℎ,𝑝)=−(ℎlog(𝑝)+(1−ℎ)log(1−𝑝))
此外,还需使用反向加权𝑃(𝐴𝑡)来最小化这一损失,目标是使分数在𝐴上呈现均匀分布。尽管这种反向加权并不是绝对必要的,因为模型之间的成对比较已经非常接近相等。
接着,使用下面的公式来计算最终的BT分数:
其中𝐴𝑡~𝑃。利用简单转换1000+𝑠(𝑃^)×400将该分数转换为Elo评分,然后进行排序,得出最终排名。
置信区间
为了更好地理解Elo评分的Bradley-Terry评级的可靠性,团队使用自举法(Bootstrapping)来估计置信区间。自举法是一种重采样技术,通过从数据中反复抽样来评估估计值的变异性。
1. 生成自举样本:从数据集中反复抽样,生成多个自举样本。每个样本的大小与原始数据集相同,但由于重采样的特性,样本中会包含一些重复的观测值。
2. 计算每个样本的Elo评分:对于每个自举样本,使用前面提到的最大似然估计方法来计算Elo评分。
3. 汇总结果:在计算了大量自举样本的Elo评分(例如1000轮)后,汇总这些结果,估计每个模型的Elo评分分布。
4. 估计置信区间:根据汇总的自举结果,确定每个模型的Elo评分的置信区间。
LLM评估的重要性
Karpathy在转发Wang的推特时,打了很长一段文字,描述LLM评估的困难与重要性。
LLM评估正在改进,但不久前他们的状态非常黯淡,定性经验常常与定量排名不一致。
这是因为良好的评估非常难以构建。
在特斯拉,我可能将1/3的时间花在数据上,1/3的时间花在评估上,1/3 的时间花在其他事情上。评估必须全面、有代表性、高质量,并测量梯度信号(即梯度下降不能太容易,也不能太难)。而且将定性和定量评估对齐之前,需要解决很多细节,其中有一些微妙的地方。
另一个不容易发现的地方是,任何开放(非私有)测试数据集都不可避免地泄漏到训练集中。人们直觉上的强烈怀疑这一点,这也是最近GSM1k流行的原因。
即使LLM开发人员尽最大努力,防止测试集渗透到训练集(以及模型记住答案)也很困难。当然,你可以尽力过滤掉训练集中与测试集完全匹配的内容,还可以过滤掉n-gram识别的近似匹配。但是,如何过滤掉合成数据重写或网上对数据的讨论内容?如果定期训练多模态模型,如何过滤数据的图像/屏幕截图?如何防止开发人员将训练数据(比如embedding)放到测试集中,并专门使用与测试集高度对齐(在向量空间)的数据进行训练?
最后一点是,并非所有我们关心的LLM任务都是可自动评估的(例如思考总结等),此时你希望让人类参与进来。但如何控制所有涉及的变量?例如人类评估者在多大程度上关注实际答案内容,或者长度、文字风格,或者如何看待模型拒绝回答的行为等等。
不管怎样,反直觉的一点是,良好的评估是困难的,且需要高度密集的工作,但非常重要,所以我很高兴看到更多的组织加入,努力做好这件事。
Karpathy指路了一个GitHub博客,探讨了为什么在Eleuther AI创建的公开LLM排行榜上,Llama模型得到的MMLU测评分数低于论文提供的数字。
项目地址:https://github.com/huggingface/blog/blob/main/open-llm-leaderboard-mmlu.md
此外,他谈到的测试数据泄露问题,Open AI研究员Jason Wei在最新的一篇博客中也提到过。
文章地址:https://www.jasonwei.net/blog/evals
而且最近的一篇论文中有比较充分的证据。
论文地址:https://arxiv.org/html/2405.00332
他们发现,许多公开的模型在GSM-8K数据集上有明显的过拟合表现,而且在同类的GSK-1K上测试时,多数模型都会有很大程度的性能下降。
论文地址:https://arxiv.org/html/2405.00332