阿里推出AI数据科学家,全流程自动化,科研小白也能用
基于开源 Agent 框架,可自动解决复杂数据科学问题的 Agent 来了!具体来说,Data Science Assistant(以下称 DS Assistant)是基于 Modelscope-Agent 框架开发的数据科学助手。有了它,我们只需给需求,这个助手就能自己跑完探索性数据分析(EDA)、数据预处理、特征工程、模型训练,模型评估等步骤。
可通过 vllm、ollama等工具接入各主流开源模型,也可以直接调用模型 API; 提供 RAG 组件支持开发者快速接入知识库; 工具生态丰富,支持大量的 Modelscope 社区模型作为工具,也支持直接调用 langchain 的工具,还接入了各类常用的工具,如 web-browsing、文生图、code-interpreter 等; 更妙的是,Modelscope-Agent 框架允许开发者无需编码即可交互式地创建 Agent 助理。
这不,啪的一下,咱们的数据科学助手“诞生”了~
复杂数据科学任务自动化
实现复杂数据科学任务自动化一直存在挑战。传统的 ReAct(Reasoning and Action)框架对于简单的任务比较有效,但是有以下缺点:
每次工具调用都需要一个 LLM 调用;
LLM一次仅计划 1 个子问题。这可能会导致任务的轨迹更加不可控,因为它不会被迫“推理”整个任务。
▲ langchain官网对Plan-and-execute Agent的描述:https://blog.langchain.dev/planning-agents/
具体而言,其工作流程包括以下几个步骤:
1. 任务计划:Agent 接收用户输入的任务描述,进行语义理解,将任务分解为多个可执行子任务;
2. 子任务调度:基于任务之间的依赖关系和优先级,智能调度子任务的执行顺序;
3. 任务执行:每个子任务分配给特定的模块执行;
案例实战
1from modelscope_agent.agents.data_science_assistant import DataScienceAssistant
2from modelscope_agent.tools.metagpt_tools.tool_recommend import TypeMatchToolRecommender
3
4llm_config = {
5 'model': 'qwen2-72b-instruct',
6 'model_server': 'dashscope',
7}
8tool_recommender = TypeMatchToolRecommender(tools=["<all>"])
9ds_assistant = DataScienceAssistant(llm=llm_config, tool_recommender=tool_recommender)
10ds_assistant.run(
11 "This is a medical dataset with over fifty anonymized health characteristics linked to three age-related conditions. Your goal is to predict whether a subject has or has not been diagnosed with one of these conditions. The target column is Class. Perform data analysis, data preprocessing, feature engineering, and modeling to predict the target. Report F1 Score on the eval data. Train data path: ‘./dataset/07_icr-identify-age-related-conditions/split_train.csv', eval data path: ‘./dataset/07_icr-identify-age-related-conditions/split_eval.csv' ."
12)
Task 2: 数据预处理
▲ Jupyter Notebok
实验效果
▲ DS Assistant 和 开源SOTA 在ML-Benchmark 效果对比(其中开源SOTA效果指MetaGPT 实测值)
对不同的人来说,DS assistant 有不同作用:
不熟悉数据分析流程但是又有需要的同学,可以快速根据生成的任务以及处理过程,了解处理数据的思路,以及技术点。
对于了解数据分析流程的同学,可以通过详细的描述,来影响数据处理的方法,方便做不同的实验参照比较。
对于所有人,可以自动化的快速实现对于当前手上文件的更深层次的理解,仅需提问即可。
1. 进一步提高任务执行成功率:
a)对于 Code Agent 来说,传入信息量过大(报错信息,中间数据信息,已生成代码信息)会导致模型生成代码正确率下降,可以在未来考虑使用 LLM 进行总结,对信息进行筛选。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧