自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

阿里推出AI數(shù)據(jù)科學家,全流程自動化,科研小白也能用

人工智能 新聞
Data Science Assistant(以下稱DS Assistant)是基于Modelscope-Agent框架開發(fā)的數(shù)據(jù)科學助手。

基于開源Agent框架,可自動解決復(fù)雜數(shù)據(jù)科學問題的Agent來了!

具體來說,Data Science Assistant(以下稱DS Assistant)是基于Modelscope-Agent框架開發(fā)的數(shù)據(jù)科學助手。

有了它,我們只需給需求,這個助手就能自己跑完探索性數(shù)據(jù)分析(EDA)、數(shù)據(jù)預(yù)處理、特征工程、模型訓(xùn)練,模型評估等步驟。

當然,除了本文將重點提到的DS Assistant,它背后的Modelscope-Agent框架也值得說道。

這個框架由阿里開源,主要特點包括:

  • 可通過vllm、ollama等工具接入各主流開源模型,也可以直接調(diào)用模型API;
  • 提供RAG組件支持開發(fā)者快速接入知識庫;
  • 工具生態(tài)豐富,支持大量的Modelscope社區(qū)模型作為工具,也支持直接調(diào)用langchain的工具,還接入了各類常用的工具,如web-browsing、文生圖、code-interpreter等;

更妙的是,Modelscope-Agent框架允許開發(fā)者無需編碼即可交互式地創(chuàng)建Agent助理。

這不,啪的一下,咱們的數(shù)據(jù)科學助手“誕生”了~

復(fù)雜數(shù)據(jù)科學任務(wù)自動化

實現(xiàn)復(fù)雜數(shù)據(jù)科學任務(wù)自動化一直存在挑戰(zhàn)。

傳統(tǒng)的ReAct(Reasoning and Action)框架對于簡單的任務(wù)比較有效,但是有以下缺點:

  • 每次工具調(diào)用都需要一個LLM調(diào)用。
  • LLM一次僅計劃1個子問題。這可能會導(dǎo)致任務(wù)的軌跡更加不可控,因為它不會被迫“推理”整個任務(wù)。

而DS Assistant使用了plan-and-excute框架,這是一種新興的Agent框架,通過明確計劃和執(zhí)行步驟高效完成復(fù)雜任務(wù)。

圖片

langchain官網(wǎng)對Plan-and-execute Agent的描述:https://blog.langchain.dev/planning-agents/

具體而言,其工作流程括以下幾個步驟:

1、任務(wù)計劃:Agent接收用戶輸入的任務(wù)描述,進行語義理解,將任務(wù)分解為多個可執(zhí)行子任務(wù)。

2、子任務(wù)調(diào)度:基于任務(wù)之間的依賴關(guān)系和優(yōu)先級,智能調(diào)度子任務(wù)的執(zhí)行順序。

3、任務(wù)執(zhí)行:每個子任務(wù)分配給特定的模塊執(zhí)行。

4、結(jié)果整合:匯總各子任務(wù)的結(jié)果,形成最終輸出,并反饋給用戶。

基于上述框架,咱們接著看整個系統(tǒng)架構(gòu),DS Assistant整套系統(tǒng)有4個主要模塊。

圖片

先說右側(cè)的DS Assistant,它作為整個系統(tǒng)的大腦,負責調(diào)度整個系統(tǒng)的運轉(zhuǎn)。

Plan模塊負責根據(jù)用戶的需求生成一系列Task列表,并對Task先后順序進行拓撲排序。

在這一階段,DS Assistant根據(jù)用戶輸入的復(fù)雜數(shù)據(jù)科學問題,自動將其分解為多個子任務(wù)。

這些子任務(wù)根據(jù)依賴關(guān)系和優(yōu)先級被組織和調(diào)度,確保執(zhí)行順序符合邏輯且高效。

圖片

接下來到了Execution模塊,負責任務(wù)的具體執(zhí)行,保存任務(wù)執(zhí)行結(jié)果。

在這里,每個子任務(wù)被具體化為可執(zhí)行的操作,如數(shù)據(jù)預(yù)處理、模型訓(xùn)練等。

圖片

最后是Memory management模塊,負責記錄任務(wù)中間執(zhí)行結(jié)果,代碼,數(shù)據(jù)詳情等信息。

在所有Task執(zhí)行完成后,DS Assistant會將中間數(shù)據(jù)的執(zhí)行情況 ( 包括每個task生成的代碼和結(jié)果,消耗token數(shù),任務(wù)時間 ) 保存為文件。

案例實戰(zhàn)

下面,我們以一個具體的例子來了解DS Assistant的執(zhí)行過程。

我們選用Kaggle上的一個比賽任務(wù)ICR - Identifying Age-Related Conditions作為示例:

該任務(wù)是一項機器學習任務(wù),主要目的是通過分析各種數(shù)據(jù)(如醫(yī)療記錄、基因數(shù)據(jù)、生活方式數(shù)據(jù)等),識別與年齡相關(guān)的健康狀況。

最終結(jié)果將用來幫助醫(yī)療專業(yè)人員及早發(fā)現(xiàn)老年人群中常見的健康問題,并提供個性化的預(yù)防和治療方案。

廢話不多說,我們這就開始~

首先,對于選用的LLM,我們需要配置一下。

我們引入MetaGPT的Data Science工具和Tool Recommender,可以根據(jù)任務(wù)類型向DS Assistant推薦合適的數(shù)據(jù)科學工具。

接著,我們需要將任務(wù)的具體要求傳給DS Assistant。需要注意的是,在要求中需向DS Assistant指明數(shù)據(jù)文件的路徑:

from modelscope_agent.agents.data_science_assistant import DataScienceAssistant
from modelscope_agent.tools.metagpt_tools.tool_recommend import TypeMatchToolRecommender

llm_config = {
    'model': 'qwen2-72b-instruct',
    'model_server': 'dashscope',
}
tool_recommender = TypeMatchToolRecommender(tools=["<all>"])
ds_assistant = DataScienceAssistant(llm=llm_config, tool_recommender=tool_recommender)
ds_assistant.run(
    "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' ."
)

Plan階段,DS Assistant會根據(jù)用戶需求生成任務(wù)列表,將整個數(shù)據(jù)處理流程進行分解,接著對任務(wù)列表進行按順序處理。

可以看到,DS Assistant生成了5個任務(wù),分別是數(shù)據(jù)探索,數(shù)據(jù)預(yù)處理,特征工程,模型訓(xùn)練和預(yù)測。

圖片

然后這5個任務(wù)進入了Execute階段,下面咱們挨個看一下。

Task 1: 數(shù)據(jù)探索

圖片

可以看到生成的代碼在執(zhí)行時報了如下錯誤,原因是沒有引入numpy包

圖片

DS Assistant根據(jù)報錯進行了反思,并重新生成代碼并執(zhí)行,成功輸出數(shù)據(jù)探索的結(jié)果。

圖片
圖片

最后,code judge會對代碼進行質(zhì)檢,確保本次生成代碼邏輯正確。

圖片

Task 2: 數(shù)據(jù)預(yù)處理

在數(shù)據(jù)預(yù)處理階段,DS Assistant分別對數(shù)值型數(shù)據(jù)和類別型數(shù)據(jù)進行了合適的缺失值處理,并清除了ID列。

圖片

Task 3:特征工程

在修復(fù)了兩次錯誤后,DS Assistant對數(shù)據(jù)進行了特征工程的處理,對類別型變量進行編碼。

同時對之前定義的categorical_columns變量進行了更新,去除了ID列。

圖片

Task 4:模型訓(xùn)練

DS Assistant主動安裝了合適的依賴,并選擇了多個模型(隨機森林,梯度提升,邏輯回歸)進行訓(xùn)練,并選擇了結(jié)果最好的模型。

圖片
圖片
圖片

Task 5:模型驗證

DS Assistant選擇了訓(xùn)練集中F1分數(shù)最高的模型對驗證集進行測試,并計算了這個模型在驗證集上的F1分數(shù),成功地完成了任務(wù)。

圖片

執(zhí)行完以上任務(wù)后,DS Assistant支持將運行結(jié)果保存為Jupyter Notebook類型的文件,并記錄運行的中間過程。

圖片△Jupyter Notebok


圖片△中間過程記錄JSON文件

實驗效果

我們使用ML-Benchmark作為測試集(指路論文“Data Interpreter: An LLM Agent For Data Science”),分別從Normalized Performance Score (NPS) ,total time,total token三個維度對DS Assistant效果進行評測。

其中NPS是一種將不同任務(wù)或模型的性能指標標準化的方法,使得不同指標之間可以進行比較。

它的計算通常涉及以下步驟:

步驟1:確定指標優(yōu)化方向,判斷性能指標是“越大越好”還是“越小越好”。

步驟2:規(guī)范化計算。如果指標是“越大越好”(如準確率、F1分數(shù)、AUC),NPS等于原始值;如果指標是“越小越好”(如損失值),則需要將原始值映射到接近1的較高NPS值。

規(guī)范化后的性能得分范圍通常是0到1,其中1表示最優(yōu)性能,0表示最差性能。

實驗任務(wù)詳情和結(jié)果如下( 綠色代表當前任務(wù)下最優(yōu)指標 ):

圖片

圖片

可以看到,在部分復(fù)雜的數(shù)據(jù)科學任務(wù)上,DS Assistant在規(guī)范化性能得分(NPS),任務(wù)時間,消耗token數(shù)的指標上取得超過開源SOTA的效果。(其中開源SOTA效果指MetaGPT實測值)

完整實驗日志:https://modelscope-agent.oss-cn-hangzhou.aliyuncs.com/resources/DS_Assistant_results.zip

總結(jié)

對不同的人來說,DS assistant有不同作用

  • 不熟悉數(shù)據(jù)分析流程但是又有需要的同學,可以快速根據(jù)生成的任務(wù)以及處理過程,了解處理數(shù)據(jù)的思路,以及技術(shù)點。
  • 對于了解數(shù)據(jù)分析流程的同學,可以通過詳細的描述,來影響數(shù)據(jù)處理的方法,方便做不同的實驗參照比較。
  • 對于所有人,可以自動化的快速實現(xiàn)對于當前手上文件的更深層次的理解,僅需提問即可。

下一步,DS assistant將從三個方向展開優(yōu)化

1、進一步提高任務(wù)執(zhí)行成功率

a)對于Code Agent來說,傳入信息量過大(報錯信息,中間數(shù)據(jù)信息,已生成代碼信息)會導(dǎo)致模型生成代碼正確率下降,可以在未來考慮使用LLM進行總結(jié),對信息進行篩選。

b)同一個Task可進行進一步的分解,以降低對LLM推理能力的要求。

2、對話交互式,可以將任務(wù)和任務(wù)的執(zhí)行展示分開,通過對話的方式推進任務(wù),并影響執(zhí)行結(jié)果。

3、支持批處理相同任務(wù)多批文件的場景。

更多細節(jié)可進一步查看Modelscope-Agent官方倉庫中Data Sciecne Assistant示例。

https://github.com/modelscope/modelscope-agent/blob/master/examples/agents/data_science_assistant.ipynb

責任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2017-08-04 15:53:10

大數(shù)據(jù)真?zhèn)螖?shù)據(jù)科學家

2015-08-28 09:22:07

數(shù)據(jù)科學

2015-01-06 12:21:34

阿里云

2012-12-06 15:36:55

CIO

2018-12-24 08:37:44

數(shù)據(jù)科學家數(shù)據(jù)模型

2023-05-23 09:34:16

科學家AI

2012-12-26 10:51:20

數(shù)據(jù)科學家

2023-12-18 15:54:42

AI 模型

2012-06-12 09:33:59

2020-04-10 11:58:56

AI咨詢數(shù)據(jù)科學

2018-10-16 14:37:34

數(shù)據(jù)科學家數(shù)據(jù)分析數(shù)據(jù)科學

2018-02-28 15:03:03

數(shù)據(jù)科學家數(shù)據(jù)分析職業(yè)

2017-12-18 10:50:14

數(shù)據(jù)科學家人工智能自動化

2019-01-23 09:36:02

數(shù)據(jù)科學項目數(shù)據(jù)科學數(shù)據(jù)科學家

2017-02-24 19:16:56

機器學習數(shù)據(jù)科學家

2022-04-25 09:48:31

數(shù)據(jù)科學崗位離職

2015-08-25 13:20:29

數(shù)據(jù)科學

2020-03-20 14:40:48

數(shù)據(jù)科學Python學習

2020-04-09 15:32:20

數(shù)據(jù)科學AutoML代智能
點贊
收藏

51CTO技術(shù)棧公眾號