CodeFort: Robust Training for Code Generation Models

2024年04月11日
  • 简介
    代码生成模型对于微小扰动不够稳健,这经常导致生成结果不一致和错误,严重降低了这些模型的性能。提高代码生成模型的稳健性对于在真实世界应用中部署这些模型以提供更好的用户体验至关重要。然而,现有的工作并没有解决代码生成模型的这个问题。为了填补这个空白,我们提出了CodeFort,这是一个框架,旨在提高代码生成模型的稳健性,将各种代码扰动泛化为训练数据,从而实现各种稳健的训练策略,包括混合数据增强、批量增强、对抗性logits配对和对比学习,这些策略都经过精心设计以支持高吞吐量训练。广泛的评估表明,我们将基线CodeGen模型的平均稳健通过率从14.79提高到21.74。值得注意的是,对于代码语法扰动的稳健性改进表现为通过率下降从95.04%降至53.35%的显著减少。
  • 图表
  • 解决问题
    提高代码生成模型的鲁棒性,以避免小扰动导致错误的生成结果
  • 关键思路
    使用CodeFort框架进行数据增强和多种鲁棒训练策略,包括批量增强、对抗性logits配对和对比学习,从而提高代码生成模型的鲁棒性
  • 其它亮点
    实验结果表明,CodeFort框架将基准CodeGen模型的平均鲁棒通过率从14.79提高到21.74,特别是在代码语法扰动方面的鲁棒性显著提高,通过率下降从95.04%降至53.35%
  • 相关研究
    近期的相关研究主要集中在代码生成模型的优化和改进上,如GAN、强化学习等。其中一些论文包括《Improving Code Generation with a Hybrid of GANs and PBMT》、《Deep Reinforcement Learning for Code Generation》等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论