机器之心报道
编辑:杜伟、陈萍
GPT-4:在代码生成这块,你们依然是「弟弟」。
今日,Meta 的开源 Llama 模型家族迎来了一位新成员 —— 专攻代码生成的基础模型 Code Llama。
作为 Llama 2 的代码专用版本,Code Llama 基于特定的代码数据集在其上进一步微调训练而成。
Meta 表示,Code Llama 的开源协议与 Llama 2 一样,免费用于研究以及商用目的。
这个特殊版本引起了很多人的注意,其中就有特斯拉前 AI 总监、回归 OpenAI 的 Andrej Karpathy。
文中虽然提到它是「在 15000 个 unnatural 指令上微调的 Code Llama-Python 34B 版本」,但 Karpathy 仍然对这个「神秘的名称、模糊的描述、碾压其他的保密模型」感到很好奇。
值得一提的是,Meta 更进一步微调了 Code Llama 的两个附加变体:Code Llama - Python 和 Code Llama - Instruct。
Code Llama-Python 是 Code Llama 的一种变体,其在 Python 代码的 100B token 上进一步微调。下表为 Code Llama-Python 的训练数据集。
Code Llama - Instruct 是 Code Llama 的指令微调和对齐变体,能够更好地理解输入提示。Meta 建议在使用 Code Llama 进行代码生成时使用 Code Llama - Instruct 变体,因为 Code Llama - Instruct 已经过微调,可以用自然语言生成有用且安全的答案。
Meta 表示,他们不建议使用 Code Llama 或 Code Llama - Python 执行一般的自然语言任务,因为这两个模型都不是为遵循自然语言指令而设计的。Code Llama 专门用于特定于代码的任务,不适合作为其他任务的基础模型。
使用 Code Llama 模型时,用户必须遵守许可和使用政策。
Code Llama 性能如何
Meta 使用了 HumanEval 和 MBPP(Mostly Basic Python Programming)两个编码基准进行测试。其中,HumanEval 测试模型基于文档字符串(docstrings)完成代码的能力,MBPP 测试模型基于描述编写代码的能力。
结果表明,Code Llama 的性能优于开源、特定于代码任务的 LLM,并且优于自家 Llama 2。例如,Code Llama 34B 在 HumanEval 上得分为 53.7%,在 MBPP 上得分为 56.2%,与其他最先进的开源解决方案相比是最好的,与 ChatGPT 相当。
不过,Code Llama 也存在风险,Meta 表示构建负责任地 AI 模型至关重要,他们在发布 Code Llama 之前采取了许多安全措施。作为红队测试工作的一部分,Meta 对 Code Llama 生成恶意代码的风险进行了定量评估。他们创建了一些提示,以试图让模型生成恶意代码,并将 Code Llama 对这些提示的响应与 ChatGPT (GPT3.5 Turbo) 进行比较。结果发现,Code Llama 的回答更安全。
由此看来,编码能力不是特别强的 Llama 2,这个坑已被 Code Llama 填上了。Meta 希望 Code Llama 的出现能够激励其他研究者基于 Llama 2 为研究和商业产品创建新的创新工具。
参考链接:
https://ai.meta.com/blog/code-llama-large-language-model-coding/
相关文章
猜你喜欢