🚀 Defog SQLCoder
Defog的SQLCoder是一款先進的大語言模型(LLM),可將自然語言問題轉換為SQL查詢語句。它為用戶提供了便捷、高效的SQL生成解決方案,極大提升了數據處理和分析的效率。
交互式演示 | 🤗 HF倉庫 | ♾️ Colab | 🐦 Twitter
🚀 快速開始
模型簡介
SQLCoder是一個擁有150億參數的模型。在我們的 sql-eval 框架下的自然語言到SQL生成任務中,它的表現優於 gpt-3.5-turbo
,並顯著超越所有流行的開源模型。在針對給定模式進行微調後,它甚至能超越 gpt-4
。SQLCoder是在基礎的StarCoder模型上進行微調得到的。
訓練情況
Defog在超過20,000個人工精心策劃的問題上進行了訓練。這些問題基於10種不同的模式。訓練數據中的所有模式均未包含在我們的評估框架中。你可以閱讀更多關於我們的 訓練方法 和 評估框架 的內容。
使用方式
你可以通過 transformers
庫,從Hugging Face倉庫下載我們的模型權重來使用SQLCoder。我們提供了在 示例數據庫模式 上進行 推理 的示例代碼。
python inference.py -q "Question about the sample database goes here"
你也可以在我們的網站 這裡 使用演示,或者在Colab 這裡 運行SQLCoder。
硬件要求
SQLCoder已在配備 bfloat16
權重的A100 40GB GPU上進行了測試。你也可以在內存為20GB或更多的消費級GPU(如RTX 4090、RTX 3090)以及內存為20GB或更多的Apple M2 Pro、M2 Max或M2 Ultra芯片上加載8位和4位量化版本的模型。
✨ 主要特性
- 性能卓越:在自然語言到SQL生成任務中,超越
gpt-3.5-turbo
等模型,微調後可超越 gpt-4
。
- 訓練數據優質:基於超過20,000個人工精心策劃的問題進行訓練,且訓練數據模式與評估框架不同。
- 使用便捷:可通過
transformers
庫從Hugging Face倉庫下載權重使用,還提供示例代碼和在線演示。
- 硬件適配性好:支持在不同硬件上運行,包括消費級GPU和Apple芯片。
📚 詳細文檔
不同數據集上的結果
在訓練中未見過的新數據集上的表現如下:
模型 |
正確率 |
gpt4-2023-10-04 |
82.0 |
defog-sqlcoder2 |
77.5 |
gpt4-2023-08-28 |
74.0 |
defog-sqlcoder-7b |
71.0 |
gpt-3.5-2023-10-04 |
66.0 |
claude-2 |
64.5 |
gpt-3.5-2023-08-28 |
61.0 |
claude_instant_1 |
61.0 |
text-davinci-003 |
52.5 |
按問題類別劃分的結果
我們將每個生成的問題分為5個類別。該表展示了每個模型在不同類別問題上的正確回答百分比:
查詢類別 |
gpt-4 |
sqlcoder2-15b |
sqlcoder-7b |
gpt-3.5 |
claude-2 |
claude-instant |
gpt-3 |
日期 |
72 |
80 |
64 |
68 |
52 |
48 |
32 |
分組 |
91.4 |
82.9 |
82.9 |
77.1 |
71.4 |
71.4 |
71.4 |
排序 |
82.9 |
77.1 |
74.3 |
68.6 |
74.3 |
74.3 |
68.6 |
比例 |
80 |
74.3 |
54.3 |
37.1 |
57.1 |
45.7 |
25.7 |
連接 |
82.9 |
74.3 |
74.3 |
71.4 |
65.7 |
62.9 |
57.1 |
條件 |
80 |
77.1 |
74.3 |
74.3 |
62.9 |
60 |
54.3 |
📄 許可證
此倉庫中的代碼(雖然數量不多)遵循Apache-2許可協議。模型權重遵循 CC BY-SA 4.0
許可協議,並附加了額外的負責任使用限制。簡而言之,你可以出於任何目的(包括商業用途)使用和修改該模型。但是,如果你修改了權重(例如,通過微調),則必須在相同的許可條款下開源你修改後的權重。
⏰ 待辦事項
- [x] 開源v1模型權重
- [x] 使用更多、更高數據方差的數據訓練模型
- [ ] 通過獎勵建模和基於人類反饋的強化學習(RLHF)進一步調整模型
- [ ] 從頭開始預訓練一個專門用於SQL分析的模型