15B模型單項能力錘得過GPT3.5,開源SQLCoder已上崗


Coder 家族再添新成員,並且已經開源

你知道的有關於代碼編輯的大模型工具有哪些呢?

推特用戶@lvwerra 製作了下面這張圖,為大家梳理代碼大家庭的大部分成員。

就在他發布了這張圖後的兩週內,又有三位新成員加入了這個大家庭,它們分別是DeciCoder、OctoCoder 以及最新的成員SQLCoder。

其中,這個最新成員SQLCoder 不僅性能出色,並且已經開源了

SQLCoder

作為一個SOTA 大型語言模型, SQLCoder 將自然語言問題轉換為SQL 查詢。在開發者的開源評估框架SQLEval 中,SQLCoder 的性能明顯優於所有主要的開源模型,並且優於OpenAI 的GPT-3.5。

SQLCoder 是一個15B 參數的LLM,也是StarCoder 的微調實現。 SQLCoder 在手工製作的SQL 查詢上進行了微調,難度依次遞增。在針對單個數據庫模式進行微調時,它的性能可與GPT-4 媲美,甚至更勝一籌。

項目地址:https://github.com/defog-ai/sqlcoder 演示地址:https://defog.ai/sqlcoder-demo/ 模型權重:https://huggingface.co/defog/sqlcoder

在過去的三個月裡,SQLCoder 已經部署在了醫療、金融等企業中。這些企業通常擁有敏感數據,他們不希望這些數據從自有服務器中流出,因此利用自託管模型是他們使用LLM 的唯一途徑。

方法

創建數據集

作者創建了一個手工編輯的prompt – 補全對數據集,重點是文本到SQL 任務。該數據集由10 個不同的模式創建,問題難度各不相同。此外,他們還從7 個新模式中創建了一個包含175 個問題的評估數據集。

他們確保在訓練數據集和評估數據中心化都選擇了有4-20 張表的複雜模式,這是因為只有1 或2 個表的模式由於關係有限,往往只能進行簡單直接的查詢。

問題分類

數據集創建後,作者將數據中心化的每個問題分為易、中、難、特難四類。這種分類通過調整Spider 數據集使用的標準來完成,以衡量SQL 難度。最後,他們將數據集分為兩個不同的子部分,分別是簡單問題和中等問題,以及難題和超難題。

微調

作者分以下兩個階段對模型進行了微調。

首先,僅在簡單和中等難度的問題上對StarCoder 基礎模型進行了微調。

其次,在難題和超難題上對得到的模型(代碼為defog-easy)進行微調,從而得到SQLcoder。

評估

作者在自己創建的自定義數據集上對模型進行了評估。評估SQL 查詢的正確性非常困難,他們曾考慮使用GPT-4 作為評估標準,但遇到了很多問題。過程中他們還意識到,兩個不同的SQL 查詢可能都正確。

對於「誰是最近10 個來自多倫多的用戶」這個問題,以下兩種查詢方式都是正確的。

鑑於此,作者建立了一個自定義框架來評估查詢的正確性。他們不僅開源了模型權重,同樣開源了評估框架與評估數據集。

發布數據集的目的是豐富可用基準,幫助研究人員和工程師更好地了解文本到SQL 生成模型的性能,特別是該模型對返回結果中的無害變化(如列重命名、附加列和重新排序)的穩健性。

更多關於評估的細節請參見博客內容:https://defog.ai/blog/open-sourcing-sqleval/

性能

在評估框架中,Defog SQLCoder 的表現優於除GPT-4 之外的所有主要模型。特別地,它的性能超過了gpt-3.5-turbo 和text-davinci-003,而這兩個模型的大小是它的10 倍以上。

這些結果針對的是通用SQL 數據庫,並不反映SQLCoder 在單個數據庫模式上的性能。在對單個數據庫模式進行微調時,SQLCoder 的性能與OpenAI 的GPT-4 相同或更好,延遲更低(在A100 80GB 上)。

將每個生成的問題分為5 類,按類別顯示了每個模型正確回答問題的百分比。

SQLCoder 的硬件要求

SQLCoder 已在帶權重的A100 40GB GPU 上進行了測試。你還可以在20GB 或更大內存的消費級GPU(如RTX 4090、RTX 3090 以及20GB 或更大內存的蘋果M2 Pro、M2 Max 或M2 Ultra 芯片)上加載該模型的8 位和4 位量化版本。

接下來的工作

未來幾週,作者將對SQLCoder 進行以下更新:

利用更多人工收集的數據和更廣泛的問題對模型進行訓練; 利用獎勵建模和RLHF 進一步調整模型; 從頭開始預訓練一個專門從事數據分析的模型(SQL + Python)。

資訊來源:由0x資訊編譯自8BTC。版權歸作者所有,未經許可,不得轉載

Total
0
Shares
Related Posts