从弱模型和强模型合成文本到SQL数据 原创

发布于 2024-8-15 09:33
浏览
0收藏


从弱模型和强模型合成文本到SQL数据 -AI.x社区

论文来自中国科学院深圳先进技术研究院、中国科学院大学、阿里巴巴集团

论文标题:Synthesizing Text-to-SQL Data from Weak and Strong LLMs

论文链接:​​https://arxiv.org/pdf/2408.03256​​    

1、论文背景

在使用标准化提示进行评估后,论文观察到开源模型与闭源模型之间文本到SQL的性能仍存在显著差距。特别是,流行的开源模型 CodeLLaMA-13B-Instruct 在 BIRD基准测试中的执行准确率比 GPT-4 低 30%。

从弱模型和强模型合成文本到SQL数据 -AI.x社区

   

图 1:SENSE 概览:将人工标注数据与强模型生成的合成数据结合,以增强领域多样性,并通过弱模型进行偏好学习,与执行器对齐,从而提升文本到 SQL 的性能。

针对数据稀缺的挑战,众多研究致力于利用更大、更强大的大型语言模型(强模型),如GPT-4,生成所谓的强数据。尽管强数据本质上增强了数据多样性,这对模型的领域泛化至关重要,但其在文本到SQL任务中的应用仍未被探索。此外,生成有价值的不正确文本到SQL数据也构成了单独的挑战。强模型通常在正确对齐和安全性方面投入巨大努力,使得获取错误样本变得困难。因此,论文将注意力转向较小、对齐程度较低的开源模型(弱模型)。弱模型产生有价值的弱SQL样本,这些样本随后可以通过执行器的辅助进行验证和错误诱导。偏好学习(Rafailov et al., 2023)被用来指导语言模型从正确和错误样本中学习,论文称之为弱数据。

为了验证SENSE的有效性,论文对一个流行的开源基础模型,即CodeLLaMA进行监督微调(SFT),并获得了一个新的专业模型SENSE。论文全面评估了SENSE在文本到SQL任务上的性能,在标准基准Spider(Yu et al., 2018)和挑战性基准BIRD(Li et al., 2023c)上都取得了最先进(SOTA)的结果,缩小了开源模型与闭源模型之间的差距。此外,论文在三个鲁棒性数据集上评估了SENSE:SYN、REALISTIC和DK,展示了其在鲁棒性方面的优势。

从弱模型和强模型合成文本到SQL数据 -AI.x社区

表1 :监督微调阶段强数据的统计信息。对于合成数据,基于语义相似性合并了类似的数据库。    

从弱模型和强模型合成文本到SQL数据 -AI.x社区

图2:统一提示(Chang和Fosler-Lussier,2023)模板用于文本到SQL任务。    

2、方法论

首先,论文通过监督微调(SFT)增强基础模型的文本到SQL能力,主要关注数据的多样性和质量。论文将这部分数据称为强数据。随后,论文采用偏好学习,激励模型从错误的SQL中学习,论文将其称为弱数据,需要使用较弱的语言模型进行错误生成。

2.1 强数据:监督微调

监督微调(SFT)将显著提升模型生成恰当响应的能力,包括文本到SQL的转换。当前流行的跨领域数据集,主要是Spider和BIRD,由于需要人类专家进行标注,导致成本高昂。为了缓解这一问题并进一步扩大规模,论文转向强大的语言模型GPT-4寻求帮助,利用提示来合成目标数据。鉴于跨领域泛化是文本到SQL的核心挑战,论文设计了提示,鼓励GPT-4生成足够多样化的数据集,如图3所示。如表1所示,论文合成数据集中每个领域的样本比例明显低于Spider和Bird中的比例,这表明更高的领域多样性。此外,合成数据中的SQL查询平均包含更多的JOIN操作,表明构建的SQL具有更高的复杂性和深度。这些包括控制问题难度的机制、促进领域多样性以及明确排除过度代表的领域,从而引导GPT-4生成不仅多样而且适应不同复杂级别的数据点。

给定一个由输入提示x和目标响应y生成的强数据集D_s,监督微调可以表述为对数似然损失:

从弱模型和强模型合成文本到SQL数据 -AI.x社区

   

从弱模型和强模型合成文本到SQL数据 -AI.x社区

图3:合成强数据的提示。占位符the-level由程序动态填充,控制生成数据点的期望难度级别。为了考虑有限的令牌,论文随机从Spider训练集中抽取两个示例作为少量示例演示。

2.2 弱数据:偏好学习

第二阶段涉及更细致的方法处理弱数据。这里,论文引导模型识别由较弱LLMs故意生成的错误SQL查询。通过偏好学习,模型被鼓励辨别正确与错误的SQL,有效地从错误中学习。这一过程不仅精炼了模型对SQL语法的理解,还增强了其对现实场景中可能出现的常见错误的抵抗力。

给定一个自然语言描述x,论文使用较弱的模型(规模较小且对齐程度较低)生成输出y^{\prime。然后使用 SQL 执行器E 执行y‘,如果执行结果与真实值y 匹配,论文将其视为正样本y_w。相反,如果结果不一致,论文将其标记为负样本y_l。

从弱模型和强模型合成文本到SQL数据 -AI.x社区

论文构建了一个包含正负样本的数据集D_w,并使用最近流行的偏好学习方法——直接偏好优化(DPO)来优化模型。DPO 直接基于偏好数据微调模型,绕过奖励建模阶段,旨在最大化以下目标函数:    

从弱模型和强模型合成文本到SQL数据 -AI.x社区


利用上述方法,论文使用 CodeLLaMA-7B 和 CodeLLaMA-13B 进行了两阶段的训练,成功生成了最终模型 SENSE-7B 和 SENSE-13B。

3、实验

3.1 评估基准

论文使用五个数据集上的流行文本到 SQL 基准测试来评估 SENSE 的有效性。

通用基准 Spider包含7,000个文本-SQL对在其训练集中,以及1,034个对在其开发集中,跨越200个不同的数据库和138个领域。

挑战基准 BIRD是一个新的包含大规模真实世界数据库的基准,包含95个大型数据库,高质量的文本-SQL对,总计33.4GB的数据跨越37个领域。与Spider不同,BIRD专注于大规模和真实的数据库内容,自然语言问题与数据库内容之间的外部知识推理。

鲁棒基准 SYN取代了简单的字符串匹配问题标签或模式,使用同义词替换表名。DK要求文本到SQL解析器具备领域知识推理能力。REALISTIC 替换问题中提到的模式项,使其更接近真实世界场景。    

从弱模型和强模型合成文本到SQL数据 -AI.x社区

表2:在Spider和Bird基准测试上的性能比较

3.2 评估指标

对于Spider及其鲁棒性基准测试,论文遵循Spider的官方评估协议,使用EX和 TS指标。EX衡量SQL输出是否与提供的黄金SQL的执行结果完全匹配。TS是一个更可靠的指标,确认Spider的SQL查询是否通过数据库增强创建的各种测试上的所有EX检查。对于BIRD,论文采用其官方评估脚本,重点关注EX准确性评估。    

3.3 对比方法

论文比较了多种基线方法,这些方法可以分为三类。

提示方法 ACT-SQL引入了一种自动生成思维链 (CoT) (Wei et al., 2022) 示例的方法。DIN-SQL (Pourreza and Rafiei, 2023) 使用提示将复杂的文本到SQL任务分解为较小的子任务以提高性能。DAIL-SQL (Gao et al., 2023) 改进了问题表示、示例选择和样本序列组织。

从弱模型和强模型合成文本到SQL数据 -AI.x社区

表3 : SENSE和先前提出的各种方法在基于Spider的鲁棒性基准测试上的评估:Spider-SYN、REALISTIC和Spider-DK。

从弱模型和强模型合成文本到SQL数据 -AI.x社区

表4:Spider Dev测试集在不同SQL难度级别下的准确率。

微调模型 PICARD 是一种在T5-3B上微调的约束解码方法。RASAT (Qi et al., 2022) 和 Graphix (Li et al., 2023b) 专注于如何将结构信息融入T5模型(Raffel et al., 2020)的微调过程中,而 RESDSQL-3B (Li et al., 2023a) 则解耦了模式链接和骨架解析。

开源LLMs 近期开源LLMs数量激增。论文选取了一些最新流行的LLMs,包括多种规模和版本的DeepSeek-Coder、Qwen、StarCoder、LLaMA2和CodeLLaMA。论文采用了如图2所示的统一提示,以确保与SENSE进行公平比较。    

3.4 实施细节

论文选择CodeLLaMA-7B和CodeLLaMA-13B作为主要模型,DeepSeek-Coder-1.3B作为弱模型生成偏好数据。论文的实验在8块XA100 GPU上进行,结合Spider和Bird数据集与GPT-4生成的数据,使用AdamW优化器以2e-5的学习率和三周期余弦预热调度器进行监督微调。偏好学习阶段始于通过微调的弱模型和SQL评估器生成弱数据。评估器将每个生成的SQL识别为正或负,从而进一步使论文能够构建偏好数据集。该数据集成为直接偏好优化(DPO,)训练的基础。

3.5总体性能

通用设置下的结果 表2显示,在文本到SQL任务中,提示方法由于闭源LLMs和定制化提示而超越了微调方法。开源LLMs在泛化能力上稍显不足。模型规模越大,性能通常越好,并且指令调优能提升性能,展示了合成数据调优的有效性。值得注意的是,SENSE在Spider数据集上达到了最先进(SOTA)水平,超过了基于GPT-4的DAlL-SQL。具体而言,SENSE-13B在开发集上比CodeLLaMA-13B-Instruct提升了21.8%,并略微超越了DAIL-SQL,表明SENSE在缩小开源与闭源模型在文本到SQL挑战中的性能差距方面具有潜力。

挑战设置下的结果 在BIRD上的实验揭示了其复杂性,所有开源LLMs在该任务上表现不佳,但SENSE-13B树立了新标杆,如表2所示,它在测试集上超越了DAIL-SQL 5.98%。这

从弱模型和强模型合成文本到SQL数据 -AI.x社区

图4:领域密度比较。该可视化图按示例数量对领域进行排序,展示了一个长尾分布,以突出论文合成数据集内的广泛多样性。    

从弱模型和强模型合成文本到SQL数据 -AI.x社区

图5:2-D t-SNE 可视化比较原始数据与合成数据在最后标记上进行监督微调后的最后一层隐藏表示。

从弱模型和强模型合成文本到SQL数据 -AI.x社区

图6:在CodeLLaMA-13B上使用不同监督微调数据得到的Bird dev和Spider dev分数。论文分别报告Bird和Spider的E X和TS

鲁棒性设置结果 表3显示,即使没有额外训练,SENSE在鲁棒性(SYN、DK、REALISTIC)方面表现卓越。SENSE-7B和SENSE-13B领先,平均超过RESDSQL-3B 1.4%和5.4%。值得注意的是,SENSE在DK方面的强大能力表明合成数据有效利用了基础模型的领域知识。    

3.6 难度细粒度分析

Spider的难度标签显示SENSE-13B在所有级别上的优势,如表4所示。相对于最佳替代方案的性能提升显著:简单(1.6%)、中等(3.4%)、困难(7.5%)和极难(9.7%)。这表明它在处理困难样本方面具有优势,得益于合成数据提示中的难度控制。

3.7 消融研究

表5展示了针对SENSE的消融研究,剖析其组件以评估各自的影响。研究聚焦于三个关键主题。    

从弱模型和强模型合成文本到SQL数据 -AI.x社区

表5:消融和可迁移性结果。上部详细说明了排除弱数据和强数据在微调中的影响。下部评估了模型可迁移性,使用Qwen-1.8B和Qwen-7B。

为何强数据大有裨益?从图6与表5的分析可见,强数据因其更为简洁的SQL查询语句及对领域泛化能力的重视,显著提升了Spider的准确性。同时,当特定领域数据缺失时,鸟类与蜘蛛数据能够相互补益,这一现象清晰可见。图4展示了强数据得益于大语言模型所存储的广泛知识,呈现出更宽广的长尾分布,从而增强了SENSE适应新领域的能力。此外,图5中的t-SNE可视化进一步凸显了合成样本在填补人工标注数据空白方面的作用,从而再次验证了合成数据的价值。    

从弱模型和强模型合成文本到SQL数据 -AI.x社区

图7:偏好学习在关键标记上提升文本到SQL的性能。

从弱模型和强模型合成文本到SQL数据 -AI.x社区

表6:SENSE及其对应基础模型在MMLU、ARC-Challenge、GSM8K和HumanEval上的性能表现。

为什么弱数据是有帮助的?弱数据,在与偏好学习结合使用时,帮助SENSE通过从错误中学习来重新调整其输出,确保与SQL执行器更紧密的匹配。如表5所示,弱数据显著提升了整体性能,特别是在提高生成的SQL查询复杂度方面,与强数据训练的模型相比,在BIRD上提升了4.9%。此外,图7和案例研究表明,弱数据在减少SQL生成中的幻觉方面发挥作用,最小化在选择列、表和操作符时的错误,这对于构建复杂的SQL命令至关重要。

跨不同LLM的可迁移性 在表2 中,SENSE 以 CodeLLaMA 初始化,并利用较小的 DeepSeek-Coder 作为弱数据生成器。从模型差异的角度来看,CodeLLaMA 和 DeepSeek-Coder 由于其结构细节和预训练数据的差异,可以被视为异构模型。这引发了论文对于 SENSE 是否能有效迁移到具有相同预训练数据的同构模型的疑问。论文选择了 Qwen 系列,这是一组具有丰富尺寸多样性的开源模型。论文使用 Qwen-7B 作为基础模型,Qwen-1.8B 作为弱模型进行合成,创造了一个新的变体,SENSE。如表5 所示,论文发现使用合成数据的方法在同构模型下同样有效,展示了与 SENSE 相同的改进水平。这证实了所提出方法的可迁移性。    

在一般和罕见任务上的表现 除了评估 SENSE 在多个文本到SQL任务上的性能外,论文还通过在几个基准测试上进行实验来评估其泛化能力:用于语言理解的 MMLU,用于常识推理的 ARC-Challenge,用于数学推理的 GSM8K,以及用于代码生成的 HumanEval。表6 中的结果突显了 SENSE 在这些多样任务中的竞争性能,展示了其在 SQL 领域之外的广泛适用性。

值得注意的是,尽管 SENSE 在数学推理上保持了竞争性能,但 SENSE-13B 在代码生成性能上相较于其基础模型有显著提升。这些发现强调了 SENSE 在各种任务中的强大多功能性和泛化能力。此外,论文的实验显示,即使专门针对文本到SQL任务进行微调,SENSE 模型在 MMLU 任务上仍能保持性能,证实了论文提出的方法不会影响 LLM 中存储的知识。此外,如果需要提升 NLP 任务性能,可以通过指令微调加入额外的通用数据,尽管这超出了本文的范围。

本文转载自 AI帝国​,作者: 无影寺


©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
收藏
回复
举报
回复
相关推荐