CodeT5+ - CodeT5+

模型详细情况和参数

CodeT5+

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

CodeT5+ 简介

CodeT5+是一个基于T5模型架构的自然语言处理(NLP)模型,专门用于处理源代码。该模型由Salesforce开发,并在其GitHub页面上开源。CodeT5+是CodeT5的增强版本,采用更大的参数规模,以提供更高的性能和更准确的代码理解能力。CodeT5+基于GitHub上开源的代码数据进行训练,使用的都是有良好开源协议的代码库,包括"mit" “apache-2”, “bsd-3-clause”, “bsd-2-clause”, “cc0-1.0”, “unlicense”, “isc”等。支持9种语言C、C++、C-Sharp、GO、Java、JavaScript、PHP、python和Ruby。


而CodeT5+本身完全开源,包括预训练结果文件


模型原理和架构

CodeT5+模型的原理和架构基于T5(Text-to-Text Transfer Transformer),这是一个通用的预训练模型,通过将各种自然语言处理任务转化为文本到文本的转换问题,实现了无监督的预训练和有监督的微调。CodeT5+在此基础上进行了修改和优化,以适应源代码的处理。


T5模型的核心是Transformer架构,它包含了编码器和解码器。编码器负责将输入的源代码序列编码成表示向量,而解码器则根据编码器的输出和任务相关的文本输入,生成预测结果。

模型特点

CodeT5+模型在源代码处理方面具有许多特点和创新之处:

  1. 源代码理解能力:CodeT5+专门针对源代码的语义理解进行了优化,能够准确地理解代码的含义和功能。
  2. 大规模参数:CodeT5+采用了更大的参数规模,提供了更强大的处理能力和更高的性能。
  3. 多任务学习:CodeT5+支持多种源代码相关的任务,通过联合训练不同的任务,可以提高模型的整体表现和泛化能力。
  4. 预训练和微调:CodeT5+采用了无监督的预训练和有监督的微调方法,可以通过大规模的源代码数据进行训练,并在特定任务上进行微调,以获得更好的性能。

模型评价

CodeT5+模型已经在多个源代码处理任务上进行了评价,并取得了令人印象深刻的结果。根据模型作者的研究论文[1]中的实验结果,CodeT5+在代码自动补全、代码推荐、代码分类等任务上表现出了优异的性能。相比较其他先进的源代码处理模型,CodeT5+在代码理解和生成方面都取得了显著的改进。

开源情况

CodeT5+模型已经在Salesforce的GitHub页面上进行了开源。目前,CodeT5+开源了4个模型:



模型名称参数规模HuggingFace地址
codet5p-2b20亿https://huggingface.co/Salesforce/codet5p-2b
codet5p-6b60亿https://huggingface.co/Salesforce/codet5p-6b 
codet5p-16b160亿https://huggingface.co/Salesforce/codet5p-16b 
instructcodet5p-16b160亿https://huggingface.co/Salesforce/instructcodet5p-16b 


欢迎大家关注DataLearner官方微信,接受最新的AI模型和技术推送

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

自然语言处理

Natural Language Process

35个资源

CodeT5+相关的任务
代码补全

代码补全

Code Completion

35个资源