Grammar-Based Code Representation: Is It a Worthy Pursuit for LLMs?

作者: Qingyuan Liang, Zhao Zhang, Zeyu Sun, Zheng Lin, Qi Luo, Yueyi Xiao, Yizhou Chen, Yuqun Zhang, Haotian Zhang, Lu Zhang, Bin Chen, Yingfei Xiong

发布时间: 2025-03-10

来源: arxiv

研究方向: 大型语言模型(LLMs)在代码生成和语义理解方面的应用

主要内容

本文研究了语法在LLMs中的重要性,特别是对于代码生成任务。研究者开发了一种名为GrammarCoder的模型,它使用语法规则来增强代码表示,从而提高代码生成和语义理解的准确性。

主要贡献

1. 首次在亿参数规模的LLMs中进行了基于语法的代码表示实验,证明了其在代码生成任务中的有效性。

2. 首次解释了基于语法的表示在语法正确性之外的优越性,并通过实证实验验证了其在增强代码语义区分能力中的作用。

3. 发布了使用语法规则训练的代码LLMs,为未来的研究提供了宝贵资源。

研究方法

1. 开发了一种名为GrammarCoder的模型,它基于解码器架构,并在代码生成过程中结合了语法规则。

2. 使用基于语法的代码表示来增强LLMs对代码结构的理解。

3. 使用预训练和指令调整技术来训练GrammarCoder模型。

4. 在HumanEval和MBPP数据集上进行了实验,以评估GrammarCoder模型在代码生成任务中的性能。

5. 通过分析不同代码表示方法之间的差异,验证了GrammarCoder模型在提高代码语义区分能力方面的作用。

实验结果

GrammarCoder模型在代码生成任务中显著优于基于token的模型,即使在亿参数规模的LLMs中也是如此。实验结果表明,GrammarCoder模型通过放大语义变化之间的表示差异,提高了模型的性能。

未来工作

未来工作可以探索如何将GrammarCoder模型应用于其他编程语言和代码生成任务,以及如何进一步优化模型的性能和鲁棒性。