探索 CodeS:开源文本到 SQL 模型的前沿实践

探索 CodeS:开源文本到 SQL 模型的前沿实践

codes The source code of CodeS (SIGMOD 2024). codes 项目地址: https://gitcode.com/gh_mirrors/codes1/codes

codes:专用于 SQL 生成的代码语言模型

在自然语言处理(NLP)领域,文本到 SQL 的任务一直是一个颇具挑战性的课题。如今,一款名为 CodeS 的开源项目为我们带来了全新的解决方案。CodeS 是一系列专门针对 SQL 生成任务训练的代码语言模型(Code LLMs),其基于 StarCoder 进行增量预训练,使用大量 SQL 相关语料库。CodeS 系列包括四种规模:CodeS-1B、CodeS-3B、CodeS-7B 和 CodeS-15B。

项目介绍

CodeS 项目的目标是构建一个开源的文本到 SQL 语言模型,以解决从自然语言到结构化查询语言(SQL)的转换问题。该项目的核心是一个预训练的语言模型,它能够理解和生成复杂的 SQL 语句,从而为用户提供一种高效的查询构建方法。

项目技术分析

CodeS 的技术核心在于其增量预训练机制。它首先基于 StarCoder 模型,使用大量 SQL 相关的语料库进行预训练。这种训练方式使得 CodeS 能够在理解和生成 SQL 语句方面展现出卓越的性能。此外,CodeS 还在多个具有挑战性的文本到 SQL 基准测试中表现出了出色的性能,包括 Spider 和 BIRD。

项目技术应用场景

CodeS 的应用场景非常广泛,它可以用于各种需要从自然语言到 SQL 转换的场景。例如,在数据库查询、数据分析和商业智能等领域,CodeS 可以帮助用户快速构建复杂的 SQL 查询语句,从而提高工作效率。

项目特点

  1. 增量预训练:CodeS 基于 StarCoder 进行增量预训练,有效利用大量 SQL 相关语料库,提升了模型的性能和泛化能力。
  2. 多种规模可选:CodeS 提供了四种不同规模的模型,用户可以根据自己的需求和资源选择合适的模型。
  3. 性能卓越:CodeS 在多个文本到 SQL 基准测试中展现出优异的性能,包括 Spider 和 BIRD。
  4. 易于使用:CodeS 提供了详细的安装和使用指南,用户可以轻松地在自己的机器上复现结果和进行训练。

如何使用 CodeS

CodeS 的使用非常简单。用户首先需要准备相应的环境,包括 GPU、CPU、操作系统和 Python 环境。接下来,用户可以下载必要的数据集和预训练模型,然后使用提供脚本来进行数据预处理、模型训练和推理。

准备环境

  • GPU:8 * NVIDIA A800,CUDA 版本 11.8
  • CPU:Intel(R) Xeon(R) Platinum 8358 CPU,搭配 1024GB 内存
  • 操作系统:CentOS Linux 7
  • Python 环境:Anaconda3,Python 版本 3.8.5

运行推理

CodeS 提供了两个推理脚本,run_few_shot_evaluations.shrun_sft_evaluations.sh,用于复现论文中报告的 few-shot 在上下文中学习和 SFT 结果。

训练 CodeS

对于希望在自己的机器上训练 CodeS 的用户,项目提供了详细的脚本指导。训练过程分为两个主要阶段:首先是微调 schema item classifiers(也称为 schema filters),然后是微调 CodeS 模型本身。

  • 阶段 1:训练 Schema Item Classifier:使用 train_sic.sh 脚本在 Spider、BIRD 和带有外部知识的 BIRD 数据集上训练 schema item classifiers。
  • 阶段 2:在文本到 SQL 基准测试上训练 CodeS:使用 train_codes.sh 脚本在 Spider、BIRD、带有外部知识的 BIRD 数据集以及 Bank_Financials、Aminer_Simplified 和综合的 all-merged 数据集上训练 CodeS 模型。

CodeS 使用 DeepSpeed Zero 进行数据并行处理,这比传统的分布式数据并行(DDP)方法节省了 GPU 内存。CodeS 还支持 Flash-Attention,可以进一步减少训练过程中的 GPU 内存使用。

总结

CodeS 是一个具有创新性的开源项目,它为我们提供了一个强大的工具,用于处理文本到 SQL 的转换任务。通过其增量预训练机制和多种规模的模型选择,CodeS 能够满足不同用户的需求,并在多个基准测试中展现出卓越的性能。无论你是数据库管理员、数据分析师还是 NLP 研究人员,CodeS 都可能成为你的得力助手。欢迎尝试并探索 CodeS 的无限可能!

codes The source code of CodeS (SIGMOD 2024). codes 项目地址: https://gitcode.com/gh_mirrors/codes1/codes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仲玫千Samson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值