GALLa: Graph Aligned Large Language Models for Improved Source Code Understanding

2024年09月06日
  • 简介
    编程语言具有丰富的语义信息,如由图形表示的数据流,而这些信息并不在源代码的表面形式中。最近的代码语言模型已经扩展到数十亿个参数,但是仅将源代码模型化为文本标记,而忽略了任何其他结构信息。相反,对编码代码的结构信息进行编码的模型对Transformer架构进行了修改,限制了它们的规模和与预训练LLM的兼容性。在这项工作中,我们通过GALLa-Graph Aligned Large Language Model兼顾两者的优点。GALLa利用图神经网络和跨模态对齐技术,在微调期间将代码的结构信息作为辅助任务注入到LLMs中。该框架既不依赖于特定的模型,也不依赖于特定的任务,因此可以应用于任何代码LLM以及任何代码下游任务,并且只需要在训练时从与微调数据无关的语料库中获取结构图数据,而在基线LLM上不会产生推理时间上的额外成本。在五个代码任务上进行的实验,使用了大小从350M到8B的四个不同基线LLM,验证了GALLa的有效性,即使对于像LLaMA3这样强大的模型,也能持续改进。
  • 图表
  • 解决问题
    GALLa试图将代码的结构信息注入到大型语言模型中,以提高代码下游任务的性能。
  • 关键思路
    GALLa使用图神经网络和跨模态对齐技术作为辅助任务,将代码的结构信息作为输入注入到预训练的大型语言模型中,从而提高代码下游任务的性能。
  • 其它亮点
    GALLa是一个模型无关且任务无关的框架,可以应用于任何代码下游任务和任何代码语言模型。在五个代码任务上进行的实验验证了GALLa的有效性,并且即使对于像LLaMA3这样的强大模型,也能够提高性能。
  • 相关研究
    最近的相关研究包括CodeBERT、GraphCodeBERT和CodeXGLUE等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论