一句話搞定數據分析,浙大全新大模型數據助手,連搜集都省了

    2023-07-06 15:09:01 來源:量子位

    張文祺 投稿

    量子位 | 公眾號 QbitAI


    (相關資料圖)

    處理數據,用這一個AI工具就夠了!

    依靠背后的大語言模型(LLM),只需要用一句話描述自己想看的數據,其他統統交給它!

    處理、分析,甚至可視化,都能輕松搞定,甚至連搜集也不用自己動手

    這款基于LLM的AI數據助手叫做Data-Copilot,由浙江大學團隊研發。

    相關論文預印本已經發布。

    以下內容由投稿者提供

    金融、氣象、能源等各行各業每天都會生成大量的異構數據。人們急切需要一個工具來有效地管理、處理和展示這些數據。

    DataCopilot通過部署大語言模型來自主地管理和處理海量數據,滿足多樣化的用戶查詢、計算、預測、可視化等需求。

    只需要輸入文字告訴DataCopilot你想看的數據,無需繁瑣的操作,無需自己編寫代碼,DataCopilot自主地將原始數據轉化為最符合用戶意圖的可視化結果。

    為了實現的囊括各種形式的數據相關任務的通用框架,研究團隊提出了Data-Copilot。

    這一模型解決了單純使用LLM存在的數據泄露風險、計算能力差、無法處理復雜任務等問題。

    在接收到復雜請求時,Data-Copilot會自主設計并調度獨立的接口,構建一個工作流程來滿足用戶的意圖。

    沒有人類協助的情況下,它能夠熟練地將來自不同來源、不同格式的原始數據轉化為人性化的輸出,如圖形、表格和文本。

    Data-Copilot項目的主要貢獻包括:

    連接了不同領域的數據源和多樣化的用戶需求,減少了繁瑣的勞動和專業知識。實現了自主管理、處理、分析、預測和可視化數據,可將原始數據轉化為最符合用戶意圖的信息性結果。具有設計者調度者的雙重身份,包括兩個過程:接口工具的設計過程(設計者)和調度過程(調度者)。基于中國金融市場數據構建了Data-Copilot Demo。自主設計并執行工作流

    不妨以下面這個例子來看看Data-Copilot的表現:

    今年一季度上證50指數的所有成分股的凈利潤增長率同比是多少

    Data-Copilot自主設計了這樣的工作流:

    針對這個復雜的問題,Data-Copilot采用了loop_rank這個接口來實現多次循環查詢。

    Data-Copilot執行該工作流后得到了這樣的結果:

    其中橫坐標是每只成分股的股票名字,縱坐標是一季度的凈利潤同比增長率

    除了一般的數據處理過程之外,Data-Copilot還能生成種類豐富的工作流程。

    研究團隊以預測和并行兩種工作流模式分別對Data-Copilot進行了測試。

    預測工作流

    對于已知數據之外的部分,Data-Copilot也可以進行預測,比如輸入下面這個問題:

    預測下面四個季度的中國季度GDP

    Data-Copilot部署了這樣的工作流:

    獲取歷史GDP數據→采用線性回歸模型預測未來→輸出表格

    執行之后的結果如下:

    并行工作流

    我想看看最近三年寧德時代和貴州茅臺的市盈率

    對應的工作流是:

    獲取(兩支股票的)股價數據→計算相關指數→生成圖表

    兩支股票的相關工作是同時并行的,最后得到的如下的圖表:

    主要方法

    Data-Copilot是一個通用的大語言模型系統,具有接口設計和接口調度兩個主要階段。

    接口設計:研究團隊設計了一個self-request的過程,使LLM能夠自主地從少量種子請求生成足夠的請求。然后,LLM根據生成的請求進行迭代式的設計和優化接口。這些接口使用自然語言描述,使它們易于擴展和在不同平臺之間轉移。接口調度:在接收到用戶請求后,LLM根據自設計的接口描述和in context demonstration來規劃和調用接口工具,部署一個滿足用戶需求的工作流,并以多種形式呈現結果給用戶。

    Data-Copilot通過自動生成請求和自主設計接口的方式,實現了高度自動化的數據處理和可視化,滿足用戶的需求并以多種形式向用戶展示結果。

    接口設計

    如上圖所示,首先要實現數據管理,第一步需要接口工具。

    Data-Copilot會自己設計了大量接口作為數據管理的工具,其中接口是由自然語言(功能描述)和代碼(實現)組成的模塊,負責數據獲取、處理等任務。

    首先,LLM通過少量的種子請求并自主生成大量請求(explore data by self-request),盡可能覆蓋各種應用場景。然后,LLM為這些請求設計相應的接口(interface definition:只包括描述和參數),并在每次迭代中逐步優化接口設計(interface merge)。最后,研究人員利用LLM強大的代碼生成能力為接口庫中的每個接口生成具體的代碼(interface implementation)。這個過程將接口的設計與具體的實現分離開來,創建了一套多功能的接口工具,可以滿足大多數請求。

    如下圖:Data-Copilot自己設計的接口工具用于數據處理

    接口調度

    在前一個階段,研究人員獲取了用于數據獲取、處理和可視化的各種通用接口工具。每個接口都有清晰明確的功能描述。如上圖所示的兩個查詢請問,Data-Copilot通過實時請求中的規劃和調用不同的接口,形成了從數據到多種形式結果的工作流程。

    Data-Copilot首先進行意圖分析來準確理解用戶的請求。一旦準確理解了用戶的意圖,Data-Copilot將規劃一個合理的工作流程來處理用戶的請求。Data-Copilot會生成一個固定格式的JSON,代表調度的每個步驟,例如step={“arg”:””, “function”:””, “output”:”” ,”description”:””}。

    在接口描述和示例的指導下,Data-Copilot在每個步驟內以順序或并行的方式精心安排接口的調度。

    Data-Copilot通過將LLMs整合到數據相關任務的每個階段中,根據用戶的請求將原始數據自動轉化為用戶友好的可視化結果,顯著減少了對繁瑣勞動和專業知識的依賴。

    GitHub項目頁:https://github.com/zwq2018/Data-Copilot

    論文地址:https://arxiv.org/abs/2306.07209

    HuggingFace DEMO:https://huggingface.co/spaces/zwq2018/Data-Copilot

    — 完 —

    量子位 QbitAI · 頭條號簽約

    標簽:

    上一篇:女性科研人員申請“杰青”放寬到48歲-全球速遞
    下一篇:最后一頁
    概念
    平臺
    應用