最强SQL代码生成大模型发布:DefogAI开源超过gpt-3.5-turbo的SQL生成大模型SQLCoder,免费商用授权~

DayNightStudy

共 2311字,需浏览 5分钟

 ·

2023-08-23 15:38

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


    号外!

    我们建立了一个AI技术交流讨论群,目前1-4群已满,请大家加入5群交流,大家可以在群里讨论AI相关的技术问题和进展~由于群满200无法自动加入,需要邀请,大家可以加我的微信,然后邀请进群~(微信号:datalearner_ai,微信群仅限AI相关技术交流)微信账号二维码如下


    浏览 94
    点赞
    评论
    收藏
    分享

    手机扫一扫分享

    分享
    举报
    评论
    图片
    表情
    推荐
    点赞
    评论
    收藏
    分享

    手机扫一扫分享

    分享
    举报