大語言模型做數(shù)據(jù)助手,浙大Data-Copilot高效調(diào)用、處理、可視化數(shù)據(jù)
金融、氣象、能源等各行各業(yè)每天都會生成大量的異構(gòu)數(shù)據(jù)。人們急切需要一個工具來有效地管理、處理和展示這些數(shù)據(jù)。
近日,浙江大學提出 DataCopilot,通過部署大語言模型 (LLMs) 來自主地管理和處理海量數(shù)據(jù),即它連接不同領(lǐng)域的豐富數(shù)據(jù),滿足多樣化的用戶查詢,計算,預(yù)測,可視化等需求。
Repo: https://github.com/zwq2018/Data-Copilot
Arxiv: https://arxiv.org/abs/2306.07209
Demo: https://huggingface.co/spaces/zwq2018/Data-Copilot
只需要輸入文字告訴 DataCopilot 你想看啥數(shù)據(jù),無需繁瑣的操作,無需自己編寫代碼,DataCopilot 自主地將原始數(shù)據(jù)轉(zhuǎn)化為最符合用戶意圖的可視化結(jié)果,因為它可以自主地幫你找數(shù)據(jù),處理數(shù)據(jù),分析數(shù)據(jù),畫圖,無需人類協(xié)助。
圖片
許多研究已經(jīng)探索了 LLMs 的潛力。例如 Sheet-Copilot、Visual ChatGPT、Audio GPT 利用 LLMs 調(diào)用視覺,語音等領(lǐng)域工具進行數(shù)據(jù)分析、視頻編輯和語音轉(zhuǎn)換。從數(shù)據(jù)科學的角度來看,表格、可視化和音頻都可以被視為一種形式的數(shù)據(jù),所有這些任務(wù)都可以被看作是與數(shù)據(jù)相關(guān)的任務(wù)。因此,一個新的問題出現(xiàn)了:在通用數(shù)據(jù)的背景下,LLMs 能否構(gòu)建自動化的數(shù)據(jù)科學工作流來處理各種與數(shù)據(jù)相關(guān)的任務(wù)?為了實現(xiàn)這一目標,需要解決幾個挑戰(zhàn):
- 從數(shù)據(jù)角度看:直接使用 LLMs 讀取和處理海量數(shù)據(jù)不僅不切實際,而且存在數(shù)據(jù)泄露的潛在風險。
- 從模型角度看:LLMs 不擅長處理數(shù)值計算,可能沒有合適的可調(diào)用外部工具來滿足多樣化的用戶需求,從而限制了 LLMs 的利用率。
- 從任務(wù)角度看:盡管 LLMs 展示了強大的少樣本能力,但許多與數(shù)據(jù)相關(guān)的任務(wù)是復(fù)雜的,需要結(jié)合多個操作,如數(shù)據(jù)檢索、計算和表格操作,并且結(jié)果需要以圖像、表格和文本等多種格式呈現(xiàn),這些都超出了當前 LLMs 的能力。
因此,為了實現(xiàn)的囊括數(shù)據(jù)相關(guān)任務(wù)的通用框架,研究提出 Data-Copilot:
圖片
Data-Copilot 是一個基于 LLM 的系統(tǒng),用于處理與數(shù)據(jù)相關(guān)的任務(wù),連接了數(shù)十億條數(shù)據(jù)和多樣化的用戶需求。它獨立設(shè)計接口工具,以高效地管理、調(diào)用、處理和可視化數(shù)據(jù)。在接收到復(fù)雜請求時,Data-Copilot 會自主調(diào)用這些自設(shè)計的接口,構(gòu)建一個工作流程來滿足用戶的意圖。在沒有人類協(xié)助的情況下,它能夠熟練地將來自不同來源、不同格式的原始數(shù)據(jù)轉(zhuǎn)化為人性化的輸出,如圖形、表格和文本。
主要貢獻
- 設(shè)計了一個通用的處理數(shù)據(jù)相關(guān)數(shù)據(jù)的智能系統(tǒng),將不同領(lǐng)域的數(shù)據(jù)源和多樣化的用戶需求連接起來,通過將 LLM 集成到整個流程中,減少了繁瑣的勞動和專業(yè)知識。
- Data-Copilot 實現(xiàn)自主管理、處理、分析、預(yù)測和可視化數(shù)據(jù)。當接收到請求時,它將原始數(shù)據(jù)轉(zhuǎn)化為最符合用戶意圖的信息性結(jié)果。
- Data-Copilot 作為設(shè)計者和調(diào)度者,包括兩個過程:接口工具的設(shè)計過程 (設(shè)計者) 和接口工具的調(diào)度過程 (調(diào)度者)。
- 基于中國金融市場數(shù)據(jù)構(gòu)建了 Data-Copilot Demo。
主要方法
Data-Copilot 是一個通用的大語言模型系統(tǒng),具有接口設(shè)計和接口調(diào)度兩個主要階段。
- 接口設(shè)計:研究設(shè)計了一個 self-request 的過程,使 LLM 能夠自主地從少量種子請求生成足夠的請求。然后,LLM 根據(jù)生成的請求進行迭代式的設(shè)計和優(yōu)化接口。這些接口使用自然語言描述,使它們易于擴展和在不同平臺之間轉(zhuǎn)移。
- 接口調(diào)度:在接收到用戶請求后,LLM 根據(jù)自設(shè)計的接口描述和 in context demonstration 來規(guī)劃和調(diào)用接口工具,部署一個滿足用戶需求的工作流,并以多種形式呈現(xiàn)結(jié)果給用戶。
Data-Copilot 通過自動生成請求和自主設(shè)計接口的方式,實現(xiàn)了高度自動化的數(shù)據(jù)處理和可視化,滿足用戶的需求并以多種形式向用戶展示結(jié)果。
圖片
接口設(shè)計
如上圖所示,首先要實現(xiàn)數(shù)據(jù)管理,第一步需要接口工具。
Data-Copilot 會自己設(shè)計了大量接口作為數(shù)據(jù)管理的工具,其中接口是由自然語言(功能描述)和代碼(實現(xiàn))組成的模塊,負責數(shù)據(jù)獲取、處理等任務(wù)。
- 首先,LLM 通過少量的種子請求并自主生成大量請求 (explore data by self-request), 盡可能覆蓋各種應(yīng)用場景。
- 然后,LLM 為這些請求設(shè)計相應(yīng)的接口(interface definition: 只包括描述和參數(shù)),并在每次迭代中逐步優(yōu)化接口設(shè)計 (interface merge)。
- 最后,研究利用 LLM 強大的代碼生成能力為接口庫中的每個接口生成具體的代碼 (interface implementation)。這個過程將接口的設(shè)計與具體的實現(xiàn)分離開來,創(chuàng)建了一套多功能的接口工具,可以滿足大多數(shù)請求。
如下圖:Data-Copilot 自己設(shè)計的接口工具用于數(shù)據(jù)處理:
圖片
接口調(diào)度
在前一個階段,研究獲取了用于數(shù)據(jù)獲取、處理和可視化的各種通用接口工具。每個接口都有清晰明確的功能描述。如上圖所示的兩個查詢請問,Data-Copilot 通過實時請求中的規(guī)劃和調(diào)用不同的接口,形成了從數(shù)據(jù)到多種形式結(jié)果的工作流程。
- Data-Copilot 首先進行意圖分析來準確理解用戶的請求。
- 一旦準確理解了用戶的意圖,Data-Copilot 將規(guī)劃一個合理的工作流程來處理用戶的請求。Data-Copilot 會生成一個固定格式的 JSON,代表調(diào)度的每個步驟,例如 step={"arg":"","function":"", "output":"","description":""}。
在接口描述和示例的指導(dǎo)下,Data-Copilot 在每個步驟內(nèi)以順序或并行的方式精心安排接口的調(diào)度。
如下圖例子:
Data-Copilot 自主設(shè)計了工作流如下:
圖片
針對這個復(fù)雜的問題,Data-Copilot 采用了 loop_rank 這個接口來實現(xiàn)多次循環(huán)查詢。
最后該工作流并執(zhí)行后結(jié)果如下:
圖片
橫坐標是每只成分股的股名,縱坐標是一季度的凈利潤同比增長率
實驗結(jié)果
預(yù)測工作流
圖片
部署工作流:獲取歷史 GDP 數(shù)據(jù) ----> 采用線性回歸模型預(yù)測未來 -----> 輸出表格
圖片
并行工作流
圖片
圖片
圖片
結(jié)論
研究提出了一個通用的框架,Data-Copilot,用于處理各種數(shù)據(jù)相關(guān)任務(wù)。它作為連接眾多異構(gòu)數(shù)據(jù)和人類之間的橋梁,根據(jù)人類的喜好有效地管理、處理和展示數(shù)據(jù)。Data-Copilot 通過將 LLMs 整合到數(shù)據(jù)相關(guān)任務(wù)的每個階段中,根據(jù)用戶的請求將原始數(shù)據(jù)自動轉(zhuǎn)化為用戶友好的可視化結(jié)果,顯著減少了對繁瑣勞動和專業(yè)知識的依賴。
像一位經(jīng)驗豐富的專家一樣,Data-Copilot 自主設(shè)計了適用于各種類型數(shù)據(jù)和潛在用戶需求的通用接口工具,并在實時響應(yīng)中調(diào)用這些接口,為用戶請求部署清晰的工作流程。接口設(shè)計和調(diào)度這兩個過程完全由 Data-Copilot 控制,幾乎不需要人的干預(yù)。
研究提供了一個中國金融版的 Data-Copilot, 它可以靈活處理與股、基金、經(jīng)濟、公司財務(wù)和實時新聞等方面的復(fù)雜請求,是一個可靠的人工智能助手。