前些时日,AI 大模型开始掌握操作计算机的能力,但整体而言,它们与物理世界互动的能力仍处于早期阶段。
为了提高 LLM 在复杂的现实世界中的表现,研究者们提出了各种提示策略来提升大模型的推理和规划能力,比如思维链、思维树和思维图谱。这些进步与工具集成一起,推动着通用 AI 智能体的发展,让它们现在已经能够用 LLM 输出的决策策略来解决序列决策问题(不过依然还相对简单)。
在现实世界中,一个难题的解决方案往往都不是孤立存在的,而需要系统性的方法。这就促使人们开始研究如何让 LLM 通过顺序或并行模块处理智能体任务,从而动态地、分步骤地解决问题。
近日,华为诺亚方舟实验室、伦敦大学学院(UCL)和达姆施塔特工业大学的一个研究团队在这个研究方向上做出了自己的贡献。他们采用第一性原理方法,将数据的分析、处理和预测(即数据科学)作为 LLM 与现实世界环境和外部系统交互的核心和可迁移技能,得到了一种利用 LLM 解决系统数据科学任务复杂性的新方法。然后他们基于此开发了智能体 Agent K v1.0,并让其参加了多模态 Kaggle 竞赛。最终 Agent K v1.0 获得了相当于 6 金 3 银 7 铜的成绩,成为首个达到 Kaggle Grandmaster level 1 的 AI 智能体。
这项研究有三个研究动机。
第一,数据科学的目的是从结构化和非结构化数据中提取见解和知识,从而解决各种复杂问题。这需要系统级的方法,需要自动化和优化来适应具体的任务目标。
举个例子,在 Kaggle 数据科学竞赛中(如图 1 所示),数据科学家需要遵循一个结构化的工作流程:收集、清理、预处理和标准化数据,创建数据加载器以实现高效管理,生成关键评估指标,以及开发自定义模型。然后,这些见解和预测可以为决策和优化提供信息。因此,为了解决这些工作流程,需要数据科学智能体将任务分解为子问题并与各种子系统交互以实现指定目标。
第二,数据能让 LLM 感知和理解外部环境(物理和虚拟皆可)。LLM 智能体可通过收集、清理和分析这些数据来获得有意义的见解并做出明智的决策。数据和动作之间的这种基本联系可将计算推理与有形的现实世界后果联系起来。
第三,数据科学对企业而言至关重要。数据科学可将原始数据转换成可行动的见解,并由此提升效率和竞争力,进而推动创新。因此,据 Grand View Research 预计,到 2031 年,全球对数据科学的投资将达到约 7400 亿美元。数据科学智能体可通过生成代码来自动执行数据清理、建模和预测等任务,从而扩大这种影响,使组织能够扩展其数据驱动的决策,以最大化回报和利润。
华为诺亚方舟实验室首先确定了 LLM 智能体面临的两大难题,即自动化和优化。这些难题源自数据科学工作流程的复杂性和多面性。
为此,该团队提出了一种利用 LLM 解决系统数据科学任务复杂性的新方法。
具体来说,他们提出了一种灵活的「学习到推理」范式,从而无需反向传播和微调就能实现学习和适应。
该团队假设 LLM 具有固有的基于案例的推理能力,这让它们可使用过去的正例或负例经验,并将其泛化到新任务。通过优化这些经验,学习和适应可以自然地发生。
为了将这一观察利用起来,该团队提出了结构化推理(structured reasoning),其中集成了一个记忆模块,从而可以动态地利用过去的成功和失败经验来实现更据适应性的学习。这能克服思维链等方法的局限性。如图 2 所示。
左侧是基本思维链推理,其按顺序生成中间步骤,其中每个步骤都是下一步骤的直接条件,直到得到最终答案。
右侧是新提出的结构化推理方法,它引入了一个记忆模块(作为 RAG 或长上下文的一种形式),可以根据外部奖励和反馈进行优化。该模块可根据环境反馈动态地修改存储的内容,让智能体可在不改变底层 LLM 参数的情况下学习和适应,进而根据具体目标最大限度地提高性能(有效性和自动化)。
有了结构化推理之后,LLM 智能体可在内部重构自身,通过灵活和内在的(智能体内部的)自我反思功能实现主动推理,并在采取外部行动之前主动适应。
他们将这个智能体称为 Agent K v1.0,这是他们的结构化推理框架 Pangu-Agent 的一个扩展,但它也是专门为应对数据科学挑战设计的。
该团队为 Agent K v1.0 引入了新的内部函数类别,以便在自动解决数据科学任务之前自动设置它们。他们还引入了另一组可与外部工具(如超参数优化算法、集成方法、计算机视觉和自然语言处理库)协作的内部函数,从而可以最佳方式构建解答。
下图展示了 Agent K v1.0 实现自动设计、编程和执行所需的整体数据科学工作流程:首先从一个 Kaggle URL 开始,再生成执行代码清理、特征工程、模型创建和优化训练的复杂代码,之后再自动生成一个提交文件,并将其提交给 Kaggle 以获得分数。
第一阶段(自动化):设置数据科学任务
由于数据科学任务的数据类型和格式繁多,因此设置阶段并不轻松。图 4 展示了这个自动设置阶段的主要步骤。
在抓取到任务后,该策略又分为两个阶段:
第二阶段(优化):解决数据科学任务
数据科学工作流程的这一部分通常涉及许多步骤,包括生成脚本以预处理输入、创建各种模型或优化超参数。
由于可以进行多次尝试,并且每个解决方案都是复合工作流程的结果,因此要实现非常有竞争力的性能,需要能够推断每个解决方案组件的优势和劣势,并决定修改哪个部分或下一步尝试什么。
在这里,该通过智能体的外部动作将这些决定留给了智能体,并使用针对数据驱动的预测设计量身定制的几种工具为其提供支持。
第三阶段(泛化):多任务和主动任务选择
有效的智能体应该有能力解决不同领域的多种任务。该团队还为 Agent K v1.0 配备了跨领域的任务求解能力,其做法是将之前的设置泛化到多任务设置。并且,他们注意到了多任务解决方案的不可行性,于是还提出了一种在线持续学习扩展。
下图展示了 Agent K v1.0 智能体的总体设计。
按照 Kaggle 的设置,Agent K v1.0 只需要自然语言描述和非标准化原始数据即可成功完成任务。在每一轮 j 中,它会根据之前尝试过的任务的历史记录主动选择要解决的数据科学任务,并将其填充到随时间变化的向量数据库 RAG_j 中。这种选择是策略 π_1 (・) 基于 RAG_j 和一个剩余任务池执行的。
选择了任务之后,Agent K v1.0 会使用 π_setup (・) 自动执行标准化、清理任务数据、 准备训练和测试指标等操作。这个过程同样基于 RAG_j。
设置完成后,Agent K v1.0 就会尝试解决任务,这个过程会访问工具并根据分数反馈进行改进。这些 Python 日志会对 RAG_j 进行更新,并重复此过程。
当前的数据科学智能体缺乏竞争性基准测试,这限制了它们在专业领域的表现。为此,该团队也做出了自己的贡献:基于 Kaggle 竞赛构建了一个多样化且竞争性的数据科学基准,而 Kaggle 提供了 27K 个多样化数据集、110 万个笔记本、超过 7.7K 个预训练机器学习模型和大约 27K 场比赛。
该基准支持在一个透明的排行榜上与人类参与者进行直接比较并涵盖计算机视觉、自然语言处理、时间序列和表格数据等多种任务,支持多种模态。
下图展示了该基准中 Kaggle 任务的分布情况。目前,其中 55% 是表格任务,包括数值、类别、字符串和布尔值表。另外计算机视觉站 24%,自然语言处理占 10%、多模态任务占 11%。
下表则是基于 Kaggle 的指南和风格构建的 Kaggle 进展系统。⋆ (Top 10 + 0.2 %) 是指竞赛每增加 500 个参赛队伍,就会额外给出一枚金牌。举个例子,如果一个竞赛有 500 个参赛队伍,则会给 11 团队授予金牌。而如果竞赛队伍有 5000 个,则金牌数会达到 20。
Agent K 表现如何?终究还需看实验结果。该团队严格测试了 Agent K v1.0(基础模型使用了 Qwen-2.5 72B)实现完全自动化的能力以及性能。
在自动化方面,他们评估了新系统能否有效地直接根据 Kaggle URL 设置任务。结果,在跨多个领域自动执行任务方面,该系统实现了 92.5% 的准确度,展示了其完全自动化地实现复杂设置的能力。
在性能方面,在多模态挑战赛中,该团队的方法实现了相当于 6 金 3 银 7 铜的成绩(共 65 场竞赛),成为了首个达到 Kaggle Grandmaster level 1 水平的方法。下图展示了 Agent K v1.0 在各个任务上的性能表现。
此外,他们还测量了 Agent K v1.0 与人类参与者的 Elo-MMR 评分。结果表明,在由 5856 名参赛者组成的竞赛池中,Agent K v1.0 排名前 38%。
实验详情和更多实验结果以及相关讨论请访问原论文。
文章来自于微信公众号 “机器之心”
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner