CodeT5 - CodeT5

模型详细情况和参数

CodeT5

模型全称
CodeT5
模型简称
CodeT5
模型类型
编程大模型
发布日期
2021-09-02
预训练文件大小
892MB
是否支持中文(中文优化)
最高支持的上下文长度
2K
模型参数数量(亿)
0.0
模型代码开源协议
Apache 2.0
预训练结果开源商用情况
Apache 2.0 - 免费商用授权
在线演示地址
暂无
DataLearnerAI的模型介绍
基础模型
无基础模型
发布机构

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官方微信,接受最新的AI模型和技术推送

CodeT5所属的领域
自然语言处理

自然语言处理

Natural Language Process

35个资源

CodeT5相关的任务
代码补全

代码补全

Code Completion

35个资源