Code Llama: Open Foundation Models for Code

解决问题:该论文旨在推出一系列大型语言模型,称为Code Llama,用于处理代码相关的任务。这些模型提供了填充能力、支持大输入上下文以及零-shot指令跟踪能力。作者试图解决的问题是提高代码相关任务的自动化水平。相比之前的研究,该论文提供了更大、更强大的模型,以及更好的性能。

关键思路:该论文的关键思路是创建Code Llama家族的大型语言模型,这些模型可以处理各种代码相关任务。作者使用了16k令牌序列进行训练,并提供了多种变体,以覆盖各种应用场景。这些模型的亮点在于其支持填充能力、大输入上下文和零-shot指令跟踪能力,以及在多个代码基准测试中取得了最先进的表现。

其他亮点:该论文的实验设计非常详细,使用了多个数据集进行测试,并提供了开源代码。作者提供了三个不同的模型变体,包括Code Llama、Code Llama - Python和Code Llama - Instruct,以覆盖不同的应用场景。此外,该论文提供的模型在多个代码基准测试中表现优异,可用于进一步的研究和开发。

相关研究:近期其他相关的研究包括:

  • "CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing",作者:KZhang等,机构:Microsoft Research Asia。
  • "The Three Musketeers: A Unified Language Model for Code Summarization",作者:JLin等,机构:University of Illinois at Urbana-Champaign。
  • "CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation",作者:DGuo等,机构:Tsinghua University。

论文摘要:我们发布了Code Llama,一系列基于Llama 2的大型代码语言模型,提供了开放模型中的最先进性能、填充能力、支持大输入上下文以及零-shot指令跟踪能力,以解决编程任务。我们提供多种不同的版本以覆盖广泛的应用场景:基础模型(Code Llama)、Python专业化模型(Code Llama - Python)以及指令跟踪模型(Code Llama - Instruct),每个模型的参数分别为7B、13B和34B。所有模型都是基于16k个标记的序列进行训练,可以在最多100k个标记的输入上显示出改进。7B和13B的Code Llama和Code Llama - Instruct变体支持基于周围内容的填充。Code Llama在几个代码基准测试中达到了开放模型的最先进性能,其中HumanEval和MBPP的得分分别达到了53%和55%。值得注意的是,Code Llama - Python 7B在HumanEval和MBPP上的表现优于Llama 2 70B,并且我们的所有模型都优于MultiPL-E上的其他公开可用模型。我们以宽松的许可证发布Code Llama,允许进行研究和商业使用。

内容中包含的图片若涉及版权问题,请及时与我们联系删除