比GPT-4更好的SQL查询工具:NSQL(完全开源)
Better SQL Query Tool than GPT-4 NSQL (Completely Open Source)
NSQL是一系列新的开源大型基础模型(FMs),专门设计用于SQL生成任务
如果你尝试过使用ChatGPT或其他LLMs生成SQL查询,请举手。我尝试过,并且目前正在使用!但我很高兴地与大家分享,一个新的开源大型基础模型(FMs)家族,专门为SQL生成任务而设计,已经发布。它的名字是NSQL。它有多个版本,从NSQL-350M、NSQL-2B到NSQL-6B。NSQL-6B在标准SQL基准测试和甚至商业通用模型如ChatGPT、GPT3、GPT3.5和GPT4上表现优于所有现有的开源模型。
现成模型 vs 细调模型?
为什么选择SQL?SQL仍然是最常用的语言。你可能在使用不同的SQL版本,从Oracle、MySQL、PostgreSQL到MSSQL;但SQL仍然是普遍使用的。如果我们可以通过询问一个大型语言模型来编写SQL查询,那不是很好吗?这将减轻我们很多工作量,可能使每个公司中需要这些信息的人都能够获得洞察力。
我们如何实现这一点?通常,我们考虑两种方法之一,即现成模型或为特定任务细调的基础模型。两者都有优缺点,例如现成模型是基于公共数据进行训练的,缺乏特定于组织的知识。
如果你和我一样,你知道我在说什么。每个公司、业务部门,甚至有时工程师(不幸的是)都可以对各种数据库、模式、表名和字段使用自己的命名约定。了解每个字段的含义是我们在培训过程中在前3-6个月内努力克服的80%的问题,这个过程从入职开始,显然从未结束。但开源模型使用公共数据开发的问题是真实存在的。使用组织特定数据自定义这些模型是数据科学家的机会,也是业务的机会。这使得模型可以更灵活地处理每个组织提供的数据。
有人可能会使用像GPT这样的超大模型,并认为只要提供上下文,它就能正常工作。嗯,我说你并没有完全错,但你会惊讶地发现模型会多次产生错觉(即使在温度=0的设置下)。此外,让一个拥有500B参数的通用模型编写特定的SQL查询可能会超出所用资源的范围。那么什么是解决方案呢?
一个完全开源的专门用于SQL任务的FM
AI正在迅速发展,但企业对AI的采用还相对缓慢。有些行业已经准备好采用AI,但在专业知识、基础设施和一般上对投资AI数据解决方案的意愿方面存在很大的滞后。实际上,很少有企业有能力构建自己的代码FM。这意味着他们将需要一种开源或闭源的替代方案来填补这个空白。在使用这种现成的开放/闭源模型时存在一些特定的缺口。
它们缺乏个性化,正如之前讨论的。每个公司的每个数据及其代码库几乎总是独特的。这意味着一个适合所有情况的模型可能不是最好的选择。
此外,企业在各个部门使用许多编程语言。为处理多种语言而开发的模型可以作为通用模型,但不适合作为专家模型。有时这意味着你“几乎”得到了答案,但这个“几乎”使它完全无法使用。
隐私也是一个重要问题。企业常常不愿使用第三方引擎来驱动AI。他们宁愿不与提供AI模型的公司分享任何东西。这意味着实际上很难构建专门用于特定任务的东西。如果进行一项调查,我敢打赌,大多数企业今天宁愿使用自己的硬件来运行任务,而不是第三方(尤其是如果任务侧重隐私)。
NSQL的解决方法
NSQL执行了以下解决方案。第一步是收集大量的数据。这是使用自监督学习从网络上收集的通用SQL代码的语料库。模型训练过程的输入数据包含SQL代码以及使用标记的文本到SQL对的数据模式。然后进一步训练以遵循最常见的特定任务,并提供执行这些任务的代码。这是将通用SQL模型微调为更适应人们可能向数据库提出的最常见请求的过程。
NSQL:数据和训练细节
为了训练NSQL,创建了两个数据集。
- 预训练数据集由通用SQL查询组成(数据可以在这里获取:https://huggingface.co/datasets/bigcode/the-stack )
- 微调数据集由文本到SQL对组成(这些标记的文本到SQL对来自网络上的20个不同公共来源,范围从WiliSQL到医疗数据如MIMIC_III(在这里了解更多关于MIMIC系列的信息:https://medium.com/mlearning-ai/what-is-mimic-iv-newer-better-modular-release-of-mimic-4083e3cb14fe )
这是完整的微调数据库列表
此数据经过模式增强、SQL清理和生成更好的指令进行了增强。微调数据中包含了30万个样本。这些数据将在HuggingFace上提供。
训练过程分为两个步骤进行,首先是只使用SQL代码进行预训练,然后使用文本到SQL对与模式进行微调。
性能
NSQL在两个标准文本到SQL基准测试上进行了评估:
The Spider
The Spider基准测试包含来自200多个不同数据库的问题,范围从演员到车辆。在这里了解更多信息:https://yale-lily.github.io/spider 。
Geoquery
GeoQuery专注于关于美国地理的问题。在这里了解更多关于GeoQuery的信息。
结论
NSQL 6B版本在Spider执行准确性基准测试上比所有现有的开源模型表现更好,提高了6个百分点。
与闭源模型相比,6B版本在Spider执行准确性基准测试上表现得更好,与ChatGPT相比,领先9个百分点。与Salesforce CodeGen模型相比,预训练的(未微调)NSQL表现更好,提高了35-60%,而NSQL指导(微调)模型表现更好,提高了100-400%。
定性分析:
研究人员还使用定性方法对模型进行了评估。此类评估的结果是,NSQL模型能够更好地遵循指令,并且相比任何现有模型,幻象现象较少。特别是在提供模式作为上下文时,NSQL模型的功能更好。如果指令是明确的,NSQL模型的性能更佳。以下是模型表现良好的示例以及(5,6)模型在上下文中未定义收入的情况下表现很差的示例。
模式创建代码 –
定性评估。
这是什么意思?
几天前有人联系我说:“嘿,我在医疗保健领域工作,我们不能将数据发送给其他任何方。我们希望根据用户输入生成查询。我确信我可以使用现成的模型来完成,但现在我有信心能够做到。”
也许这个预训练模型的性能可能低于我的期望,但我可以使用公司数据进行微调,或者只需提供员工培训,让他们正确使用这个工具。
感谢NnumbersStation.ai为人们带来NSQL的强大力量。这个版本完全免费,无论是学术还是商业用途,使其成为一个非常灵活的模型,可以开始尝试玩耍。此外,不要忘记人的力量。当LLaMa的权重泄露时,我们从哺乳动物王国得到了每个动物模型!我认为现在我们应该期待从这个NSQL版本中衍生出大量的模型。
我可以在哪里使用这个模型?
NSQL-350M、NSQL-2B和NSQL-6B都可以在HuggingFace上找到,并包含模型权重。你可以使用350M模型的playground(其他模型太大无法加载到推理API中)
NumbersStation (数字站台)
NumbersStation在Hugging Face上的组织概述,这是一个构建未来的AI社区。
huggingface.co
我在哪里可以找到入门代码?
你可以在GitHub上找到通过Postgres和Sqlite SQL语言进行设置和工作的笔记本。仓库和示例设置不太完善,所以在运行之前需要进行一些调整,例如要求中的清单包版本为0.1.9,但实际上只有0.1.8的版本可用。我建议你使用SQLite(因为它不需要创建Postgres数据库和用户即可开始)。
祝你好运!玩得开心。
如果你一直读到这里——谢谢你!你是个英雄!对于这次篇幅短小、可能有些仓促的文章,我尽量让读者了解“AI世界中的有趣事件”,所以请 🔔 鼓掌 | 关注 | 订阅
使用我的推荐链接成为会员:https://ithinkbot.com/membership
在Linkedin上找到我:https://www.linkedin.com/in/mandarkarhade/
GPT-4:8个模型合一;秘密被揭示
GPT4为了避免竞争而保守了模型的秘密,现在这个秘密被揭示了!
pub.towardsai.net
认识由Salesforce XGen-7B开发的完全开源基础模型
这个模型允许完全免费的长达8K个令牌的序列
pub.towardsai.net
认识MPT-30B:一个完全开源的LLM,优于GPT-3
发布两个经过精细调整的变体MPT-30B-Instruct和MPT-30B-Chat,它们都是基于MPT-30B构建的
pub.towardsai.net
忘掉LAMP Stack:LLM Stack就在这里!
Huggingface已经将自己定位为NLP/LLM生态系统中的新标准Stack。现在公司们都在要求…
pub.towardsai.net
认识Gorilla:一个完全开源的面向API调用的LLM
比GPT-4在编写API调用方面更少幻觉和更好的性能
pub.towardsai.net
使用Lightening-AI的Lit-Parrot对GPT模式进行微调
带上你的数据!让我们在你的GPU上训练
pub.towardsai.net
WizardLM:完全开源的自动化指令数据生成器
自动化繁琐的基于指令的训练数据生成步骤
pub.towardsai.net
Falcon-40B:一个完全开源的基础LLM
每位贡献者在此向您授予永久、全球范围内、非独占、不可撤销的版权许可证…
pub.towardsai.net
H2Oai发布完全开源的GPT
h2oGPT-20B、h2oGPT-12B v1和h2oGPT-12B v2模型已经采用Apache 2.0许可证发布(完全免费)…
pub.towardsai.net