背景信息
随着大语言模型(LLMs)在商业应用中的普及,自然语言到SQL(NL2SQL)解决方案的兴趣也在增加。虽然最先进的LLMs在公共基准测试中表现出色,但它们在某些现实世界场景中的表现有限,并且对资源和计算需求较大。这使得更小、更专业的模型成为许多实际应用的更好选择。然而,这些较小的LLMs通常表现不如其较大的同类模型,限制了它们在苛刻场景中的实际效果。
图1:Distill-C框架的背景概念图
为了应对这一挑战,我们提出了Distill-C(Distilled Customization),这是一个专门针对NL2SQL任务的蒸馏框架。Distill-C利用大型教师LLMs生成高质量的合成数据,通过稳健且可扩展的管道将知识转移到较小的学生模型上。经过这种处理后的小型模型可以与比它们大一个数量级的模型相媲美甚至超越。
研究成果
我们的贡献包括一个可扩展的管道,具有以下关键组件: - 定制化:将客户特定的功能集成到数据合成中,以生成高质量的NL2SQL数据。 - 针对性蒸馏:利用多个LLMs的集合平衡它们的优势和劣势,生成包含日期时间处理、财务分析和SQL合规性等功能的定制数据集。 - 模块化合成:分离自然语言和SQL合成,利用多个LLMs提高数据多样性和鲁棒性。 - 质量保证:使用多步骤过滤过程(模式匹配、执行检查、LLM陪审团)来改进数据质量。
新方法Distill-C使小型LLMs能够达到或超过其教师模型的表现,在不同模型家族和各种具有挑战性的基准测试中平均提高了36%的执行准确性。
图2:Distill-C框架的整体架构图
创新点在于,Distill-C不仅提高了小型模型的性能,还显著降低了计算成本,使其更适合实际部署。
研究贡献
理论贡献:Distill-C框架为NL2SQL任务提供了有效的蒸馏方法,展示了如何通过定制化合成技术、错误驱动的参考示例和针对性蒸馏策略,提升小型模型的准确性和资源效率。
图3:FixIt情景下的性能提升示意图
实践意义:Distill-C在多个内部客户基准测试中表现出色,例如在客户1的时间管理用例中达到了近乎完美的准确率(97%)。此外,它在客户2的财务分析用例中显著提升了从54%到78%的性能,证明了其在复杂财务数据处理中的能力。
实验过程
实验设计:我们评估了Distill-C框架在多个设置下的一系列情况,从仅使用自然语言(NL-only B)到完整设置(A-Full),逐步增加了监督和定制训练信号的影响,如表2所示。
图4:完整的场景整合带来的性能提升
实验步骤:在Spider开发集上,FixIt实现了Llama-3.1-8B-Instruct和CodeQwen1.5-7B-Chat分别6.4%和8%的性能提升,大幅缩小了与教师模型的差距。特别是对于分析和集合操作方面,有效解决了关键弱点。
实验数据:在领域特定任务中,Distill-C显著提高了平均准确度22.6个绝对点。例如,在客户3的OracleSQL合规性用例中,准确率从42%提高到了71%。
结论
研究结果总结:Distill-C框架有效地使小型LLMs在执行准确性和效率方面与大型模型相媲美,同时保持较低的计算成本。这种方法特别适合企业应用,因为它可以根据具体客户需求进行定制。
图5:NL Synthesizer Pipeline的详细流程图
对未来研究方向的展望:未来的工作将探索偏好对齐训练的应用以及其他实际任务的可能性。尽管初期成本涉及托管更大规模的LLMs用于数据生成和微调小型模型,但长期来看,业务单元可以利用更高效和专业的较小LLMs,从而带来可观的投资回报。
参考论文:arXiv reCAPTCHA