中文

LongCoder:一种用于代码补全的长程预训练语言模型

软件工程 2023-06-27 v1 人工智能 计算与语言 机器学习

摘要

本文引入一项聚焦于处理长代码输入的代码补全新任务,并提出一种称为 LongCoder 的稀疏 Transformer 模型来解决该任务。LongCoder 采用滑动窗口机制进行自注意力,并引入两类全局可访问令牌——桥接令牌与记忆令牌——以提升性能与效率。桥接令牌插入于输入序列各处以聚合局部信息并促进全局交互,而记忆令牌用于突出可能稍后被调用且需记忆的重要语句,例如包导入以及类、函数或结构的定义。我们在一个新构建的包含更长代码上下文的数据集及公开可用的 CodeXGLUE 基准上开展实验。实验结果表明,LongCoder 在代码补全任务上相较先前模型取得更优性能,同时在推理期间计算资源方面保持可比效率。所有代码与数据可见于 https://github.com/microsoft/CodeBERT。

关键词

引用

@article{arxiv.2306.14893,
  title  = {LongCoder: A Long-Range Pre-trained Language Model for Code Completion},
  author = {Daya Guo and Canwen Xu and Nan Duan and Jian Yin and Julian McAuley},
  journal= {arXiv preprint arXiv:2306.14893},
  year   = {2023}
}

备注

ICML 2023