计算机能够自主生成程序这一理念具有极其重要的意义,目前已有众多研究人员致力于攻克这一挑战。代码生成被定义为根据自然语言需求自动生成可直接在计算机上运行的可执行代码的过程。这一课题极具吸引力,可能帮助开发者快速掌握新的软件技术或编程语言,也可作为一种通过自然语言描述来辅助编码的技术手段。本文提出了一种名为MarianCG的代码生成Transformer模型,旨在解决从自然语言描述生成Python代码的挑战。该模型基于Marian神经机器翻译(NMT)框架构建,而MarianNMT正是微软翻译(Microsoft Translator)的核心模型,也是本研究中自然语言到代码(NL-to-Code)翻译引擎的基础,构成了教学模型的核心。在本研究中,MarianMT作为教师语言模型,是当前最成功的机器翻译Transformer之一。在方法设计上,我们采用正弦位置嵌入(sinusoidal positional embedding)技术来表示文本中每个标记(token)的位置信息,同时未使用层归一化(layer normalization)嵌入。MarianCG的代码生成方法基于对预训练机器翻译语言模型的微调,从而验证了预训练的翻译模型同样可以有效应用于代码生成任务。实验结果表明,该模型在CoNaLa和DJANGO两个数据集上训练后,性能优于近期多个最先进的代码生成模型。在CoNaLa数据集上,MarianCG模型取得了34.43的BLEU分数和10.2%的精确匹配准确率;在DJANGO数据集上,其BLEU分数达到90.41,精确匹配准确率高达81.83%。MarianCG模型及相关资源已公开,可通过以下链接获取:https://www.github.com/AhmedSSoliman/MarianCG-NL-to-Code。