15B模型单项才干锤得过GPT3.5 开源SQLCoder已上岗

你知道的无关于代码编辑的大模型工具有哪些呢?

推特用户 @lvwerra 制造了上方这张图,为大家梳理代码小家庭的大局部成员。

就在他发布了这张图后的两周内,又有三位新成员添加了这个小家庭,它们区分是 DeciCoder、OctoCoder 以及最新的成员 SQLCoder。

其中,这个最新成员 SQLCoder 不只性能杰出,并且曾经开源了!

作为一个 SOTA 大型言语模型, SQLCoder 将人造言语疑问转换为 SQL 查问。在开发者的开源评价框架 SQLEval 中,SQLCoder 的性能显著优于一切重要的开源模型,并且优于 OpenAI 的 GPT-3.5。

SQLCoder 是一个 15B 参数的 LLM,也是 StarCoder 的微调成功。SQLCoder 在手工制造的 SQL 查问上启动了微调,难度依次递增。在针对单个数据库形式启动微调时,它的性能可与 GPT-4 媲美,甚至更胜一筹。

在过去的三个月里,SQLCoder 曾经部署在了医疗、金融等企业中。这些企业通常领有敏感数据,他们不宿愿这些数据从自有主机中流出,因此应用自托管模型是他们经常使用 LLM 的惟一路径。

方法

创立数据集

作者创立了一个手工编辑的 prompt - 补全对数据集,重点是文本到 SQL 义务。该数据集由 10 个不同的形式创立,疑争辩度各不相反。此外,他们还从 7 个新形式中创立了一个蕴含 175 个疑问的评价数据集。

他们确保在训练数据集和评价数据集中都选用了有 4-20 张表的复杂形式,这是由于只要 1 或 2 个表的形式由于相关有限,往往只能启动便捷间接的查问。

疑问分类

数据集创立后,作者将数据集中的每个疑问分为易、中、难、特难四类。这种分类经过调整 Spider 数据集经常使用的规范来成功,以权衡 SQL 难度。最后,他们将数据集分为两个不同的子局部,区分是便捷疑问和中等疑问,以及难题和超难题。

微调

作者分以下两个阶段对模型启动了微调。

评价

作者在自己创立的自定义数据集上对模型启动了评价。评价 SQL 查问的正确性十分艰巨,他们曾思考经常使用 GPT-4 作为 评价规范,但遇到了很多疑问。环节中他们还看法到,两个不同的 SQL 查问或者都正确。

关于 「谁是最近 10 个来自多伦多的用户 」这个疑问,以下两种查问形式都是正确的。

鉴于此,作者建设了一个自定义框架来评价查问的正确性。他们不只开源了模型权重,雷同开源了评价框架与评价数据集。

发布数据集的目标是丰盛可用基准,协助钻研人员和工程师更好地了解文本到 SQL 生成模型的性能,特意是该模型对前往结果中的有害变动(如列重命名、附加列和从新排序)的持重性。

更多关于评价的细节请参见博客内容:

性能

在评价框架中,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 启动以下更新:

假设你对 SQLCoder 感兴味,快点击演示地址启动探求吧!

您可能还会对下面的文章感兴趣: