📖标题:You Only Read Once (YORO): Learning to Internalize Database Knowledge for Text-to-SQL
🌐来源:arXiv, 2409.12172
摘要
🔸虽然在text-to-SQL任务上取得了重大进展,但最近的解决方案对每个问题重复编码相同的数据库模式,导致不必要的高推理成本,并经常忽略关键的数据库知识。
🔸为了解决这些问题,我们提出了You Only ReadOnce(YORO),这是一种新的范式,在训练过程中将数据库知识直接内化到text-to-SQL模型的参数知识中,并在推理过程中消除了对模式编码的需要。YORO显著减少了66%-98%的输入令牌长度。
🔸尽管输入时间较短,但我们的实证结果表明,YORO在三个基准测试中具有与传统系统相当的性能,并且在大型数据库上表现显著。此外,YORO在处理具有挑战性的值检索问题(例如缩写)方面表现出色。
🛎️文章简介
🔸研究问题:处理大规模数据库时,传统文本到SQL系统存在计算效率低下、信息遗漏以及依赖于额外的值检索步骤等问题。
🔸主要贡献:论文提出了一个名为YORO的新型文本到SQL范式,在训练阶段将数据库知识内化到模型参数中,在推理阶段无需访问数据库内容,显著缩短了文本到SQL任务的输入长度并提高了计算效率和准确性。
📝重点思路
🔺相关工作
🔸Text-to-SQL:微调最近已成为主要方法,但随着强大LLM的出现,基于提示的零样本和情境学习成为重要基础,但受限于模型的能力。
🔸上下文压缩:压缩和缩短指令,或将上下文编码为紧凑表示,在SQL中可以缩短数据库内容。
🔸合成数据:改进Text-to-SQL的系统,尤其是在领域泛化方面,一种有效的方法是提取SQL骨架并填充槽位。
🔺论文方案
🔸主要思想:首先在目标数据库生成的合成Text-to-SQL数据,然后微调语言模型,从而全面理解数据库内容,并将数据库信息内化到模型的参数知识中。
🔸合成数据:采用了基于骨架的SQL合成和基于合成SQL的条件NLQ生成方法,利用LLM进行上下文学习,包括SQL骨架提取、SQL生成和NLQ生成三个阶段。
🔸模型训练:采用专家模型来获取每个目标数据库的知识,不同于以往训练一个能够泛化到未见数据库的单一模型,旨在适应公司的专有数据库,而无需新的手动标注数据。
🔸模型推理:每个微调的专家模型根据数据库ID处理路由到它的测试数据,防止模型在构建SQL查询时仅从输入中复制数据库内容,而是强制其在模型权重中内化每个数据库ID的数据库内容。
🔎分析总结
🔸性能比较:YORO在性能上与传统方法相当,但在大型数据库和处理具有挑战性的值检索问题时显著优于传统方法。
🔸输入长度减少:YORO的输入长度比之前的模型短66-98%,这显著提高了计算效率,特别是在BIRD数据集中,YORO的输入长度保持一致,无论数据库大小如何,而传统方法可能会因输入序列过长而影响准确性和推理成本。
🔸挑战性值检索处理:YORO能够成功生成涉及挑战性值检索问题的准确查询,而许多最先进的模型依赖于字符串匹配,可能在遇到特定实例(如缩写)时失败。
💡个人观点
论文的核心是在训练阶段内化数据库知识,在推理阶段无需访问数据库内容,从而压缩输入长度。