CodeT5 是 Salesforce Research 发布的用于代码理解与生成的开放代码大语言模型系列,包含 CodeT5 和 CodeT5+ 两个版本。相关论文分别为《CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation》和《CodeT5+: Open Code Large Language Models for Code Understanding and Generation》。
用途:CodeT5 和 CodeT5+ 模型可作为 AI 编程助手,提升软件开发者的生产力。在 Salesforce 内部,团队基于 CodeT5 构建了 VS Code 插件形式的 AI 编程助手演示,提供三项能力:文本到代码生成(根据自然语言描述生成代码)、代码自动补全(给定目标函数名补全整个函数)、代码摘要(用自然语言描述生成函数摘要)。
主要能力:模型基于 T5 架构,采用标识符感知训练,适用于代码摘要、缺陷检测、克隆识别等任务。项目发布了两个大型 CodeT5 检查点:Salesforce/codet5-large 和 Salesforce/codet5-large-ntp-py,由 CodeRL 论文引入。此外,还发布了论文中所有下游任务的微调检查点,以及一个用于多语言代码摘要的 CodeT5-base 微调检查点 Salesforce/codet5-base-multi-sum。
使用方式:项目代码和模型已开源,可通过 GitHub 仓库获取。模型检查点发布在 HuggingFace 上。具体安装命令、依赖和运行步骤暂未提供。
适用场景:适用于代码理解与生成相关的研究和开发,如代码摘要、缺陷检测、克隆识别、文本到代码生成、代码自动补全等。
限制:代码采用 BSD-3 许可证发布,但要求用户不得将本软件用于促进或从以下行为中获利:暴力、仇恨和分裂,环境破坏,侵犯人权,或破坏人们的身心健康。鼓励用户通过 codeT5@salesforce.com 告知应用场景,并在开发高风险应用时使用适当的文档。如有问题、建议、请求或错误报告,请创建 GitHub issue。