中文

AST-T5:面向代码生成与理解的结构感知预训练

软件工程 2024-06-25 v4 计算与语言 机器学习

摘要

大型语言模型在代码相关任务中取得了显著进展,但许多 LLM 将代码视为简单序列,忽略了其结构化特性。我们引入了 AST-T5,这是一种新颖的预训练范式,利用抽象语法树(AST)来增强代码生成、转译和理解。使用动态规划,我们的 AST 感知分割保留了代码结构,而我们的 AST 感知跨度损坏目标使模型具备重构各种代码结构的能力。与其他模型不同,AST-T5 避免了复杂的程序分析或架构更改,因此可以无缝集成到任何编码器-解码器 Transformer 中。评估表明,AST-T5 在各种代码相关任务中始终优于同等规模的语言模型。结构感知使 AST-T5 在代码到代码任务中表现尤为出色,在 CodeXGLUE 的 Bugs2Fix 任务中精确匹配得分超越 CodeT5 2 个百分点,在 Java-C# 转译任务中超越 3 个百分点。我们的代码和模型已在 https://github.com/gonglinyuan/ast_t5 公开。

关键词

引用

@article{arxiv.2401.03003,
  title  = {AST-T5: Structure-Aware Pretraining for Code Generation and Understanding},
  author = {Linyuan Gong and Mostafa Elhoushi and Alvin Cheung},
  journal= {arXiv preprint arXiv:2401.03003},
  year   = {2024}
}

备注

15 pages; ICML 2024: https://icml.cc/virtual/2024/poster/33601