DataLearner 标志

CodeT5

编程大模型
发布时间: 2021-09-02更新于: 2023-07-08浏览量: 376
上下文长度
2K
是否开源
开源
Apache 2.0
查看开源信息

CodeT5 is Salesforce's open encoder-decoder code model introduced in September 2021. Built on T5 with identifier-aware pre-training, it improved code understanding and generation tasks such as summarisation, translation and defect detection, under Apache 2.0.

数据优先来自官方发布(GitHub、Hugging Face、论文),其次为评测基准官方结果,最后为第三方评测机构数据。 了解数据收集方法

CodeT5

模型基本信息

推理过程
暂无数据
思考模式
不支持思考模式
上下文长度
2K tokens
最大输出长度
暂无数据
模型类型
编程大模型
输入/输出模态
暂无数据
发布时间
2021-09-02
模型文件大小
892MB
MoE架构
暂无数据
总参数 / 激活参数
暂无数据 / 暂无数据
知识截止
暂无数据
CodeT5

开源和体验地址

代码开源状态
预训练权重开源
Apache 2.0 - 免费商用授权
在线体验
暂无
CodeT5

官方介绍与博客

CodeT5

API接口信息

接口速度
暂无数据
暂无公开的 API 定价信息。
CodeT5

发布机构

CodeT5

模型解读

Salesforce最近发布了一种新的编程语言预训练模型——CodeT5。这是一种预训练的编码器-解码器模型,它的目标是更好地理解和生成代码。与许多其他模型不同的是,CodeT5能够同时处理代码理解和代码生成任务,同时允许多任务学习。

模型简介

CodeT5模型基于著名的T5架构,是一种编码器-解码器模型,用于处理代码理解和生成任务。这种模型不仅可以处理自然语言,而且还可以处理编程语言。该模型在大规模未标记数据上进行预训练,然后在具体任务上进行微调,这与BERT、GPT和T5等模型的工作方式相同。

CodeT5的创新之处在于,它考虑了代码中的标记类型信息,特别是开发者赋予的标识符。在编程中,开发者通常会使用信息丰富的标识符来提高代码的可理解性,这些标识符通常包含丰富的代码语义信息。为了利用这些代码特有的知识,CodeT5引入了一种新的、标识符意识的目标,训练模型识别哪些标记是标识符,并在它们被掩盖时恢复它们。

模型基本参数

CodeT5模型在CodeSearchNet数据上进行预训练,该数据包含了六种编程语言的单模态(只有编程语言)和双模态(编程语言和自然语言)数据。此外,模型还收集了来自开源GitHub仓库的额外C/C#数据。在CodeXGLUE基准测试中,对CodeT5模型进行了多任务微调,包括两个理解任务:代码缺陷检测和克隆检测,以及代码概括、生成、翻译和改进等生成任务【7†source】。

模型特点

  1. 支持多任务学习:CodeT5模型支持多任务学习,可以在多个任务上进行微调,这使得模型具有很高的灵活性和广泛的应用可能性。
  2. 标识符意识的预训练目标:CodeT5模型引入了一种新的、标识符意识的预训练目标,训练模型识别哪些标记是标识符,并在它们被掩盖时恢复它们。这使得模型能够更好地理解代码的语义【8†source】。
  3. 优秀的实验效果:CodeT5模型在CodeXGLUE基准测试的14个子任务上均获得了最好的结果。这进一步证明了模型的效果和优势。

总的来说,Salesforce的CodeT5模型是一种新颖的、能够处理代码理解和生成任务的预训练模型。通过引入标识符意识的预训练目标和支持多任务学习,这个模型在理解和生成代码方面展现出了很强的能力,为编程语言处理领域带来了新的突破。

DataLearner 官方微信

欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送

DataLearner 官方微信二维码