AST-T5: Structure-Aware Pretraining for Code Generation and Understanding

2024年01月05日
  • 简介
    大型语言模型(LLMs)在代码相关任务中取得了显著进展,然而许多LLMs将代码视为简单的序列,忽略了其结构化特性。我们引入了AST-T5,一种新颖的预训练范式,利用抽象语法树(AST)增强代码生成、转译和理解能力。使用动态规划,我们的AST-Aware分割保留了代码结构,而我们的AST-Aware跨度破坏目标使模型能够重构各种代码结构。与其他模型不同,AST-T5避免了复杂的程序分析或架构更改,因此它可以与任何编码器-解码器Transformer无缝集成。评估显示,AST-T5在各种与代码相关的任务中始终优于类似大小的LLMs。结构感知使AST-T5在代码到代码的任务中特别强大,在Bugs2Fix任务的精确匹配得分方面超过CodeT5 2分,在CodeXGLUE的Java-C#转译中超过3分的精确匹配得分。我们的代码和模型公开可用于https://github.com/gonglinyuan/ast_t5。
  • 图表
  • 解决问题
    本篇论文旨在解决代码序列的结构化表示问题,提出了一种基于抽象语法树(AST)的预训练模型AST-T5,用于增强代码生成、转换和理解的能力。
  • 关键思路
    AST-T5利用动态规划实现AST感知分段和AST感知跨度损坏两个目标,以保留代码结构并使模型能够重构各种代码结构。与其他模型不同,AST-T5无需复杂的程序分析或架构更改,因此可以与任何编码器-解码器Transformer无缝集成。
  • 其它亮点
    AST-T5在各种代码相关任务中始终优于类似大小的语言模型,特别是在代码到代码的任务中表现出色。在Bugs2Fix任务中,AST-T5的精确匹配得分比CodeT5高2分,在Java-C#转换任务中,精确匹配得分比CodeXGLUE高3分。论文提供了代码和模型的公开资源。
  • 相关研究
    最近的相关研究包括CodeBERT、CodeT5等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论