编辑:编辑部 HYZ
【新智元导读】OpenAI即将要兑现L3级智能体承诺了!MLE-bench新基准汇聚75个Kaggle竞赛,o1首测便拿下7金,多次尝试性能还能飙升17%,堪称首个AI Kaggle特级大师。首个AI Kaggle特级大师诞生了!
刚刚,OpenAI发布了智能体基准MLE-bench,专为评估AI智能体在机器学习工程任务中的表现而打造。
为此,团队从Kaggle上精选了75个真实世界数据科学比赛,并创建出一系列多样化、具有挑战性任务。
比如,训练模型、数据集准备、运行实验等环节,均有涉及。
要知道,OpenAI内部一直都在致力于做出超级AI智能体,o1推理模型发布已经让他们实现了二级AGI。
在最新MLE-bench论文中,作者还揭示了实现AGI的关键所在——
AI智能体能够解决MLE-bench所有问题,可能会带来奇点。
论文地址:https://arxiv.org/abs/2410.07095
实验结果表明,最强o1-preview联手AIDE,在16.9%的比赛中达到了Kaggle铜牌级别的水平。
这说明,在某些任务中,AI已经能够与专业人类数据科学家相媲美。
不过,研究也揭示了AI与人类专业知识之间的显著差距。也就是,AI在应用标准技术方面表现良好,但在需要适应性、创造性问题上,遇到了困难。
多位网友暗示道,基准都准备好了,明年我们就会看到L3智能体级别的AI。
AI智能体挑战Kaggle
不断涌现的智能体,正日益自动化开发者工程流,加速工作效率。
然而,当前很少有基准测试,能够全面衡量自主端到端ML工程。
OpenAI发布MLE-bench希望去填补这一空缺。这是一个离线Kaggle竞赛环境,如前所述,专用于评估AI智能体在执行困难的机器学习工程(MLE)任务方面的表现。
它的设计主要有两种考量:
1. 具有挑战性,且能代表当代MLE任务
2. 能够将评估结果与人类水平相比较
75个跨域真实世界的多样化Kaggle竞赛,涵盖了自然语言处理、计算机视觉,以及信号处理的问题。
其中,许多竞赛都是具有现实意义的挑战,比如OpenVaccine(COVID-19 mRNA疫苗降解预测)、用于破译古卷轴Vesuvius Challenge。
这75个竞赛总奖金池为1,948,016美元(约1379万),平均每个竞赛25,974美元。
OpenAI称,「能够自主解决MLE-bench基准挑战中的AI智能体,可能会大大加速科学进步」。
这个前景足以令人兴奋,但同时也需要谨慎对待模型,确保可控安全的部署。
比如,MLE-bench可用作OpenAI准备框架(Preparedness Framework)中模型自主性衡量标准、Anthropic负责任扩展政策(Responsible Scaling Policy)中自主能力,以及谷歌DeepMind前沿安全框架中ML研发。
研究发现,领先LLM配合开源框架使用时,能在MLE-bench上取得显著的成绩。
而评估结果中,把的头筹最佳智能体是——o1-preview。它在与专为Kaggle竞赛构建的框架AIDE结合时,平均在16.9%的竞赛中获得奖牌。
另外,研究还发现,当智能体在每个竞赛中多次尝试后,性能显著提高。
比如,o1-preview得分从单次尝试pass@1的16.9%,直接飙升到pass@8的34.1%。
总的来说,当前所有AI智能体在众所周知方法解决竞赛中成绩出众,但在需要调试、从失误中恢复的任务上,仍面临挑战。
OpenAI这项研究主要贡献包括:
MLE-bench:由75个离线Kaggle竞赛组成的基准测试,用于评估AI智能体的MLE能力对最先进模型和智能体框架进行大规模评估,揭示了有关自主MLE智能体前景和局限性的新信息对智能体资源扩展进行实验,包括扩展智能体运行时间、硬件资源和pass@k尝试次数,探索当前智能体的性能上限调查数据集污染与智能体性能之间关系的实验,以及用于检测抄袭和作弊的智能体监控工具MLE-BENCH
MLE-bench由75个ML工程任务组成,这些任务是从Kaggle手动筛选的,反映了前沿实验室中ML工程师日常使用的核心技能集。
作为托管数据科学和ML竞赛的平台,Kaggle要求参与者构建预测模型来解决挑战,而且通常是使用真实世界的数据集。
在每个特定的指标上,参与者都可以获得最佳分数,取得排行榜上的排名,并获得铜牌、银牌和金牌。
数据集MLE-bench中的每个样本都是一个Kaggle竞赛,包括:
从竞赛网站的「概述」和「数据」标签页抓取的描述竞赛数据集,在大多数情况下使用新的训练-测试分割用于本地评估提交的评分代码竞赛排行榜的快照,用于将提交与人类进行排名为了得到构成MLE-bench的竞赛集,OpenAI从Meta Kaggle数据集中列出的5673个已完成的Kaggle竞赛开始。
首先他们排除了社区竞赛,因为它的质量并没有被严格审核。
随后,他们手动筛选了剩下的586个竞赛,保证它们一定与现代ML工程相关。
然后,OpenAI排除了无法复制评分程序或无法重新创建合理的训练-测试分割的竞赛,手动注释了每个竞赛的问题类型(例如文本分类、图像分割等),还用复杂度级别注释了每个竞赛。
经过上述过程,OpenAI选择了75个竞赛纳入MLE-bench,包括22个低复杂度竞赛(30%)、38个中等复杂度(50%)和15个高复杂度(20%)。
他们还将额外的7个竞赛作为开发分割,用于开发智能体,不将测试集过拟合。
对于每个竞赛,如果原始数据集公开可用,OpenAI就使用原始数据集,尽管Kaggle竞赛一般在竞赛结束后也不会发布测试集。
在这种情况下,他们会根据公开可用的训练数据,手动创建新的训练和测试分割。
通过检查示例提交在两个集合上的得分是否相似,OpenAI确保了原始和重构测试集的分布相似。这样,就保持了竞赛的训练/测试分割比例。
做完以上措施后,OpenAI预期:MLE-bench竞赛测试集上的分数与人类在竞赛排行榜上的分数具有可比性,尤其是在平均水平上。
指标排行榜
OpenAI使用每个Kaggle竞赛的排行榜来为MLE-bench的表现提供参照。因为Kaggle提交有时会过度拟合到公开排行榜,所以他们用的是私有排行榜。
奖牌
Kaggle会根据参赛者相对于排行榜的表现,向优胜的参赛者颁发铜牌、银牌和金牌。
同样,MLE-bench也会把AI智能体提交的结果与私有排行榜进行比较,来跟AI智能体颁奖。
铜牌、银牌和金牌的阈值根据竞赛参与者的数量而变化,确保不同竞赛中的特定奖牌始终对应同等的成就。
注意,并非Kaggle上的所有竞赛都颁奖,但在MLE-bench中的奖牌阈值逻辑,会应用于所有竞赛。
主要指标
为了为MLE-bench提供一个单一的指标,OpenAI会计算获得任何奖牌(铜牌及以上)的尝试百分比。
这个指标极具挑战性,如果达到上限,就已经能和最优秀的人类Kagglers多年努力的成就相媲美。迄今为止,只有两人在75个不同的Kaggle竞赛中获得过奖牌。
原始分数
OpenAI会报告模型在每个竞赛中获得的原始分数。这对于跟踪特定竞赛的进展很有用,尽管由于每个竞赛使用不同的指标,很难在竞赛之间汇总分数。
设置
MLE-bench的设计不受限于解决方法,只需要向每个竞赛提交一个CSV文件进行评分。
不过,OpenAI还是鼓励开发者在评估AI智能体表现时,提交更多细节。
比如使用的模型和框架、AI智能体是否有互联网访问权限、可用硬件、运行时间、AI智能体提示词中是否包含任何部分或完整的Kaggle竞赛解决方案,以及是否与实验设置有任何重大偏差。
- 验证提交
真实的Kaggle竞赛通常允许参与者每天向公开排行榜提交最多5次,以检查其提交的有效性并提供分数。
类似地,OpenAIOpenAI也允许AI 智能体访问本地验证服务器,以检查其提交的有效性,尽管后者不会提供分数。对AI 智能体使用此工具的频率则没有限制。
规则
提交必须由独立于AI智能体的模型生成,并且禁止AI智能体使用自身的世界知识,直接将预测写入其提交文件。
这就可以防止AI智能体简单地从其预训练数据中回忆可能已记忆的标签,还能确保AI智能体参与ML工程。同时也禁止AI智能体查看在Kaggle或GitHub上可以找到的在线解决方案。
- 违规检测
为确保AI智能体遵守规则,OpenAI提供了一个使用GPT-4o检查AI智能体日志的工具。它会检查AI智能体是否通过手动编写提交文件,而非使用模型、调用外部API或尝试访问未经授权的资源。
- 抄袭检测
为防止抄袭,OpenAI会使用代码抄袭检测工具Dolos,将AI智能体提交的代码与相关Kaggle竞赛的前50个笔记本进行比较。如果任何AI智能体提交的代码相似度超过60%,就会被进一步审查。
o1模型拿下7枚金牌,AI kaggle大师诞生实验中,OpenAI在一个Ubuntu 20.04 Docker容器中运行AI 智能体,该容器包含数据集、验证服务器和可能对ML工程有帮助的Python包。
75个竞赛中,每个竞赛答题时间为224小时。
在每次运行中,AI智能体可以在一台配备36个vCPU、440GB RAM、4095 GiB SSD和一个Nvidia A10 GPU的机器执行。
主要实验不同框架
为得到性能最佳的框架,OpenAI使用三个开源框架评估GPT-4o:AIDE、来自MLAgentBench的ResearchAgent(MLAB)、来自OpenHands平台的CodeActAgent(称为OpenHands)。
他们对每个框架进行了微小的修改,以提高它们在基准测试上的性能。
结果如表2所示,GPT-4o(AIDE)平均获得的奖牌数量,比MLAB和OpenHands多(分别为8.7%、0.8%和4.4%),尽管有效提交的数量相似。
值得注意的是,AIDE是专门为Kaggle竞赛构建的,而其他框架是通用的。
如下图2,展示了每个框架轨迹的片段。
不同模型上面实验得出AIDE是最佳框架,这里就尝试下改变底层模型,性能会有怎样的变化。
接下来,OpenAI使用AIDE评估了四种不同的模型:o1-preview、GPT-4o、Claude 3.5 Sonnet、Llama 3.1 405B。
结果发现,o1-preview明显优于所有其他模型,在16.9%竞赛中拿下奖牌,而且平均获得的奖牌数量几乎是次优模型的2倍(表2)。
值得一提的是,成为Kaggle大师(Kaggle Grandmaster)需要5枚金牌,而o1-preview在MLE-bench上平均获得7枚金牌。
需要注意的是,OpenAI并非选择的所有竞赛都颁发奖牌,MLE-bench使用略微修改的数据集和评分,并且在许多情况下,AI 智能体有使用更新技术的优势。
增加尝试次数,AI性能暴涨17%为了观察智能体性能如何随着更多尝试而变化,作者使用了pass@k指标评估GPT-4o(AIDE)和o1-preview(AIDE)。
他们估算在给定k次尝试每个竞赛的情况下,AI 智能体竞赛中以多大几率获得奖牌,这些尝试从n个种子中抽取。pass@k的计算公式如下:
图3展示了k ∈ {1, ..., n/2}范围内的主要结果。
研究观察到,随着尝试次数的增加,两个AI 智能体获得奖牌的百分比都呈现持续上升的趋势。
这表明,增加尝试次数可以有效提高AI 智能体在竞赛中的表现。
改变算力资源在主要实验中,OpenAI为AI智能体提供了单个24GB A10 GPU。
相比之下,Kaggle为用户提供免费的16GB P100 GPU,而用户通常也会使用自己的硬件参与竞争。
因此,硬件的配比是否会影响AI智能体的性能?或者它们是否甚至根据可能硬件调整策略?
接下来,OpenAI比较了GPT-4o(AIDE)在三种不同硬件设置下的性能:单个A10 GPU、仅CPU、两个A10 GPU。
令人惊讶的是,GPT-4o(AIDE)在所有实验中表现相似。
而且,他们手动查看了几个来自「额外GPU」实验的日志,没有发现GPT-4o AIDE尝试使用第二个GPU的情况。
增加可用时间在主要实验中,每次竞赛尝试的时间限制为24小时;相比之下,Kaggle竞赛中,人类参赛者通常有数周或数月的时间。
增加时间限制,可以让AI智能体有更多时间来迭代解决方案,给予模型更长的训练时间。
OpenAI进行了一项实验,为GPT-4o(AIDE,一种AI辅助开发环境)提供了每次竞赛100小时的更长时间限制,并将允许的最大节点数增加至5,000个。
他们每小时对AI 智能体的最佳尝试进行快照,并对每个快照进行评分。
OpenAI发现,GPT-4o(AIDE)在执行的前几个小时内就获得了大量奖牌),在运行过程中还会缓慢累积更多奖牌。
有趣的是,有时GPT-4o(AIDE)获得的奖牌数量实际上会减少。这是由于AIDE用于选择其「最佳」尝试的方法不够完善所导致。
污染与抄袭
对解决方案的熟悉程度如果模型在训练过程中接触到了关于获胜解决方案的讨论并采用了其高层策略,就可能会导致在新的ML工程任务上不具备泛化能力。
先前的研究表明,模型对训练期间看到的文档的token会赋予更高的概率因此,OpenAI将模型对给定文档的熟悉程度定义为模型在给定所有前序token的条件下,对该文档中每个token分配的平均概率。
结果显示, GPT-4o基础模型对某个竞赛的熟悉程度与其表现之间没有相关性。
混淆竞赛描述为了检测模型是否依赖于将熟悉的问题与记忆的解决方案匹配,OpenAI手动重写了MLE-bench中所有75个竞赛的描述。例如,移除了所有对Kaggle和竞赛名称的引用,并删除了非必需的文本。
结果显示, GPT-4o(AIDE)在原始和混淆的竞赛描述上取得了相似的分数。
也就是说,GPT-4o并没有过度依赖竞赛描述的原始形式,且模型对Kaggle竞赛的熟悉程度并没有系统性地提高得分。
对AGI的影响
能够自主进行ML研究的AI智能体,将会产生诸多积极影响,例如加速医疗保健、气候科学等领域的科学进展,加快模型的安全性和对齐研究,并通过开发新产品促进经济增长。
可以说,智能体执行高质量研究的能力,可能标志着经济的一个转折点。
能够执行开放式ML研究任务的智能体,例如在改进自身训练代码的水平上,可能会比人类研究员更快地显著提高前沿模型的能力,但同时也会带来安全风险。
OpenAI认为,能够解决MLE-bench大部分问题的模型很可能具备执行许多开放式ML任务的能力。
MLE-bench的开源,便是为了帮助研究大语言模型的智能体能力,并提高研究实验室在加速风险方面的透明度。
参考资料:
https://openai.com/index/mle-bench/