🚀 Code Llama
Code Llama是一系列预训练和微调的生成式文本模型,参数规模从70亿到340亿不等。本仓库是采用Hugging Face Transformers格式的130亿参数指令微调版本。该模型专为通用代码合成和理解而设计。其他模型的链接可在底部索引中找到。
🚀 快速开始
若要使用此模型,请确保安装transformers
:
pip install transformers.git accelerate
模型能力:
- [x] 代码补全。
- [x] 代码填充。
- [x] 指令响应 / 聊天。
- [ ] Python专业处理。
✨ 主要特性
模型开发者
Meta
模型变体
Code Llama有三种模型大小和三种变体:
- Code Llama:基础模型,用于通用代码合成和理解。
- Code Llama - Python:专门为Python设计。
- Code Llama - Instruct:用于遵循指令和更安全的部署。
所有变体都有70亿、130亿和340亿参数的版本。
本仓库模型
本仓库包含130亿参数的指令微调版本模型。
输入输出
- 输入:模型仅接受文本输入。
- 输出:模型仅生成文本。
模型架构
Code Llama是一个自回归语言模型,采用了优化的Transformer架构。
模型训练时间
Code Llama及其变体于2023年1月至2023年7月期间进行训练。
模型状态
这是一个基于离线数据集训练的静态模型。随着我们根据社区反馈改进模型安全性,未来将发布Code Llama - Instruct的更新版本。
许可证
自定义商业许可证可在以下链接获取:https://ai.meta.com/resources/models-and-libraries/llama-downloads/
研究论文
更多信息可在论文“Code Llama: Open Foundation Models for Code”或其arXiv页面中找到。
📚 详细文档
预期用途
预期用例
Code Llama及其变体旨在用于英语和相关编程语言的商业和研究用途。基础模型Code Llama可用于各种代码合成和理解任务,Code Llama - Python专门处理Python编程语言,而Code Llama - Instruct旨在更安全地用于代码助手和生成应用程序。
非预期用途
- 以任何违反适用法律法规(包括贸易合规法律)的方式使用。
- 使用英语以外的语言。
- 以Code Llama及其变体的可接受使用政策和许可协议禁止的任何其他方式使用。
硬件和软件
训练因素
我们使用了自定义训练库。发布的模型的训练和微调是在Meta的研究超级集群上进行的。
碳足迹
总体而言,训练所有9个Code Llama模型需要在A100 - 80GB(热设计功耗350 - 400W)硬件上进行400,000 GPU小时的计算。估计总排放量为65.3吨二氧化碳当量,其中100%由Meta的可持续发展计划抵消。
训练数据
此处报告的所有实验和发布的模型都是使用与Llama 2相同的数据进行训练和微调的,但权重不同(详情请参阅研究论文的第2节和表1)。
评估结果
请参阅研究论文第3节中主要模型的评估和详细消融实验,以及第4节中的安全评估。
伦理考量和局限性
Code Llama及其变体是一项新技术,使用时存在风险。到目前为止进行的测试都是用英语进行的,无法涵盖所有场景。因此,与所有大语言模型一样,Code Llama的潜在输出无法提前预测,在某些情况下,模型可能会对用户提示产生不准确或令人反感的响应。因此,在部署Code Llama的任何应用程序之前,开发人员应针对其特定的模型应用进行安全测试和调整。
请参阅负责任使用指南。
📄 许可证
自定义商业许可证可在以下链接获取:https://ai.meta.com/resources/models-and-libraries/llama-downloads/
模型变体表格
属性 |
详情 |
模型类型 |
Code Llama有基础版、Python版和指令版三种变体,参数规模有70亿、130亿和340亿三种 |
训练数据 |
与Llama 2使用相同数据,但权重不同 |
模型链接表格
⚠️ 重要提示
这是非官方的Code Llama仓库。你可以在Meta Llama组织中找到官方的Meta仓库。