Meta释出拥有700亿参数的Code Llama,为目前最佳开源程式码生成模型

Meta新释出程式码生成模型

Meta在去年8月的时候,运用自家可商用大型语言模型Llama 2为基础,开发出程式码编写专用语言模型Code Llama。Code Llama相较于Llama 2,使用了更多程式码资料集训练,具有更强的程式码编写能力,能够根据开发者自然语言提示,生成程式码或是软体开发相关的自然语言回应。

Code Llama支援多种开发者常用程式语言,包括Python、C++、Java、PHP、Typescript、C#和Bash,而且针对在人工智慧领域日益重要的Python,微调出Python开发专用Code Llama-Python模型。

Code Llama现在总共有4种大小,除了先前所发布的有70亿、130亿和340亿参数之外,新释出的Code Llama 70B模型则有700亿参数,使用1兆Token训练而成,相较于之前较小的模型使用5,000亿Token训练,足足增加了1倍。而Code Llama 70B模型同样有3种版本,分别是基础程式码模型CodeLlama-70B,以及为Python特制的CodeLlama-70B-Python,还有针对自然语言指令微调的Code Llama-70B-Instruct。

根据Meta所更新的HumanEval Pass@1指标分数,Code Llama-70B-Instruct分数为67.8%,不只远超过之前Code Llama-34B-Instruct的41.5%,也是目前开源模型中的最佳表现,甚至超过当初GPT-4的67.0%。

HumanEval Pass@1是专门用于评估程式码生成模型的效能,而Pass@1是指在模型不进行任何重试的情况下,第一次尝试就成功解决问题的机率。在对程式码生成模型进行测试时,研究人员会提供一系列程式开发问题给模型,针对每个问题,模型只有一次机会生成解决方案,而模型所生成的解决方案,会经过一连串单元测试确认其正确性。因此Pass@1是一个重要指标,代表模型没有多次尝试或是人工干预的情况下解决问题的能力。

针对Code Llama 70B模型的发布,