NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理

NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技术回顾七年发展脉络梳理

  • Text-to-SQL(或者Text2SQL),顾名思义就是把文本转化为SQL语言,更学术一点的定义是:把数据库领域下的自然语言(Natural Language,NL)问题,转化为在关系型数据库中可以执行的结构化询语言(Structured Query Language,SQL),因此Text-to-SQL也可以被简写为NL2SQL。
    • 输入:自然语言问题,比如“查询表t_user的相关信息,结果按id降序排序,只保留前10个数据
    • 输出:SQL,比如“SELECT * FROM t_user ORDER BY id DESC LIMIT 10

1.常见大模型

  • Llama [paper] [code] [model]

    • 2023年2月,Meta AI提出开源大模型Llama,有7b、13b、33b、65b共4种规模。
  • ChatGLM [paper] [code] [model]

    • 2023年3月,清华大学提出了开源的双语大模型ChatGLM,基于GLM框架,参数规格为6b。
  • Alpaca [paper] [code] [model]

    • 2023年3月,斯坦福大学提出基于Llama 7b模型微调的开源大模型Alpaca,有7b共1种规格,训练更简单和便宜。
  • Vicuna [paper] [code] [model]

    • 2023年3月,UC伯克利大学联合CMU、斯坦福大学提出的开源大模型Vicuna,有7b、13b共2种规格。
  • WizardLM [paper] [code] [model]

    • 2023年4月,北京大学和微软提出进化指令大模型WizardLM,有7b、13b、30b共3种规格,2023年6月,提出了数学领域的大模型WizardMath,2023年8月提出了代码领域的大模型WizardCoder。
  • Falcon [paper] [code] [model]

    • 2023年6月, 阿联酋提出了大模型Falcon,这是一种仅在网络数据集上训练的开源大模型,具有 1b、7b、40b和180b四个参数规范。值得注意的是,其中Falcon 40B的性能超过了LLaMA 65B。
  • ChatGLM2[paper] [code] [model]

    • 2023年6月,清华大学提出了ChatGLM的第二代版本ChatGLM 2,规范为6b,具有更强的性能、更长的上下文、更高效的推理和更开放的许可。
  • Baichuan-7b [code] [model]

    • 2023年6月,百川智能提出Baichuan-7B,这是一个基于Transformer架构的开源大规模预训练语言模型,包含70亿个参数,训练了约​​1.2万亿个tokens。支持中文和英文,上下文窗口长度为4096。
  • Baichuan-13b [code] [model]

    • 2023年7月,百川智能继Baichuan-7B之后,提出开源、可商用的大规模语言模型Baichuan-13B,有预训练版本(Baichuan-13B-Base)和对齐版本(Baichuan-13B-Chat)。
  • InternLM [paper] [code] [model]

    • 2023年7月,上海人工智能实验室和商汤科技等提出了InternLM,开源了针对实际场景量身定制的7b和20b参数模型和聊天模型以及训练系统。
  • Llama 2 [paper] [code] [model]

    • 2023年7月,Meta AI提出第二代Llama系列开源大模型Llama 2,和Llama 1相比,训练数据多40%,上下文长度翻倍,模型有7b、13b、34b、70b共4种规格,但是34b没有开源。
  • Code Llama [paper] [code] [model]

    • 2023年8月,Meta AI 在 Llama 2 的基础上提出 Code LLama。Code Llama 在多个代码基准测试中达到了开放模型中最先进的性能。有基础模型 (Code Llama)、Python 专业化 (Code Llama - Python) 和指令跟踪模型(instruction-following models),每个模型都有 7B、13B 和 34B 参数。2024年1月,Meta AI开源CodeLLama-70b、CodeLLama-70b-Python和CodeLLama-70b-Instruct。
  • Qwen [paper] [code] [model]

    • 2023年8月,阿里云提出大语言模型系列Qwen-7B(简称通义千问),在海量数据上进行预训练,包括网页文本、书籍、代码等,开源了两个版本Qwen-7B和Qwen-7B-Chat。 2023年9月,阿里云更新了Qwen-7B和Qwen-7B-Chat,并开源了Qwen-14B和Qwen-14B-Chat。2023年11月, 他们开源了Qwen-1.8B,Qwen-1.8B-Chat,Qwen-72B以及Qwen-72B-Chat.
  • Baichuan 2 [paper]
    [code] [model]

    • 2023年9月,百川智能提出新一代开源大语言模型Baichuan 2,在2.6万亿个tokens的高质量语料上训练,有7B和13B的基础版和聊天版,以及4bits量化版聊天模型。

  • Phi-1.5 [paper] [model]

    • 2023年9月,微软研究院提出开源语言模型phi-1.5,一个拥有1.3b个参数的Transformer,使用与phi-1相同的数据源进行训练,增加了由各种NLP合成文本组成的新数据源。当根据测试常识、语言理解和逻辑推理的基准进行评估时,phi-1.5在参数少于10b的模型中表现出近乎最先进的性能。2023年12月,他们提出了Phi-2,一个 2.7b参数的语言模型,展示了出色的推理和语言理解能力,展示了参数少于13b的基础语言模型中最先进的性能。
  • Mistral-7B [paper]
    [code]
    [model]

    • 2023年10月,Mistral-AI 公司提出开源 LLM Mistral 7B,这是一个具有7b参数的语言模型,旨在实现卓越的性能和效率。Mistral 7B 在所有评估基准中均优于开源的llama2 13B,在推理、数学和代码生成方面优于llama1-34B模型。他们还提供了一个经过微调以遵循指令的模型Mistral 7B–Instruct,该模型在人类和自动化基准测试上都超越了Llama2-13B-Chat。2023年12月,他们提出了开源LLM Mixtral-8x7B,一种预训练的生成式稀疏专家混合物,在大多数基准测试上优于Llama2 70B。
  • Deepseek [paper]
    [code]
    [model]

    • 2023年11月, DeepSeek-AI公司提出了开源LLM deepseek,它是在包含2万亿个中英文token的庞大数据集上从头开始训练的。同样,deepseek LLM主要有base和chat两大类,分别有7b和67b两种参数格式。论文中的数据显示,deepSeek LLM 67b 在一系列基准测试中都超越了LLaMA2 70b,特别是在代码、数学和推理领域。 此外,与GPT-3.5相比,DeepSeek LLM 67B Chat 表现出卓越的性能。
  • MiniCPM [paper]
    [code]
    [model]

    • 2024年2月, 面壁智能与清华大学自然语言处理实验室开源了大模型MiniCPM,这是一个系列端侧大模型,主体语言模型 MiniCPM-2B 仅有 24亿(2.4B)的非词嵌入参数量, 总计2.7B参数量。值得注意的是,经过 SFT 后,MiniCPM 在公开综合性评测集上,MiniCPM 与 Mistral-7B相近(中文、数学、代码能力更优),整体性能超越 Llama2-13B、MPT-30B、Falcon-40B 等模型。

MiniCPM是一系列端侧语言大模型,主体语言模型MiniCPM-2B具有2.4B的非词嵌入参数量。在综合性榜单上与Mistral-7B相近(中文、数学、代码能力更优),整体性能超越Llama2-13B、MPT-30B、Falcon-40B等模型。在当前最接近用户体感的榜单MTBench上,MiniCPM-2B也超越了Llama2-70B-Chat、Vicuna-33B、Mistral-7B-Instruct-v0.1、Zephyr-7B-alpha等众多代表性开源大模型。

我们将完全开源MiniCPM-2B的模型参数供学术研究和有限商用,以及训练过程中的所有Checkpoint和大部分非专有数据(需要一定时间准备)给模型机理研究。

  • 基于MiniCPM-2B的指令微调与人类偏好对齐的MiniCPM-2B-SFT/DPO。
  • 基于MiniCPM-2B的多模态模型MiniCPM-V,能力超越基于Phi-2的同参数级别多模态模型**。**
  • MiniCPM-2B-SFT/DPO的Int4量化版MiniCPM-2B-SFT/DPO-Int4。
  • 基于MLC-LLM、LLMFarm开发的MiniCPM手机端程序,文本及多模态模型均可在手机端进行推理。

局限性:

  • 受限于模型规模,模型可能出现幻觉性问题。其中由于DPO模型生成的回复内容更长,更容易出现幻觉。我们也将持续进行MiniCPM模型的迭代改进;
  • 为了保证在学术研究用途上模型的通用性,我们未对模型进行任何身份认同训练。同时由于我们用ShareGPT开源语料作为部分训练数据,模型可能会输出类似GPT系列模型的身份认同信息;
  • 受限于模型规模,模型的输出受到提示词(prompt)的影响较大,可能多次尝试产生不一致的结果;
  • 受限于模型容量,模型的知识记忆较不准确,后续我们将结合RAG方法来增强模型的知识记忆能力。

更多内容见官网

2.微调-大模型

  • P-Tuning [paper] [code]

    • 2021年3月,清华大学等提出了针对大模型微调方法P-Tuning,采用可训练的连续提示词嵌入,降低了微调成本。

  • LoRA [paper] [code]

    • 2021年6月,微软提出的针对大模型微调的Low-Rank Adaptation(LoRA)方法,冻结预训练权重。
  • P-Tuning V2 [paper] [code]

    • 2021年10月,清华大学提出了P-Tuning的改进版本P-Tuning V2,性能更优。

  • RLHF [paper] [code]

    • 2022年12月,OpenAI使用RLHF方法训练ChatGPT,利用人类反馈信号直接优化语言模型,表现优异。
  • RRHF [paper] [code]

    • 2023年4月,阿里巴巴提出了一种新的学习范式称为RRHF(Rank Responses to Align Language Models with Human Feedback without tears),可以像微调一样轻松调整并实现PPO算法在HH数据集中的性能。

  • QLoRA [paper] [code]

    • 2023年5月,华盛顿大学基于冻结的4bit量化模型,结合LoRA方法训练,进一步降低了微调门槛。

  • RLTF [paper] [code]

    • 2023年7月,腾讯提出了RLTF(Reinforcement Learning from Unit Test Feedback),这是一种新颖的online强化学习框架,具有多粒度的单元测试反馈,用于细化code LLMs。

  • RRTF [paper]

    • 2023年7月,华为提出RRTF(Rank Responses toalign Test&Teacher Feedback)。与 RLHF 相比,RRHF可以有效地将语言模型的输出概率与人类偏好对齐,调优期间只需要1-2个模型,并且在实现、超参数调优和训练方面比PPO更简单。

  • RLAIF [paper]

    • 2023年9月,谷歌提出了RLAIF(来自AI反馈的强化学习RL),这是一种由现成的LLM代替人类来标记偏好的技术。他们发现RLHF和 RLAIF方法在摘要任务上取得了相似的结果。

3.经典小模型

  • (2023-arXiv, None) MAC-SQL: A Multi-Agent Collaborative Framework for Text-to-SQL
    [paper]
    [code]

  • (2023-arXiv, None) DBCᴏᴘɪʟᴏᴛ: Scaling Natural Language Querying to Massive Databases
    [paper]
    [code]

  • (2023-arXiv, None) Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation
    [paper]
    [code]

  • (2023-AAAI 2023, CCF-A) RESDSQL: Decoupling Schema Linking and Skeleton Parsing for Text-to-SQL
    [paper]
    [code]

  • (2023-arXiv, None) Can LLM Already Serve as A Database Interface? A BIg Bench for Large-Scale Database Grounded Text-to-SQLs
    [paper]
    [code]

  • (2023-arXiv, None) DIN-SQL: Decomposed In-Context Learning of Text-to-SQL with Self-Correction
    [paper]
    [code]

  • (2023-arXiv, None) A comprehensive evaluation of ChatGPT’s zero-shot Text-to-SQL capability
    [paper]
    [code]

  • (2023-ICLR, CCF-A) Binding Language Models in Symbolic Languages
    [paper]
    [code]

  • (2023-SIGMOD, CCF-A) Few-shot Text-to-SQL Translation using Structure and Content Prompt Learning
    [paper]
    [code]

  • (2023-ICASSP, CCF-B) T5-SR: A Unified Seq-to-Seq Decoding Strategy for Semantic Parsing
    [paper]

  • (2022-ACL, CCF-A) S2SQL: Injecting Syntax to Question-Schema Interaction Graph Encoder for Text-to-SQL Parsers
    [paper]

  • (2022-NAACL, CCF-B) SeaD: End-to-end Text-to-SQL Generation with Schema-aware Denoising
    [paper]

  • (2022-EMNLP, CCF-B) STAR: SQL Guided Pre-Training for Context-dependent Text-to-SQL Parsing
    [paper]
    [code]

  • (2022-EMNLP, CCF-B) RASAT: Integrating Relational Structures into Pretrained Seq2Seq Model for Text-to-SQL
    [paper]
    [code]

  • (2022-EMNLP, CCF-B) CQR-SQL: Conversational Question Reformulation Enhanced Context-Dependent Text-to-SQL Parsers
    [paper]

  • (2022-ACL, CCF-A) HIE-SQL: History Information Enhanced Network for Context-Dependent Text-to-SQL Semantic Parsing
    [paper]

  • (2022-arXiv, None) Importance of Synthesizing High-quality Data for Text-to-SQL Parsing
    [paper]

  • (2021-ACL, CCF-A) Decoupled Dialogue Modeling and Semantic Parsing for Multi-Turn Text-to-SQL
    [paper]

  • (2021-arXiv, None) Pay More Attention to History: A Context Modelling Strategy for Conversational Text-to-SQL
    [paper]
    [code]

  • (2021-ICLR, CCF-A) SCORE: Pre-training for Context Representation in Conversational Semantic Parsing
    [paper]

  • (2021-DASFAA, CCF-B) An Interactive NL2SQL Approach with Reuse Strategy
    [paper]

  • (2021-NAACL, CCF-B) Structure-Grounded Pretraining for Text-to-SQL
    [paper]

  • (2021-EMNLP, CCF-B) PICARD:Parsing Incrementally for Constrained Auto-Regressive Decoding from Language Models
    [paper]
    [code]

  • (2021-ICLR, CCF-A) GraPPa: Grammar-Augmented Pre-Training for Table Semantic Parsing
    [paper]
    [code]

  • (2021-ACL, CCF-A) LGESQL: Line Graph Enhanced Text-to-SQL Model with Mixed Local and Non-Local Relations
    [paper]
    [code]

  • (2020-EMNLP, CCF-B) Bridging Textual and Tabular Data for Cross-Domain Text-to-SQL Semantic Parsing
    [paper]
    [code]

  • (2020-ACL, CCF-A) TaBERT: Pretraining for Joint Understanding of Textual and Tabular Data
    [paper]
    [code]

  • (2020-ACL, CCF-A) RAT-SQL: Relation-Aware Schema Encoding and Linking for Text-to-SQL Parsers
    [paper]
    [code]

  • (2020-EMNLP, CCF-B) Mention Extraction and Linking for SQL Query Generation
    [paper]

  • (2020-EMNLP, CCF-B) IGSQL: Database Schema Interaction Graph Based Neural Model for Context-Dependent Text-to-SQL Generation
    [paper]
    [code]

  • (2020-arXiv, None) Hybrid Ranking Network for Text-to-SQL
    [paper]
    [code]

  • (2019-arXiv, None) X-SQL: reinforce schema representation with context
    [paper]

  • (2019-EMNLP, CCF-B) Global Reasoning over Database Structures for Text-to-SQL Parsing
    [paper]
    [code]

  • (2019-EMNLP, CCF-B) Editing-Based SQL Query Generation for Cross-Domain Context-Dependent Questions
    [paper]
    [code]

  • (2019-ACL, CCF-A) Representing Schema Structure with Graph Neural Networks for Text-to-SQL Parsing
    [paper]
    [code]

  • (2019-ACL, CCF-A) Towards Complex Text-to-SQL in Cross-Domain Database with Intermediate Representation
    [paper]
    [code]

  • (2018-EMNLP, CCF-B) SyntaxSQLNet: Syntax Tree Networks for Complex and Cross-DomainText-to-SQL Task
    [paper]
    [code]

  • (2018-NAACL, CCF-B) TypeSQL: Knowledge-based Type-Aware Neural Text-to-SQL Generation
    [paper]
    [code]

  • (2017-arXiv, None) SQLNet: Generating Structured Queries From Natural Language Without Reinforcement Learning
    [paper]
    [code]

  • 参考链接

  • Awesome Text2SQL:https://github.com/eosphoros-ai/Awesome-Text2SQL/blob/main/README.zh.md

更多优质内容请关注公号:汀丶人工智能;会提供一些相关的资源和优质文章,免费获取阅读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531332.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MQ之————如何保证消息的可靠性

MQ之保证消息的可靠性 1.消费端消息可靠性保证: 1.1 消息确认(Acknowledgements): 消费者在接收到消息后,默认情况下RabbitMQ会自动确认消息(autoAcktrue)。为保证消息可靠性,可以…

如何用Python编写简单的网络爬虫(页面代码简单分析过程)

一、什么是网络爬虫 在当今信息爆炸的时代,网络上蕴藏着大量宝贵的信息,如何高效地从中获取所需信息成为了一个重要课题。网络爬虫(Web crawler)作为一种自动化工具,可以帮助我们实现这一目标,用于数据分析…

发挥自定义表单开源优势,助力实现流程化办公!

在数字化发展进程中,利用低代码技术平台、自定义表单开源的优势特点,可以让企业实现流程化办公,从而实现提质增效的办公目的。作为一种新兴的应用开发模式,低代码技术平台获得了很多新老客户朋友的青睐和喜爱,正以它自…

静力水准仪如何进行数据获取及转换?

静力水准仪作为现代测量技术中的一项重要工具,通过利用磁致伸缩效应实现了对被测物体沉降量的高精度测量。本文将介绍磁致式静力水准仪数据获取的原理与方法,以及数据转换的过程,探讨其在工程安全监测领域的应用价值。 数据获取原理 静力水准…

【QT入门】 Qt自定义控件与样式设计之QPushButton点击按钮弹出菜单

往期回顾: 【QT入门】 Qt自定义控件与样式设计之QPushButton实现鼠标悬浮按钮弹出对话框-CSDN博客 【QT入门】 Qt自定义控件与样式设计之QComboBox样式表介绍-CSDN博客 【QT入门】 Qt自定义控件与样式设计之QCheckBox qss实现按钮开关-CSDN博客 【QT入门】 Qt自定义…

ai智能问答免费API接口

智能对话API接口,可以为网站或其他产品提供强大的智能交互功能,无需自行开发复杂的语义分析和自然语言处理算法。这使得开发者能够更专注于产品的核心功能和用户体验,加速产品上线速度并降低开发成本。 智能对话API接口的功能还包括对话内容…

德勤:《中国AI智算产业2024年四大趋势》

2023年《数字中国建设整体布局规划》的发布,明确了数字中国是构建数字时代竞争优势的关键支撑,是继移动互联网时代以来经济增长新引擎。当我们谈论数字中国的构建,不仅仅是在讨论一个国家级的技术升级,而是关乎如何利用数字技术来…

AI时代,搜索引擎的巨头地位恐怕不保了

兄弟们,你们使用搜索网站的频率有降低吗? ChatGPT 已经流行了一年多了,这期间数个大模型都发展了起来。 搜索引擎本质上也属于问答系统,所以,在大模型成熟之后,我使用搜索的频率越来越低了。 主要是因为…

苍穹外卖Day12——总结12

前期文章 文章标题地址苍穹外卖Day01——总结1https://lushimeng.blog.csdn.net/article/details/135466359苍穹外卖Day02——总结2https://lushimeng.blog.csdn.net/article/details/135484126苍穹外卖Day03——总结3https://blog.csdn.net/qq_43751200/article/details/1363…

C语言 文件函数

目录 1. 文件的打开和关闭 2. 文件的顺序读写 2.1 顺序读写函数介绍 2.2读文件(读文件只能读一次) 2.3写文件 3. 文件的随机读写 3.1 fseek 3.2 ftell 3.3 rewind 4.文件读取结束的判定 4.1 被错误使误的 feof 我对读写的理解:(从…

【机器学习】决策树(Decision Tree,DT)算法介绍:原理与案例实现

前言 决策树算法是机器学习领域中的一种重要分类方法,它通过树状结构来进行决策分析。决策树凭借其直观易懂、易于解释的特点,在分类问题中得到了广泛的应用。本文将介绍决策树的基本原理,包括熵和信息熵的相关概念,以及几种经典的…

Git分布式版本控制系统——Git常用命令(一)

一、获取Git仓库--在本地初始化仓库 执行步骤如下: 1.在任意目录下创建一个空目录(例如GitRepos)作为我们的本地仓库 2.进入这个目录中,点击右键打开Git bash窗口 3.执行命令git init 如果在当前目录中看到.git文件夹&#x…

el-table合计行添加按钮操作

针对于el-table中合计功能中的操作栏也可以按钮,并且可以添加点击事件 ElTable源码里footer部分是,这种方式渲染的,也就是 支持传递VNode。使用h第一个参数传递 组件,可以把组件转成VNode,比如现在要在右下角加一个 详…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.6 定期处理 - 2.6.2 月末操作:GR/IR重组

2.6.2 月末操作:GR/IR重组 SAP在采购订单收货和发票校验时分别产生凭证,中间采用GR/IR过渡。GR即为收货,IR即为收票。月末,GR/IR的余额根据收货和收票的情况进行判断,转入“应付暂估”或“在途物资”,次月自…

CFS: A Distributed File System for Large Scale Container Platforms——论文泛读

SIGMOD 2019 Paper 分布式元数据论文阅读笔记整理 问题 随着容器化和微服务的出现,越来越多的应用程序转移到容器化环境中。在每组容器上运行的微服务通常独立于本地磁盘存储,虽然将计算与存储脱钩允许更有效的扩展容器资源,但也带来了对单…

【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(四)- 配置和设置指令(vsetvli/vsetivli/vsetvl)

1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容: 这是一份关于向量扩展的详细技术文档,内容覆盖了向量指令集的多个关键方面,如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…

【Spring进阶系列丨第八篇】Spring整合junit 面向切面编程(AOP)详解

文章目录 一、Spring整合junit1.1、导入spring整合junit的jar1.2、在测试类上添加注解1.3、说明 二、面向切面编程(AOP)2.1、问题引出2.2、AOP2.2.1、概念2.2.2、作用2.2.3、优势2.2.4、实现方式2.2.5、专业术语2.2.5.1、连接点2.2.5.2、切入点2.2.5.3、通知/增强2.2.5.4、织入…

梯度下降小结

1.梯度下降法(Batch Gradient Desent,BGD): 总体m个样本,损失函数: 计算损失函数梯度: 参数更新: 2.随机梯度下降法(Stochastic Gradient Desent,SGD&#x…

GEE图表案例——不同区域各地类面积直方图分布图表(矢量面积叠加直方图图)

简介 在GEE中对不同区域面积统计的直方图绘制具体流程如下: 数据准备: 首先,需要准备用于面积统计的地理数据,可以是矢量数据,如行政边界、土地使用类型等。也可以是栅格数据,如分类结果、土地覆盖数据等。 区域划分: 根据需要统计的区域,将数据进行区域划分。可以使用…

微软卡内基梅隆大学:无外部干预,GPT4等大语言模型难以自主探索

目录 引言:LLMs在强化学习中的探索能力探究 研究背景:LLMs的在情境中学习能力及其重要性 实验设计:多臂老虎机环境中的LLMs探索行为 实验结果概览:LLMs在探索任务中的普遍失败 成功案例分析:Gpt-4在特定配置下的探…