最强SQL代码生成大模型发布:DefogAI开源超过gpt-3.5-turbo的SQL生成大模型SQLCoder,免费商用授权~
SQLCoder 是 Defog 团队推出的一款前沿的大语言模型,专门用于将自然语言问题转化为 SQL 查询。这是一个拥有150亿参数的模型, 在自然语言到 SQL 生成任务上,其性能略微超过了 gpt-3.5-turbo,并且显著地超越了所有流行的开源模型。更令人震惊的是,尽管 SQLCoder 的大小只有 text-davinci-003 的十分之一,但其性能却远超后者。
自然语言生成SQL问题简介
SQLCoder简介和特点
SQLCoder的具体测试结果
SQLCoder实际测试结果
SQLCoder相关资源
SQLCoder的发布让编程大模型的生态再次丰富:
上图来自DataLearner的编程大模型列表:
https://www.datalearner.com/ai-models/pretrained-models?&aiArea=1002&language=-1&contextLength=-1&openSource=-1&publisher=-1
自然语言生成SQL问题简介
随着大数据和数据库技术的发展,如何更自然、更直观地与数据库进行交互成为了一个热门的研究方向。传统的数据库查询需要用户具备一定的SQL知识,这对于非技术背景的用户来说是一个门槛。
大语言模型已经在代码生成方面展示了强大的能力,不过,当前大多数大语言模型都是针对Python、Java等高级编程语言做一些通用的大模型微调。少部分模型也会针对Python这种大家用的很多的模型做特别调优。但是SQL代码生成目前却不多。使用最好的可能还是GPT-4。而今天DefogAI开源的SQLCoder是一个新的开源选择。
SQLCoder简介和特点
如前所述,SQLCoder是DefogAI团队推出的一款基于StarCoder微调的、针对SQL优化的大模型。DefogAI是2023年刚成立的一家创业企业,其目标是通过大语言模型提供一个平台,让用户可以使用自然语言对数据进行提问。
StarCoder的参数是150亿,尽管只有GPT-3的十分之一大小,但是在SQL生成方面比GPT-3好很多(这样对比可能不太公平~)
StarCoder的主要特点如下:
SQL生成的性能强大,效果很好:在 SQL 生成任务的评估框架上,SQLCoder(64.6%)的性能略微超过了 gpt-3.5-turbo(60.6%)。
训练数据使用的是高质量人工筛选数据:Defog 在两个周期内对10,537个人工策划的问题进行了训练,这些问题基于10种不同的模式。
使用方法简单,与transformer集成良好:用户可以通过 transformers 库使用 SQLCoder,只需从 HuggingFace 仓库下载模型权重即可。此外,还提供了在线演示和 Colab 中的使用方法。
硬件要求要求不高:SQLCoder 已在 A100 40GB GPU 上进行了测试,并支持 bfloat16 权重。用户还可以在拥有20GB或更多内存的消费级 GPU 上加载模型的8位量化版本,例如 RTX 4090、RTX 3090 和 Apple M2 系列芯片。
SQLCoder的训练细节:
SQLCoder的具体测试结果
官方提供了一个SQL生成任务的评测,该评测包含了175个SQL生成任务(不在训练数据中),然后看各个模型生成SQL的准确率(在新的schemas上执行),结果如下:
从这个对比可以看到,StarCoder的准确率超过了gpt-3.5-turbo,仅仅弱于GPT-4,但是比开源的模型都强大。顺便说一句,GPT-4真是恐怖玩意。
按照不同的SQL类别测试如下:
SQLCoder实际测试结果
官方给了一个演示地址,可以测试实际SQLCoder的能力,只需要给出schema的CREATE语句即可用自然语言提问。
我们给了我们DataLearner大模型的列表建表语句(https://www.datalearner.com/ai-models/pretrained-models ),然后提了一个简单的查询,效果还不错的。
大家也可以自己去测试,不过,目前速度一般。
SQLCoder相关资源
SQLCoder的GitHub地址、预训练模型下载地址、在线演示地址等参考SQLCoder的DataLearner模型信息卡:https://www.datalearner.com/ai-models/pretrained-models/SQLCoder
号外!