Project Icon

codegen-2B-multi

提供多语言程序合成的自回归语言模型

CodeGen-Multi 2B模型是一种自回归语言模型,经过多个编程语言的大规模数据集预训练,能够合成可执行代码。模型以CodeGen-NL 2B为基础,并在多语言数据上进一步训练,能够从自然语言和编程语言中提取特征。模型在主要代码生成基准上经过评估,可用于从注释生成代码或完成部分代码。用户可借助AutoModelForCausalLM功能加载模型,适用于多种编程语言。

CodeGen-Multi 2B 项目介绍

项目背景

CodeGen 是一组用于程序合成的自回归语言模型,源自一篇名为《A Conversational Paradigm for Program Synthesis》的论文。该论文由 Erik Nijkamp 等几位研究者撰写。CodeGen 模型家族最初发布于一个代码仓库中,它们有三个预训练数据变体(NLMultiMono)和四个模型大小变体(350M2B6B16B)。在这些模型中,CodeGen-Multi 2B 是一个特别的版本。

模型描述

CodeGen-Multi 2B 是从 CodeGen-NL 2B 模型开始初始化的,并在一个包含多种编程语言的数据集上进一步预训练。"Multi" 指的是该模型使用多个编程语言的数据进行训练,而"2B"则表示模型具有20亿个可训练参数。

训练数据

CodeGen-Multi 2B 的训练数据主要来源于 GitHub 的多个编程语言数据集,这些数据存储于 BigQuery 中。数据集包含 1192 亿个标记,包括 C、C++、Go、Java、JavaScript 和 Python 等多种编程语言。

训练过程

CodeGen 模型家族通过交叉熵损失进行训练,以最大化序列输入的可能性。这些模型使用了多个 TPU-v4-512 单元进行训练,充分利用了数据和模型的并行性。具体的训练细节可以在相关论文的第2.3节中找到。

模型评估

CodeGen 模型在两个代码生成基准上进行了评估,即 HumanEval 和 MTPB。有关详细的评估结果,请参阅相关论文。

使用场景与限制

作为一个自回归语言模型,CodeGen 可以从给定的自然语言和编程语言文本中提取特征,并计算其可能性。然而,该模型的最佳用途是程序合成,即在给定英文提示的情况下生成可执行代码。提示通常应为注释字符串的形式,模型还可以补全部分生成的代码。

使用方法

使用 AutoModelForCausalLM 功能可以很容易地加载这个模型,以下是一个简单的示例代码:

from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("Salesforce/codegen-2B-multi")
model = AutoModelForCausalLM.from_pretrained("Salesforce/codegen-2B-multi")

text = "def hello_world():"
input_ids = tokenizer(text, return_tensors="pt").input_ids

generated_ids = model.generate(input_ids, max_length=128)
print(tokenizer.decode(generated_ids[0], skip_special_tokens=True))

引用信息

该模型及其相关研究的完整引用信息如下:

@article{Nijkamp2022ACP,
  title={A Conversational Paradigm for Program Synthesis},
  author={Nijkamp, Erik and Pang, Bo and Hayashi, Hiroaki and Tu, Lifu and Wang, Huan and Zhou, Yingbo and Savarese, Silvio and Xiong, Caiming},
  journal={arXiv preprint},
  year={2022}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号