17611538698
webmaster@21cto.com

对标Copilot,Meta 发布 Code Llama LLM 用于自动化编程

资讯 0 743 2023-08-28 10:36:31
导读:Code Llma 是 Meta Llma 2大语言模型的专门版本,用来生成软件源代码,已针对生成代码和代码注释进行微调。

图片

作为 Llama 2( 7 月发布)的扩展,经过源代码数据集的专门训练,Meta 又推出一款人工智能的编程工具,名唤『Code Llma』。

Code Llama是一种大型语言模型 (LLM),可以使用文本提示生成代码,是Llama 2的编码专用版本。

Code Llama 是通过对特定于代码的数据集进行进一步训练而构建的,在更长的时间内从同一数据集中采样更多数据。Code Llama 可以根据代码和自然语言提示生成代码和有关代码的自然语言(文档),比如“给我写一个输出斐波那契序列的函数”。该工具还可用于代码完成和调试。支持的编程语言包括 Python、C++、Java、PHP、TypeScript、JavaScript、C# 和 Bash。

Meta称:“Code Llama 有潜力被用作生产力和教育工具,帮助程序员编写更强大、文档更齐全的软件。”

Meta 还称,Code Llama 在两个基准测试( HumanEval和最基础的 Python 编程 ( MBPP ))上优于开源、代码特定的 Llama 及 Llama 2,与 OpenAI 的 ChatGPT 性能相匹配。

Code Llama 可以处理多达 100,000 个上下文标记(单词片段),这意味着它可以评估更长的程序。相比之下,OpenAI的ChatGPT 通常只能处理大约 4,000-8,000 个令牌,但可以通过 OpenAI 的 API 获得更长的上下文模型。

Meta从技术角度解释称:

除了是生成更长程序的先决条件外,拥有更长的输入序列还可以为代码LLM解锁令人兴奋的新鲜用例。例如,用户可以为模型提供来自其代码库的更多上下文,以使代码更为相关。它还有助于在较大的代码库中调试场景,在这种情况下,掌握与具体问题相关的所有代码对于开发人员来说可能是一项挑战。当开发人员面临调试大量代码时,他们可以将整个代码长度传递到模型中,帮助自己解决问题。

Code Llama 可免费用于研究和商业用途。目前已经发布了3种风格,分别具有 7B、13B 和 34B 参数。每个模型都使用 500B 代码令牌和代码相关数据进行训练。7B 和 13B 基础模型和指令模型已经过中间填充 (FIM) 功能的训练,可以将生成代码插入到现有代码中,支持开箱即用的代码完成等任务。

这三种模型可满足不同的服务与延迟要求,例如,7B 模型在单个 GPU 上提供服务,而 34B 模型可返回最佳结果并提供更好的编码帮助。Meta 对该工具的另外两个变体:Code Llama – Python 在 Python 代码的 100B 标记上进行了进一步微调,Code Llama – Instruct 进行了微调,用以理解自然语言指令。

“该模型用于自然语言指令输入和可预期输出。这使得它能够更好地理解人们对提示的期望。我们建议在使用 Code Llama 进行代码生成时使用 Code Llama – Instruct 变体,因为 Code Llama – Instruct 已经经过微调,可以用自然语言生成有用且安全的答案。”

值得一提的是,Meta的社区版许可证允许各种Llma的商业用途,但每月不能超过7亿用户。

开发者可以从Meta AI 官网访问 Code Llama:

https://ai.meta.com/resources/models-and-libraries/llama-downloads

评论