文章主题:开源, 大模型, 编程版本, Code Llama
在成功推出开源可商用的大模型Llama 2之后,Meta近日正式发布了该模型的编程版本Code Llama。这一举措有效地弥补了 Codebase 在过去代码任务中的不足表现,从而在一定程度上缩小了与闭源 GPT 模型的差距。此外,Code Llama 的测试效果甚至达到了 GPT-4 的水平,显示出其在性能上的显著提升。
在我国知名的编程工具提供商Code Llama发布其最新版本的两天前,全球知名的人工智能研究机构OpenAI推出了其最新的GPT-3.5模型,并提供了微调功能,使得开发者和企业能够根据自身的需求来定制适合自己的模型。这一举动,无疑是对目前开源和闭源领域中影响力最大、实力最强的两个大模型的挑战,甚至可以说,这已经引发了两者之间的一定程度的竞争,甚至有一些紧张的气氛。
编程作为大型语言模型最主要的应用方向之一,同时也是当今众多科技产品和服务的核心要素,对于提升其性能和改善用户体验具有关键作用。
在本篇中,我们将探讨的是Code Llama,这款产品是在Llama 2的基础上,通过特定的代码数据集进行深入训练而诞生的一款强大工具。其功能强大的原因在于它能够同时支持C、Java、Python、PHP、Typescript(即JavaScript)以及C等多种编程语言,这使得Code Llama的使用范围变得极为广泛。
Code Llama是一款极具实用性的工具,对于编程领域的专家和初学者来说,它的价值不可忽视。无论用户是运用专业的编程语言,还是选择更为通俗易懂的普通话来阐述编程需求,Code Llama都能轻松理解,并精准地生成相应的代码,甚至提供相关解释。这一特性极大地降低了编程的开发难度和效率,从而提高了工作效率,降低了开发成本。
多版本模型覆盖更多特定场景需求
在Meta的论述中,我们发现了Code Llama的三种版本,分别对应7B、13B和34B这三个参数设定。这三种版本可以满足各种不同的服务需求和延迟要求。值得注意的是,每一个版本都经过了严谨的训练,其中使用的训练数据量高达500B,这充分体现了其对优化性能的执着追求。
图源:Meta
最小的7B参数模型可以在单个GPU上运行,响应速度快,适用于需要低延迟的任务。但相比更大的模型,在代码生成或理解方面不够精确。最大的34B模型能提供最佳的编码辅助,在复杂的编程任务中表现最好。但需要更多的计算资源,延迟也可能更高。中等规模的13B 参数模型在性能和延迟之间提供了一个平衡点。另外,7B和13B的模型经过了中间填充(fill-in-the-middle,FIM)功能的训练,能够理解如何在一段现有的代码中添加新代码,可以直接用于自动代码补全等任务,无需额外的设置或训练。
Code Llama支持一次性理解并记住最多10万token的上下文,强大的文本处理能力对于处理大型代码库或长篇文章都非常有用。比如,当开发者需要处理大量代码时,可以将整个代码片段一次性“喂”给Code Llama。
值得一提的是,为了满足更多特定需求,Meta还进一步针对Python和自然语言指令微调了两个Code Llama的变体,分别称作Code Llama-Python和Code Llama-Instruct。
Python是目前最受欢迎的编程语言之一,在多个领域有着广泛应用,特别是在数据科学、机器学习等领域。一个专门针对Python的模型能更准确地生成和理解Python代码,提高模型在处理相关任务时的性能。
另一个子版本Code Llama-Instruct更注重理解自然语言指令,非常适合那些不是很熟悉编程但又有这方面需求的用户。这个版本更容易理解用自然语言给出的指令,也就是更适合非专业用户,除了可以用于代码生成,也能胜任其他与代码相关的自然语言处理任务,如代码注释或文档生成。
通过提供更多垂直的子版本,Code Llama模型能够覆盖更广泛的用例和人群,满足不同场景下的特定需求,更容易获得竞争优势。
不过,Meta也有在博文中说明,由于Code Llama更专注于代码任务,因此并不适合作为聊天或写文章等日常语言任务的基础模型,它主要是为了帮助人们编程或处理代码问题而设计的。
性能和安全性双领先
而有关Code Llama的具体性能,在多个代码基准测试中,Code Llama达到了开源模型中最先进的性能。Code Llama所有模型在MultiPL-E上都优于其他公开可用的模型。34B参数版本在HumanEval上得分为53.7%,在MBPP上得分56.2%,这与ChatGPT(GPT 3.5)相当,优于其他所有开放解决方案。
图源:相关论文截图
在安全性上,Meta采取了许多措施,为做评估,研究者特意用一些指令请求恶意代码,测试Code Llama是否会生成不好的输出。并对比ChatGPT做了同样的测试。结果显示,Code Llama更不容易生成有问题或者有害的代码。
Meta还发表了一篇详细介绍Code Llama的论文(题为Code Llama: Open Foundation Models for Code),披露了Code Llama开发的细节以及如何进行基准测试等信息。
值得一提的是,在Meta发布的论文中出现一个名为“Unnatural Code Llama”的模型(见上图),各项评分都非常之高,但该模型只在论文中一闪而过,Meta并未提及,或许后续Code Llama会迎来进一步增强。
AI时代,拥有个人微信机器人AI助手!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!