中文

对代码大语言模型(未)学到什么的批判性研究

软件工程 2024-06-19 v1 人工智能 计算与语言

摘要

在代码语料库上训练的大语言模型(代码-LLMs)在各种编码辅助任务中展示了令人印象深刻的性能。然而,尽管其规模和训练数据集不断增加,代码-LLMs仍然存在局限性,例如建议包含语法错误、变量误用的代码等。一些研究认为,代码-LLMs在编码任务上表现良好,是因为它们使用自注意力和隐藏表示来编码输入标记之间的关系。然而,先前的工作尚未研究代码-LLMs未编码哪些代码属性。在本文中,我们对代码-LLMs的注意力图和隐藏表示进行了细粒度分析。我们的研究表明,代码-LLMs仅编码输入标记特定子集之间的关系。具体来说,通过将输入标记分类为语法标记和标识符,我们发现模型编码了语法标记之间以及标识符之间的关系,但未能编码语法标记和标识符之间的关系。我们还发现,与预训练模型相比,微调模型对这些关系的编码较差。此外,拥有数十亿参数的更大模型对代码信息的编码明显少于只有几亿参数的模型。

关键词

引用

@article{arxiv.2406.11930,
  title  = {A Critical Study of What Code-LLMs (Do Not) Learn},
  author = {Abhinav Anand and Shweta Verma and Krishna Narasimhan and Mira Mezini},
  journal= {arXiv preprint arXiv:2406.11930},
  year   = {2024}
}