AI斩获6枚金牌!华为Kaggle大师级智能体诞生,自主解决数据科学难题

news2024/11/15 15:25:41

在这里插入图片描述

继 OpenAI o1 成为首个达到 Kaggle 特级大师的人工智能(AI)模型后,另一个 Kaggle 大师级 AI 也诞生了。

根据 Kaggle 的晋级系统,由华为诺亚方舟实验室和伦敦大学学院团队联合推出的端到端自主数据科学智能体(agent)——Agent K v1.0,已经能够获得 6 枚金牌、3 枚银牌和 7 枚铜牌。

图片

论文链接:https://arxiv.org/abs/2411.03562

据介绍,Agent K v1.0 具备动态、多步骤处理复杂问题的能力,通过动态管理记忆并从经验中持续学习,能够完全自动化数据科学流程,并在不依赖微调的情况下,通过环境反馈不断优化决策,实现对各种数据科学任务的自动化、优化和泛化。

Agent K v1.0:一个自主数据科学智能体

当前,虽然 LLM 在自然语言交互方面展现优秀性能,但如何使 LLM 能够基于智能体处理具有序列或并行任务模块的系统性数据科学任务,构建能对各种数据科学任务进行自动化、优化和泛化的LLM 智能体,从而实现动态、多步骤的问题解决仍然是个挑战。

为解决这个问题,研究团队提出了一个灵活的基于经验学习推理的替代框架,借鉴了强化学习中的马尔可夫决策过程(MDP)概念,不过其独特性在于引入了结构化推理和长期记忆机制。这一创新举措避免了传统思维链或思维图方法对反向传播和微调的依赖,使得智能体能够在不更改 LLM 核心参数的情况下,实现动态学习与适应。

图片

图|结构化推理的示意图与标准的思维链(CoT)方法形成对比。

在 Agent K v1.0 的框架体系中,智能体具备三种类型的动作,分别为长期记忆动作、内部动作以及外部动作。长期记忆动作用于对外部数据库的内容进行管理,将过往经验转化为指导当下决策的珍贵信息;内部动作则旨在更新工作记忆,塑造智能体的推理过程;外部动作直接与环境进行交互,执行任务并获取奖励。

智能体通过与环境的互动,收集状态、工作记忆以及外部数据库的轨迹信息。随后,利用 LLM 的内部策略来更新工作记忆和长期记忆。这些策略能够依据环境反馈,动态调整智能体的推理过程,使其可以根据具体情况做出最优决策,从而最大限度地实现回报。

总体而言,Agent K v1.0 的学习框架凭借结构化推理和长期记忆机制,达成了 LLM 在复杂数据科学任务中的高效学习与适应,为构建自动化、高效且可扩展的数据科学智能体开辟了崭新的途径。

此外,Agent K v1.0 具有全新的自动化数据科学任务处理方式。

图片

图|Agent K v1.0 自动设计、编码和执行的整体数据科学流程。

首先,在数据科学任务设置的自动化阶段,Agent K v1.0 能够将数据科学任务精细分解为多个阶段,如数据抓取、数据摘要、模态检测、数据预处理以及特征工程等。

同时,利用单元测试对每个阶段的正确性进行严格验证。而当单元测试失败时,Agent K v1.0 会利用 LLM 生成解释错误原因的思考,并依据这些思考重新执行之前步骤,直至找到并修复错误。

图片

图|自动设置阶段的主要步骤。

之后,在数据科学任务解决的优化阶段,Agent K v1.0 根据任务所涉及的模态类型,选择不同的工具和方法生成解决方案。对于表格数据任务,它使用 AutoML 工具自动生成预测;对于计算机视觉、自然语言处理和跨模态任务,则采用深度神经网络模型。此外,它还集成了多种工具,如 HEBO 进行超参数优化,以及利用 HuggingFace 的 Torchvision 和 Torchtext 库处理不同模态的数据。

不仅如此,Agent K v1.0 在多任务和持续学习方面也表现出色。它可以处理多个不同领域的数据科学任务,通过共享长期记忆实现知识迁移。同时,它会根据之前的经验选择下一个任务,构建难度逐渐增加的课程,以实现持续学习和知识积累。

图片

图|Agent K v1.0 作为一个多模态、持续学习的数据科学智能体,能够在多轮操作中进行任务。

为了客观评估 Agent K v1.0 的性能,研究团队构建了一个基于 Kaggle 竞赛的竞争性数据科学基准。该基准涵盖了 Kaggle 平台上多达 65 个多样化的数据科学任务,涵盖表格数据、计算机视觉、自然语言处理以及跨模态任务等多个领域。

此外,该基准还评估了 Agent K v1.0 自动设置数据科学任务的能力,涵盖数据抓取、数据预处理、特征工程和模型训练等步骤。并通过单元测试来验证每个阶段的正确性,并评估智能体在不同模态和任务类型上的自动化成功率。

图片

图|基准测试中 Kaggle 任务的分布饼图。

在性能评估方面,该基准使用 Kaggle 平台的公开和私有分数来评估 Agent K v1.0 的性能。根据 Kaggle 的排名系统,将智能体的表现与其他 Kaggle 用户进行比较,并计算其 Elo-MMR 积分,以评估其在 Kaggle 用户群体中的相对位置。

为确保公平比较,该基准考虑了竞赛规模,不同竞赛的参与者和提交数量可能不同,因此需使用 Elo-MMR 积分来进行比较;以及竞赛类型,社区竞赛、练习场竞赛和特色竞赛的难度和竞争程度不同,因此需使用 Kaggle 的排名系统来进行评估。

图片

图|该表格描述了Kaggle的晋升系统,遵循Kaggle的指南和风格。

Kaggle 大师级水平 AI 智能体

研究团队还在 65 个 Kaggle 竞赛中对 Agent K v1.0 进行了测试。这些比赛可以由智能体自主设置,并且可以生成至少一个提交。与之前的工作不同,测试遵循了标准的 Kaggle 竞赛指南,其中智能体创建一个提交文件,并使用 Kaggle API 自动提交其解决方案。

智能体的解决方案在提交后被评估和排名在排行榜上,其性能将与参与者进行量化比较。为了确保公平性,这些量化指标基于可用的私人排行榜,并且仅使用公共排行榜结果来决定保留的提交,这反映了据科学家在 Kaggle 平台上的标准做法。

为了提高其性能,Agent K 使用基于内部训练数据拆分的验证损失。该损失和智能体内存中已有的代码帮助 LLM 反思并生成更成功的代码,最终提高其排名。

图片

图|展示了 Agent Kv1.0 在各类比赛中的表现,涵盖了表格、计算机视觉、自然语言处理和多模态任务。y 轴为比赛的 ID;x 轴为根据 Kaggle 的私人排行榜衡量出的分位数表现,分位数越高,智能体表现越好。

根据 Kaggle 的评估方法,Agent K v1.0 获得了相当于 6 枚金牌、3 枚银牌和 7 枚铜牌的成绩。整体表现与 Kaggle 高级用户相当,甚至超过了部分顶级 Grandmaster 用户的水平。在 22 个任务中,Agent K v1.0 取得了超过 80% 的量化指标,在 62% 的竞赛中取得了超过 50% 的量化指标。

不足与展望

虽然 Agent K v1.0 在 Kaggle 数据科学竞赛中取得了令人瞩目的成绩,达到了 Kaggle 大师级水平,但其仍然存在一些不足之处。

第一,任务设置过程反馈单一。目前 Agent K v1.0 在设置任务时仅基于单元测试和元单元测试的反馈。未来将通过进一步引入反馈机制,识别哪些代码和数据预处理步骤能有效提升模型性能,从而优化任务设置的智能性。

第二,工具扩展与性能反馈机制依托工具简单。当前 Agent K 使用了一些现有工具(如 HEBO、RAMP 等)进行超参数优化和特征工程。未来计划引入更多工具,特别是能支持视频和音频处理的新模块,并研究更加有效的基于性能反馈的结构来优化 LLMs 的使用。

第三,目前的持续学习机制主要基于任务设置优化,后续计划将性能反馈融入任务选择的决策中,使 Agent K 能根据历史经验来评估任务难度及潜在表现,更好地利用知识积累来提升任务处理能力。

未来,研究团队计划进一步扩展现有的评估基准,不仅增加处理任务的数量,还将多模态挑战如音频和视频数据纳入其中,力求覆盖更广泛的真实场景,以提升系统的多样性和实用性。研究还将使 Agent K v1.0 更适应“可运行的notebook”竞赛要求,提升其在多种竞赛环境中的灵活性和适应性,并计划参与实时竞赛来更精准地验证系统的实际竞争力。

通过这些优化,Agent K v1.0 有望在多种任务和领域中进一步提升其自主数据科学能力,逐步向真正的 Kaggle 大师级目标迈进。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2240915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Mysql基础] 表的操作

一、创建表 1.1 语法 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 说明: field 表示列名 datatype 表示列的类型 character set 字符集,如果没有指定字符集…

04 简单神经网络推导及实现(C++/C)

简单神经网络推导及实现(C/C) 代码见A simple neural network - stock price prediction as an example(C/C) 1. 主要模块 Neuron.h:用于声明神经元类和构造函数。Layer.h:用于声明网络层类和构造函数。NNet.h:用于…

Mybatis配置文件的增删改查功能

Mybatis配置文件的增删改查功能 查询—条件查询 //resources里面的org.example.mapper中的BrandMapper.xml文件 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://…

【2024软考架构案例题】你知道什么是 RESTful 风格吗?

&#x1f449;博主介绍&#xff1a; 博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家&#xff0c;WEB架构师&#xff0c;阿里云专家博主&#xff0c;华为云云享专家&#xff0c;51CTO 专家博主 ⛪️ 个人社区&#x…

51单片机应用开发---LCD1602显示应用

实现目标 1、了解LCD1602液晶屏&#xff1b; 2、掌握驱动程序的编写&#xff1b; 3. 具体目标&#xff1a;在屏幕上显示字符。 一、LCD1206概述 1.1 定义 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置…

如何修改npm包

前言 开发中遇到一个问题&#xff0c;配置 Element Plus 自定义主题时&#xff0c;添加了 ElementPlusResolver({ importStyle: "sass" }) 后&#xff0c;控制台出现报错&#xff0c;这是因为 Dart Sass 2.0 不再支持使用 !global 来声明新变量&#xff0c;虽然当前…

【原创】java+ssm+mysql校园疫情防控管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

Python模拟键盘输入,解放双手

文章目录 Python模拟键盘输入&#xff0c;解放双手一、引言二、pyautogui库的详细介绍1、安装与配置2、键盘输入函数3、特殊按键和组合键 三、实用示例1、自动填写表单2、自动发送邮件3、自动化数据录入 四、总结 Python模拟键盘输入&#xff0c;解放双手 一、引言 在自动化办…

人工智能时代下对人的价值反思?

一、员工价值物化 在现代企业的运作中&#xff0c;资本管理层之间的权力博弈与资源争夺有时呈现出了激烈的内斗态势。这种冲突不仅仅局限于单一部门内部&#xff0c;而是波及到跨部门乃至不同业务小组间的战略部署与资源配置上。各部门经理们既要竭力确保自身团队的利益最大化…

【Qt实现虚拟键盘】

Qt实现虚拟键盘 &#x1f31f;项目分析&#x1f31f;实现方式&#x1f31f;开发流程 &#x1f31f;项目分析 需求&#xff1a;为Linux环境下提供可便捷使用的虚拟键盘OS环境&#xff1a;Windows 7/11、CentOS 7开发语言&#xff1a;Qt/C IDE&#xff1a;QtCreator 、Qt5.14.2功…

APT 参与者将恶意软件嵌入 macOS Flutter 应用程序中

发现了一些恶意软件样本&#xff0c;这些样本据信与朝鲜民主主义人民共和国 (DPRK)&#xff08;又称北朝鲜&#xff09;有关&#xff0c;这些样本使用 Flutter 构建&#xff0c;Flutter 的设计可以对恶意代码进行混淆。JTL 深入研究了恶意代码的工作原理&#xff0c;以帮助保护…

双十一抢券风波:大学生300元提6000元电动车遭拒,谁该负责?

双十一购物狂欢节&#xff0c;本应是消费者享受优惠、商家提升销量的双赢时刻&#xff0c;但在河南郑州&#xff0c;发生了一起哭笑不得的抢券风波。一名大学生在双十一期间&#xff0c;通过某平台抢到了原价6099元电动车的直降优惠&#xff0c;只需支付300元就能将车骑回家。然…

三周精通FastAPI:37 包含 WSGI - Flask,Django,Pyramid 以及其它

官方文档&#xff1a;https://fastapi.tiangolo.com/zh/advanced/wsgi/ 包含 WSGI - Flask&#xff0c;Django&#xff0c;其它 您可以挂载多个 WSGI 应用&#xff0c;正如您在 Sub Applications - Mounts, Behind a Proxy 中所看到的那样。 为此, 您可以使用 WSGIMiddlewar…

【汇编语言】包含多个段的程序(二)—— 将数据、代码、栈放入不同的段

文章目录 前言1. 存在的两个问题2. 解决办法3. 示例代码3.1 程序说明3.1.1 定义多个段的方法3.1.2 对段地址的引用3.1.3 各种段完全是我们的安排 4. 总结结语 前言 &#x1f4cc; 汇编语言是很多相关课程&#xff08;如数据结构、操作系统、微机原理&#xff09;的重要基础。但…

初识Linux · 共享内存

目录 理解共享内存 Shared memmory code 理解共享内存 前文介绍的管道方式的通信&#xff0c;本文介绍的是进程通信的另外一种方式&#xff0c;即共享内存。但是这种通信方式的特点是只能本地通信&#xff0c;并且不像管道那样有保护机制&#xff0c;这里是没有的。 我们通…

【竞技宝】CS2-上海majorRMR:美洲区最后门票争夺战

北京时间2024年11月15日&#xff0c;上海major美洲区RMR正在如火如荼的进行之中。昨日一共进行了三场2-1组的比赛以及三场1-2组的比赛&#xff0c;决出三个正赛参赛名额的同时也确定了今日2-2组的参赛队伍&#xff0c;那么昨日的比赛战果如何呢&#xff1f;接下来小宝就为大家带…

实战:深入探讨 MySQL 和 SQL Server 全文索引的使用及其弊端

在数据库中处理大量文本数据时,包含搜索(例如查找包含特定单词的文本)往往是必需的。然而,直接使用 LIKE %text% 的方式在大数据量中进行模糊查询会造成性能瓶颈。为了解决这一问题,MySQL 和 SQL Server 提供了全文索引(Full-Text Indexing)功能,可以显著加速文本数据的…

蓝桥杯——数组

1、移动数组元素 package day3;import java.util.Arrays;public class Demo1 {public static void main(String[] args) {int[] arr {1,2,3,4,5,6};int k 2;int[] arr_new f(arr,k);for (int i : arr_new) {System.out.print(i",");}//或System.out.println();St…

人体存在感应器设置时间开启感应人存在开灯,失效

环境&#xff1a; 领普人体存在感应器 问题描述&#xff1a; 人体存在感应器设置时间开启感应人存在开灯,失效&#xff0c;设置下午5点&#xff0c;如果有人在5点前一直在这个区域&#xff0c;这个时候到了5点&#xff0c;就触发不了感应自动打开灯光。 解决方案&#xff1a…

常用命令之LinuxOracleHivePython

1. 用户改密 passwd app_adm chage -l app_adm passwd -x 90 app_adm -> 执行操作后&#xff0c;app_adm用户的密码时间改为90天有效期--查看该euser用户过期信息使用chage命令 --chage的参数包括 ---m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。 ---M 密码…