Meta 发布代码大模型 Code Llama:最高 70B 参数,支持 10 万 token 上下文
Meta 发布专为代码任务打造的开源大模型 Code Llama。该模型基于 Llama 2 在代码数据集上进一步训练,提供 7B 到 70B 等尺寸,支持最高 10 万 token 的上下文,并具备代码补全与调试能力。

Code Llama 是一个专为编写、补全和调试代码打造的开源大语言模型。你可以用自然语言让它写出具体的函数,也可以把一段现成的代码丢给它,让它帮你找出漏洞或解释逻辑。
这个模型基于通用大模型 Llama 2 进一步训练而来。Meta 在原本的基础上,给它喂了 5000 亿 token 的代码和技术文档数据,让它熟悉主流编程语言。它支持 Python、C++、Java、PHP、TypeScript、C# 和 Bash 等语言。
它能做什么
除了根据提示词直接写代码,Code Llama 针对开发流程做了不少专门设计。
Meta 为 7B 和 13B 版本训练了中间填充能力,也就是所谓的 FIM。这意味着它不仅能接在代码末尾往下写,还能根据前后的上下文,直接在现有代码中间插入缺失的部分,非常适合做实时代码补全。
另一个亮点是超长上下文。Llama 2 原版的上下文只有 4096 token,而 Code Llama 支持最高 10 万 token 的上下文输入。开发者可以直接把整个代码库或者一大段复杂的调用链喂进去,让模型结合全局逻辑来进行排错和重构。
Code Llama 还分化出了专门的细分版本。如果你主写 Python,可以用专门在 1000 亿 token Python 数据上额外微调的 Code Llama - Python 版本。如果你需要通过日常口语进行交互,推荐使用经过指令微调的 Code Llama - Instruct 版本。
规格与运行门槛
Code Llama 提供了 7B、13B、34B 以及后续更新的 70B 四种参数规模。
7B 和 13B 版本主打轻量和低延迟,其中 7B 版本可以直接跑在单张消费级 GPU 上。如果你的目标是搭建本地实时的编辑器补全插件,这两个小尺寸最合适。
34B 和 70B 版本则针对复杂的推理和高质量生成任务。70B 版本在 1 万亿 token 的数据集上进行了训练,代码生成质量更高。
在基准测试中,Code Llama 34B 在 HumanEval 上拿到了 53.7% 的分数,在 MBPP 上拿到了 56.2%。这个成绩不仅大幅超过了原版 Llama 2 和其他同类开源代码模型,也基本达到了 ChatGPT 的水平。
Code Llama 沿用了 Llama 2 的社区许可协议,学术研究和商业用途都可以免费使用,用户需要遵守其可接受使用政策。
为什么重要
对于个人开发者和中小团队来说,这是一个非常实用的本地工具。你不需要依赖 GitHub Copilot 这类付费商业服务,也不用担心自家的核心业务代码上传到云端产生泄露风险。
只要有一张普通显卡,你就可以在本地搭一套完全属于自己的代码助手。不过需要注意,基础版模型并不擅长理解普通的自然语言对话,拿它当日常聊天助手效果很差。想要用自然语言交流,必须选择 Instruct 版本。
在行业层面,Code Llama 把开源代码模型的能力拉到了接近顶尖商业模型的水平。它降低了整个开发工具生态的门槛,接下来基于它打造的本地 IDE 插件和自动化测试工具,会给闭源商业产品带来相当大的竞争压力。
来源 (3)
- ai.meta.com(在新标签页打开)原文ai.meta.com
- siliconangle.com(在新标签页打开)报道siliconangle.com
- theverge.com(在新标签页打开)报道theverge.com