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