🚀 Code Llama
Code Llama是一系列预训练和微调的生成式文本模型,参数规模从70亿到340亿不等。本仓库是Hugging Face Transformers格式下70亿参数Python专业版本的模型。该模型专为通用代码合成和理解而设计。其他模型的链接可在底部索引中找到。
🚀 快速开始
若要使用此模型,请确保安装transformers:
pip install transformers accelerate
✨ 主要特性
- 代码补全:支持代码补全功能。
- Python专业:专门针对Python语言进行优化。
📚 详细文档
模型详情
- 注意:使用此模型需遵循Meta的许可协议。Meta开发并公开发布了Code Llama系列大语言模型(LLM)。
- 模型开发者:Meta
- 模型变体:Code Llama有三种模型规模和三种变体:
- Code Llama:基础模型,用于通用代码合成和理解。
- Code Llama - Python:专门为Python设计。
- Code Llama - Instruct:用于遵循指令和更安全的部署。
所有变体都有70亿、130亿和340亿参数的版本。
- 本仓库包含70亿参数模型的Python版本。
- 输入:模型仅接受文本输入。
- 输出:模型仅生成文本。
- 模型架构:Code Llama是一种自回归语言模型,采用了优化的Transformer架构。
- 模型训练时间:Code Llama及其变体于2023年1月至2023年7月期间进行训练。
- 状态:这是一个基于离线数据集训练的静态模型。随着我们根据社区反馈改进模型安全性,未来将发布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的研究超级集群上进行。
- 碳足迹:总体而言,训练所有9个Code Llama模型需要在A100 - 80GB(热设计功耗为350 - 400W)类型的硬件上进行400000 GPU小时的计算。估计总排放量为65.3 tCO2eq,其中100%由Meta的可持续发展计划抵消。
训练数据
此处报告的所有实验和已发布的模型均使用与Llama 2相同的数据进行训练和微调,但权重不同(详情请参阅研究论文的第2节和表1)。
评估结果
有关主要模型的评估和详细消融实验,请参阅研究论文的第3节,安全评估请参阅第4节。
伦理考量和局限性
Code Llama及其变体是一项新技术,使用时存在风险。迄今为止进行的测试均使用英语,且未涵盖也无法涵盖所有场景。因此,与所有大语言模型一样,Code Llama的潜在输出无法提前预测,在某些情况下,模型可能会对用户提示产生不准确或令人反感的响应。因此,在部署Code Llama的任何应用之前,开发者应针对其特定应用对模型进行安全测试和调整。
请参阅负责任使用指南。
模型使用权限相关说明
- 额外访问提示:你需要与Meta共享联系信息才能访问此模型。
- 使用许可协议:点击下方的“我接受”,或使用或分发Llama材料的任何部分或元素,即表示你同意受本协议的约束。协议详细规定了许可权利和再分发、额外商业条款、免责声明、责任限制、知识产权、期限和终止、适用法律和管辖权等内容。
- 使用政策:使用Llama 2需遵守可接受使用政策,禁止用于违反法律或他人权利、从事危险活动、故意欺骗或误导他人等行为。如发现违反政策的情况,可通过以下方式报告:
模型信息表格
模型变体表格