大语言模型(LLM)在知识获取、指令理解、规划推理和决策等方面表现出了强大能力,智能体(Agent)则代表了人工智能的另一发展方向,即能够感知自身所处环境、自我决策并采取行动以完成特定任务。将LLM和Agent有效结合起来所形成的AI Agent改变了传统智能体只能完成预设任务的不足,是当前大语言模型赋能实体世界任务的研究热点。
近日,浙江大学吴飞教授、杨洋副教授、况琨副教授、百人计划研究员张圣宇博士等与字节跳动杨红霞团队合作,共同开源了InfiAgent-ADA这一创新的大语言智能体框架(LLM&Agent framework),专注于数据分析领域(开源地址和综述论文详见文末)。
该项目引入了Advanced Data Analysis Agent(简称InfiAgent-ADA),这是一个专注于数据分析和代码编写的大型语言智能体(LLM-augmented Autonomous Agents ,LAA)。该项目支持使用强大的开源或闭源LLM来创建和优化智能体对话。
为了对开源项目性能进行评估,团队还研制了一个LLM支持的Advanced Data Analysis自动评估基准问题集(ADA-Eval),它覆盖了多种数据分析任务,如可视化、相关性分析和数据转换,为量化评估LAAs在不同任务上的表现提供了全面的工具。
InfiAgent-ADA在自主代码生成和代码执行方面取得了可喜进步,有望提升软件开发、数据科学和自动化问题解决等效率。图1给出了数据分析的流水线(pipeline)的整个流程,包括了数据集上传、问题理解、代码生成、工具调用、结果分析等各个阶段。
图1 基于 InfiAgent-ADA的数据分析框架示意图。a) 用户用自然语言给出问题描述,要求分析人均生产总值和预期寿命之间是否存在相关性;b) 上传包含了人均生产总值和预期寿命等信息的待分析数据表格;c) 大语言模型理解该问题后,生成解决该问题的代码;d) 基于沙盒工具的代码运行及结果反馈;e) 结果分析与规范化。
数据分析大模型智能体除了基础的对话能力,还需具备工具调用和代码生成等高级功能,因此构建一个支持数据分析的流水线(pipeline)至关重要。团队开发了灵活且功能丰富数据分析智能体框架来支持包括多种主流开源模型 API调用,并为希望在本地运行模型的用户提供了在Nvidia GPU上进行本地推理的能力。本地推理功能基于vLLM实现,优化了本地机器上的性能。同时,InfiAgent-ADA实现了基于子进程的Python代码沙盒,以及为了更高安全性而开发的基于Docker的Python代码沙盒。InfiAgent-ADA还提供了基于Streamlit的前端界面,允许用户以可视化的方式与流水线交互,使操作体验更加直观简单。
随着大模型在数据分析领域的快速进展,一个全面且实用的评估指标体系显得尤为重要。InfiAgent-ADA项目为数据分析智能体的性能构建了一个精心设计的评估体系。如图3所示,该体系从GitHub收集csv文件开始,经过一系列步骤,包括生成描述、确定概念、创建开放式问题、设定约束和格式要求,最终收集和筛选数据,构建了一个全面的评估数据集。该数据集包括公开的验证集和用于防止数据泄露的测试集。评估方法包括开放式和封闭式评估,涵盖人工评估和自动评估。这一评估体系不仅全面考察了智能体处理各类数据分析任务的能力,而且还提供了一个标准化的方法来比较不同智能体的性能,从而推动数据分析领域更高效、更精确的模型开发和应用。
图2 测试数据集构建流程
团队还构建了相应的LeaderBoard,对13种通用大模型、代码大模型、智能体相关大模型在数据分析问题回答准确率(表1所示)、七大数据分析知识点准确率(图4所示)方面进行了评测。测试结果展示InfiAgent-ADA在数据分析领域相较于其他开源模型的显著优势。
表1 不同大模型数据分析性能对比
图3 Top10模型测试数据集七大知识点模型性能比较
InfiAgent-ADA的应用不仅提升了数据分析的效率和准确性,更重要的是,它为科学发现、社会治理、司法创新以及教育探索等领域提供了新的动力。这个先进的智能分析框架使我们能够更有效地处理和解释大量数据,从而在多个领域实现更深入的洞察和创新。
随着InfiAgent-ADA在数据分析领域的应用日益深入,人工智能可调用更多工具,完成通用任务。InfiAgent-ADA推出不仅为数据分析专业人士提供了强大的工具,也为科技创新和知识发展打开了新的可能。
InfiAgent:
Github开源地址:
[https://github.com/InfiAgent/InfiAgent]
项目网页:
[https://infiagent.github.io/]
论文地址:
[https://arxiv.org/abs/2401.05507]