新的对话式语言模型CodeGen可以将自然语言转换成可执行代码!

标签:代码生成模型,生成模型,自然语言处理 时间:2022-07-01 21:35:56.745 发布者:小木

论文名:A Conversational Paradigm for Program Synthesis
发布时间:2022年3月
论文地址:https://arxiv.org/abs/2203.13474
代码地址:https://github.com/salesforce/CodeGen

原文摘要:程序合成的目的是生成一个计算机程序作为给定问题规格的解决方案。我们提出了一种通过大型语言模型的对话式程序合成方法,该方法解决了之前的方法所面临的在巨大的程序空间和用户意图规范上进行搜索的挑战。我们的新方法将编写规范和程序的过程描述为用户和系统之间的多轮对话。它将程序合成视为一个序列预测问题,其中规范是用自然语言表达的,所需的程序是有条件采样的。我们在自然语言和编程语言数据上训练一个大型语言模型系列,称为CodeGen。随着数据中的弱监督以及数据规模和模型规模的扩大,对话能力从简单的自回归语言建模中出现。为了研究对话式程序合成的模型行为,我们开发了一个多轮编程基准(MTPB),其中解决每个问题需要通过用户和模型之间的多轮对话进行多步骤合成。我们的发现显示了对话能力的出现和所提出的对话式程序合成范式的有效性。此外,我们的模型CodeGen(在TPU-v4上训练了多达16B的参数)在HumanEval基准上超过了OpenAI的Codex。我们将包括检查点在内的训练库JaxFormer作为开放源码贡献出来:这个https URL。