UniCoder: Scaling Code Large Language Model via Universal Code

2024年06月24日
  • 简介
    中间推理或操作步骤已成功改进了大型语言模型(LLMs)以处理各种下游自然语言处理(NLP)任务。在将LLMs应用于代码生成时,最近的研究主要集中在指导模型表达中间自然语言推理步骤,例如链式思考(CoT)提示,然后输出具有自然语言或其他结构化中间步骤的代码。然而,这样的输出并不适用于代码翻译或生成任务,因为标准CoT与代码具有不同的逻辑结构和表达形式。在这项工作中,我们引入了通用代码(UniCode)作为中间表示。它是使用编程语言的一些约定(例如赋值运算符、条件运算符和循环)的算法步骤描述。因此,我们收集了一个指令数据集UniCoder-Instruct,以训练我们的模型UniCoder,该数据集包括自然语言问题、代码解决方案和相应的通用代码。中间通用代码表示与最终代码解决方案之间的对齐显著提高了生成代码的质量。实验结果表明,具有通用代码的UniCoder明显优于以前的提示方法,展示了伪代码中结构线索的有效性。
  • 作者讲解
  • 图表
  • 解决问题
    本论文旨在解决使用大型语言模型生成代码时的中间表示问题,提出了一种名为UniCode的通用代码中间表示,并设计了相应的模型UniCoder。
  • 关键思路
    UniCode是一种基于编程语言约定的通用代码中间表示,通过将自然语言问题、代码解决方案和对应的UniCode对齐来生成代码,相比之前的方法在生成代码质量上有了显著提高。
  • 其它亮点
    论文提出了一种新的通用代码中间表示UniCode,并设计了相应的模型UniCoder,使用UniCoder-Instruct数据集进行训练和评估。实验结果表明,UniCoder在生成代码任务上的性能显著优于之前的方法。论文还探讨了使用UniCode进行代码自动补全和代码翻译的可能性。
  • 相关研究
    在相关研究方面,最近有一些研究也探讨了使用大型语言模型生成代码的问题,如CodeBERT、GPT-Code等。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问