探索预训练代码生成模型的代码理解能力
通过大量的代码数据进行编码表示学习,使用两阶段的预训练方案以及对比学习的方式增强表示,在各种下游任务上持续显著地超过现有的模型,详细讨论了源代码的自定义和有效的令牌级去噪方案、硬负样本与硬正样本的重要性、提出的双模态对比学习如何提升跨语义搜索性能以及预训练方案对模型规模决定下游任务性能的影响。
Feb, 2024
提出了一种名为 CodeT5 + 的编译器 - 解码器语言模型,具有灵活的组件模块和多样化的预训练任务,能够在不同的代码相关基准测试中取得最先进的结果,特别是在针对人类评估的代码生成任务中。
May, 2023
CodeT5 是一个基于编码器 - 解码器的统一预训练 Transformer 模型,它充分利用了开发人员分配的标识符所传达的代码语义,通过支持代码理解和生成任务以及多任务学习等方面,显著优于先前的方法,并且在代码缺陷检测和克隆检测等理解任务以及 PL-NL,NL-PL 和 PL-PL 等不同方向的生成任务中表现出色。
Sep, 2021
CodeRL 使用预训练的语言模型和深度强化学习框架解决了程序合成中标准的有监督微调的一些局限,同时在 APPs 和 MBPP 基准测试中创造了新的 SOTA 结果。
Jul, 2022
本文介绍了 TransCoder,一种统一的用于代码表示学习的可转移微调策略,能够促进代码相关任务的卓越性能,并鼓励相互强化。
May, 2023
本研究探讨了预训练模型在代码处理中的广泛应用及其对识别语法结构、正确性、标识符、数据流和命名空间等方面的影响,并测试了使用给定目标进行预训练、模型大小变化以及微调的影响。
Feb, 2022
该论文提出了一种名为 DeCap 的简单框架来解决零 - shot 图片描述问题,通过引入轻量级的视觉感知语言解码器来满足对数据和计算效率的要求,并提出了一个训练 - free 机制来减少模态间差异。实验证明,DeCap 在典型的图像说明基准测试中表现优异。
Mar, 2023
本文提出了一种统一的跨模态预训练模型 UniXcoder,使用前缀适配器控制模型行为并使用语法树和代码注释等交叉模态内容来增强代码表示。同时,利用多模态内容进行对比学习以学习代码片段代表,并使用跨模态生成任务在编程语言之间进行表示的对齐。该模型在五个代码相关任务上取得了最先进的结果,而注释和 AST 可以增强该模型。
Mar, 2022
本研究探索预训练模型在软件工程任务中的应用,通过四项探测任务评估模型对代码特征信息的理解程度,发现不同预训练模型表现有差异,其中 BERT 表现出乎意料的优异,但还需要深入研究。
Aug, 2021