- 简介大型语言模型(LLMs)在代码相关任务方面取得了显著进展,但许多LLMs将代码视为简单的序列,忽略了其结构化特性。我们介绍了AST-T5,一种新颖的预训练范式,利用抽象语法树(AST)增强代码生成、转译和理解。使用动态规划,我们的AST-Aware分割保留了代码结构,而我们的AST-Aware Span Corruption目标使模型能够重构各种代码结构。与其他模型不同,AST-T5避免了复杂的程序分析或架构更改,因此它可以与任何编码器-解码器Transformer无缝集成。评估结果表明,AST-T5在各种代码相关任务中始终优于相似大小的LLMs。结构感知使AST-T5在代码到代码任务中特别强大,在Bugs2Fix任务的精确匹配得分方面超过CodeT5 2分,在CodeXGLUE的Java-C#转译中超过CodeT5 3分。我们的代码和模型可在https://github.com/gonglinyuan/ast_t5上公开获取。
- 图表
- 解决问题论文旨在提高代码生成、转换和理解的能力,通过利用抽象语法树(AST)的结构性质,提出了AST-T5预训练范式。这是否是一个新问题?
- 关键思路AST-T5利用动态规划实现AST感知分割,保留代码结构,同时通过AST感知跨度破坏目标,使模型能够重构各种代码结构。相比于其他模型,AST-T5不需要复杂的程序分析或架构更改,因此可以与任何编码器-解码器Transformer无缝集成。AST-T5的结构感知性使其在代码到代码的任务中特别强大,在Bugs2Fix任务的精确匹配得分上超过CodeT5 2分,在CodeXGLUE的Java-C#转换中的精确匹配得分上超过CodeT5 3分。
- 其它亮点论文的亮点包括:1)提出了AST-T5预训练范式,利用AST的结构性质提高代码生成、转换和理解的能力;2)通过动态规划实现AST感知分割和AST感知跨度破坏目标,使模型能够重构各种代码结构;3)AST-T5不需要复杂的程序分析或架构更改,可以与任何编码器-解码器Transformer无缝集成;4)在各种代码相关任务中,AST-T5始终优于类似大小的LLMs;5)在代码到代码的任务中,AST-T5的结构感知性使其在精确匹配得分上超过CodeT5。
- 最近在这个领域中的相关研究包括:1)CodeBERT:利用编码器-解码器Transformer进行代码表示学习和代码生成;2)CodeT5:利用T5模型进行代码生成和理解;3)GraphCodeBERT:利用掩码语言模型和图神经网络进行代码表示学习;4)CodeTrans:利用多任务学习和注意力机制进行代码转换。
沙发等你来抢
去评论
评论
沙发等你来抢