大模型(LLM)為通用人工智慧(AGI)的發展提供了新的方向,其透過大量的公開數據,如網路、書籍等語料進行大規模自監督訓練,獲得了強大的語言理解、語言生成、推理等能力。然而,大模型對於私域資料的利用仍然面臨一些挑戰,私域資料是指由特定企業或個人所擁有的數據,通常包含了領域特定的知識,將大模型與私域知識結合,將會發揮巨大價值。
私域知識從資料形態上又可以分為非結構化與結構化資料。對於非結構化數據,例如文檔,通常都透過檢索的方式進行增強,可以利用 langchain 等工具可以快速實現問答系統。而結構化數據,如資料庫(DB),則需要大模型與資料庫進行交互,查詢和分析來獲取有用的信息。圍繞著大模型與資料庫,近期也衍生出一系列的產品與應用,譬如利用 LLM 打造智慧資料庫、執行 BI 分析、完成自動表格建置等。其中,text-to-SQL 技術,即以自然語言的方式與資料庫進行交互,一直以來都是備受期待的方向。
在學術界,過去的text-to-SQL 基準只專注於小規模資料庫,最先進的LLM 已經可以達到85.3% 的執行準確率,但這是否意味著LLM已經可以作為資料庫的自然語言介面?
最近,阿里巴巴聯合香港大學等機構推出了大規模真實資料庫的全新基準BIRD (Can LLM Already Serve as A Database Interface? A BIg Bench for Large-Scale Database Grounded Text-to-SQLs), 包含95 個大規模資料庫及高品質的Text-SQL pair,資料儲存量高達33.4 GB。先前最優的模型在 BIRD 上評估僅達到 40.08%,與人類 92.96% 的結果仍有很大差距,這證明挑戰仍然存在。除了評估 SQL 正確性外,作者還增加了 SQL 執行效率的評估,期待模型不僅可以寫出正確的 SQL,還能夠寫出高效的 SQL。
論文:https://arxiv.org/abs/2305.03111
#首頁:https://bird-bench.github.io
#程式碼:https://github. com/AlibabaResearch/DAMO-ConvAI/tree/main/bird
目前,BIRD 的資料、程式碼、榜單都已經開源,在全球的下載量已超10000。 BIRD在推出之始,就引發了 Twitter 上的廣泛關注與討論。
#海外用戶的評論也非常精彩:
不容錯過的LLM 專案
非常有用的檢查點,提升的溫床
AI 可以幫助你,但還不能取代你
我的工作暫時是安全性的...
##方法概述新的挑戰
該研究主要針對真實資料庫的Text-to-SQL 評估,過去流行的測試基準,例如Spider 和WikiSQL,僅關注具有少量資料庫內容的資料庫schema,導致學術研究與實際應用之間存在鴻溝。 BIRD 重點關注大量且真實的資料庫內容、自然語言問題與資料庫內容之間的外部知識推理以及在處理大型資料庫時 SQL 的效率等新三個挑戰。
首先,資料庫包含海量且雜訊資料的值。在左側範例中,平均薪資的計算需要透過將資料庫中的字串(String)轉換為浮點值(Float) 之後再進行聚合計算(Aggregation);
其次,外部知識推斷是必要的,在中間示例中,為了能準確地為用戶返回答案,模型必須先知道有貸款資格的帳戶類型一定是“擁有者”(“OWNER”),這代表巨大的資料庫內容背後隱藏的奧秘有時需要外部知識和推理來揭示;
最後,需要考慮查詢執行效率。在右側範例中,採用更有效率的SQL 查詢可以顯著提高速度,這對於工業界來講具有很大價值,因為使用者不僅期待寫出正確的SQL,還期待SQL 執行的高效,尤其是在大型資料庫的情況下;
資料標註
#BIRD 在標註的過程中解耦了問題產生和SQL 標註。同時加入專家來撰寫資料庫描述文件,以幫助問題和 SQL 標註人員更好的理解資料庫。
1. 資料庫收集:作者從開源資料平台(如 Kaggle 和 CTU Prague Relational Learning Repository)收集並處理了 80 個資料庫。透過收集真實表格資料、建立 ER 圖以及設定資料庫約束等手動建立了 15 個資料庫作為黑盒測試,來避免目前資料庫被目前的大模型學習過。 BIRD 的資料庫包含了多個領域的模式和數值, 37 個領域,涵蓋區塊鏈、體育、醫療、遊戲等。
2. 問題收集:首先作者僱用專家先為資料庫撰寫描述文件,該描述文件包括完整的表明列名、資料庫值的描述,以及理解值所用到的外部知識等。然後招募了 11 個來自美國,英國,加拿大,新加坡等國家的 native speaker 為 BIRD 產生問題。每位 speaker 都至少具備本科及以上的學歷。
3.SQL 產生:針對全球招募了由資料工程師和資料庫課程學生組成的標註團隊為 BIRD 產生 SQL。在給定資料庫和參考資料庫描述檔的情況下,標註人員需產生 SQL 以正確回答問題。採用雙盲(Double-Blind)標註方法,要求兩位標註人員對同一個問題進行標註。雙盲標註可以最大程度減少單一標註人員所帶來的錯誤。
4. 品質偵測:品質偵測分為結果執行的有效性和一致性兩部分。有效性不僅要求執行的正確性,還要求執行結果不能是空值(NULL)。專家將逐步修改問題條件,直到 SQL 執行結果有效。 #
5. 難度劃分:text-to-SQL 的難度指標可以提供研究者最佳化演算法的參考。 Text-to-SQL 的難度不僅取決於 SQL 的複雜程度,還與問題難度、額外知識易理解程度以及資料庫複雜程度等因素有關。因此作者要求 SQL 標註人員在標註過程中對難易度進行評分,並將難度分為三類:簡單、適中、具挑戰性。
資料統計
#1. 問題類型統計:問題分為兩大類,基礎問題類型(Fundamental Type)和推理問題類型(Reasoning Type)。基礎問題類型包括傳統Text-to-SQL 資料集中涵蓋的問題類型,而推理問題類型則包括需要外部知識來理解值的問題:
2. 資料庫分佈:作者以sunburst 圖表顯示了資料庫domain 及其資料量大小之間的關係。越大的半徑意味著,基於該資料庫的 text-SQL 較多,反之亦然。越深的顏色則是指該資料庫 size 越大,例如 donor 是該 benchmark 中最大的資料庫,所佔空間: 4.5GB。
3.SQL 分佈:作者透過SQL 的token 數量,關鍵字數量,n-gram 類型數量,JOIN的數量等4 個維度來證明BIRD 的SQL 是迄今為止最多元最複雜的。
評價指標
1.執行準確率:對比模型預測的SQL 執行結果與真實標註SQL 執行結果的差異;
2. 有效效率分數:同時考慮SQL 的準確度與高效性,對比模型預測的SQL 執行速度與真實標註SQL 執行速度的相對差異,將執行時間視為效率的主要指標。
實驗分析
#作者選擇了在先前基準測試中,表現突出的訓練式T5 模型和大型語言模型(LLM)作為基準模型:Codex(code-davinci-002)和ChatGPT(gpt-3.5-turbo)。為了更好地理解多步驟推理是否能激發大型語言模型在真實資料庫環境下的推理能力,也提供了它們的思考鏈版本(Chain-of-Thought)。並在兩種設定下測試基線模型:一種是完全的 schema 資訊輸入,另一種是人類對涉及問題的資料庫值的理解,總結成自然語言描述(knowledge evidence)輔助模型理解資料庫。
作者給了一些結論:
1.額外知識的增益:增加對資料庫值理解的知識(knowledge evidence)有明顯的效果提升,這證明在真實的資料庫場景中,僅依賴語義解析能力是不夠的,對資料庫值的理解會幫助使用者更準確地找到答案。
2. 思考鏈不一定完全有益:在模型沒有給定資料庫值描述和零樣本(zero-shot)情況下,模型本身的COT 推理可以更準確地生成答案。然而,當給定額外的知識(knowledge evidence)後,讓 LLM 進行 COT,發現效果並不顯著,甚至會下降。因此在這個場景中, LLM 可能會產生知識衝突。如何解決這種衝突,使模型既能接受外在知識,又能從自身強大的多步驟推理中受益,將是未來重點的研究方向。
3. 與人類的差距:BIRD 也提供了人類指標,作者以考試的形式測試標註人員在第一次面對測試集的表現,並將其作為人類指標的依據。實驗發現,目前最好的 LLM 距離人類仍有較大的差距,證明挑戰仍然存在。作者執行了詳細的錯誤分析,為未來的研究提供了一些潛在的方向。
#LLM 在資料庫領域的應用將為使用者提供更聰明、更便利的資料庫互動體驗。 BIRD 的出現將推動自然語言與真實資料庫互動的智慧化發展,為面向真實資料庫場景的 text-to-SQL 技術提供了進步空間,有助於研究人員開發更先進、更實用的資料庫應用。
以上是當LLM遇到Database:阿里達摩院聯合HKU推出Text-to-SQL新基準新基準的詳細內容。更多資訊請關注PHP中文網其他相關文章!