DSL代码生成的比较研究:微调 vs. 优化检索增强
软件工程
2024-07-04 v1 人工智能
计算与语言
摘要
随着大型语言模型(LLM)的出现,自然语言到代码生成取得了显著进展。虽然针对通用编程语言如C、C++和Python的生成已取得显著改进,但LLM在处理域特定语言(DSL)中的自定义函数名时仍感到困难。这导致更高的幻觉率和语法错误,特别是对于函数名较多的DSL。此外,函数名的持续更新也增加了挑战,因为LLM需要保持最新。在本文中,我们为使用检索增强生成(RAG)的DSL生成提供了优化措施,并对这些策略进行了消融研究。我们生成了用于代表公共领域约700个API的DSL的训练和测试数据集。我们使用训练数据集为该DSL微调一个Codex模型。我们的结果表明,微调后的模型在代码相似度指标上得分最高。通过我们的RAG优化,我们实现了相似度指标的持平。在编译率方面,两种模型仍然会频繁地得到语法错误,RAG方法略好2分。相反,RAG模型在API名称上的幻觉率落后1分,在API参数键上落后2分。我们得出结论,经过优化的RAG模型可以匹配微调模型的质量,并为新的、未见的API提供优势。
引用
@article{arxiv.2407.02742,
title = {A Comparative Study of DSL Code Generation: Fine-Tuning vs. Optimized Retrieval Augmentation},
author = {Nastaran Bassamzadeh and Chhaya Methani},
journal= {arXiv preprint arXiv:2407.02742},
year = {2024}
}
备注
8 pages, 1 figure