Key points are not available for this paper at this time.
代码理解和生成迅速成为语言模型(LMs)最受欢迎的应用之一。尽管如此,关于代码语言模型(即用于代码生成的LM)多语言方面的研究(例如,不同编程语言之间的跨语言迁移、特定语言数据增强以及后期LM适应),以及利用原始文本内容以外的数据源的研究,相较于自然语言模型的研究还要少得多。特别是,大多数主流的代码LM仅在源代码文件上进行了预训练。在这项工作中,我们探讨利用现成的编译器中间表示(在编程语言之间共享)来提高代码LM的多语言能力并促进跨语言迁移的前景。为此,我们首先编译了SLTrans,这是一个包含近400万个自包含源代码文件及其相应中间表示的平行数据集。接下来,从多个基础代码LM开始(参数范围从11亿到73亿),我们在SLTrans上进行了持续的因果语言建模训练,迫使代码LM(1)学习IR语言,并(2)将IR构造与各种编程语言的相应构造对齐。我们最终的模型,称为IRCoder,在各种代码生成任务和指标中表现出显著而一致的提升,包括提示鲁棒性、多语言代码补全、代码理解和指令跟随。
Paul等人(周三)研究了这个问题。