《开源精选》是一个共享Github、Gitee等开源社区高端项目的计划,包括技术、学习、实用性和有趣的内容。本期推荐使用MindSpore框架实现的编程语言代码生成器——CodeGeeX。
CodeGeeX是一种具有130亿参数的多编程语言代码生成预训练模式,使用华为的MindSpore框架,通过在鹏城实验室“鹏城云脑II”训练1536个国产升降910 AI处理器实现。CodeGeexX支持10多种主要编程语言的高精度代码生成、跨语言代码翻译等功能,并通过开发自动编程插件来改进辅助程序开发和相关研究。
特性
高精度代码生成:支持生成多种主要编程语言(如Python、C、Java、JavaScript和Go)的代码,在HumanEval-X代码生成操作中可获得47%至60%的解决速度,平均性能优于其他开源基础模型。跨语言代码翻译:支持代码片段在不同编程语言之间进行自动翻译转换,翻译结果的准确度高,在HumanEval-X代码翻译工作中超过其他基本模型。自动编程插件:CodeGeeX插件目前在VSCode插件市长/市场(完全免费)上发布,用户可以使用强大而少的样本生成功能、自定义代码生成样式和功能、辅助代码编写等。模型跨平台开源:所有代码和模型权重开源都是为研究目的开放的。CodeGeeX同时支持上升和英伟达平台,可以从单个上升910或英伟达V100/A100进行推理。性能
新的多语言基准humaneval-x: humaneval-x是第一个支持功能准确性评估的多语言多任务基准,包括手动编写的820个高质量代码生成标题、测试案例和参考答案,涵盖5种编程语言(python、C和Java)
用户指南
CodeGeeX最初是使用Mindspore框架实施的,接受了910AI芯片升级的培训。为了容纳更多平台,我们改用了支持Pytorch GPU环境的Megatron-LM框架。
安装
需要python 3.7/cuda 11/pytorch 1.10/deep speed 0.6,并通过以下命令安装codegeex:
Git clone git@gi
Cd编解码器
Pipinstall-e .模型权重
申请权重:
申请权重后,您将收到包含临时下载链接文件urls.txt的消息。建议使用Aria2通过以下命令快速下载(确保有足够的硬盘空间来存储权重(~ ~26GB)):
aria 2 c-x 16-s 16-j 4-continue=true-iurls . txt使用以下命令组合总权重:
Catcodegeex _ 13b.* codegeex _ 13b.tar
Tar xvf codegeex_13b。用GPU推理
尝试使用CodeGeeX模型生成第一个程序!首先,在配置文件config中指定要保留权重的路径。第二,在文件te中记录提示(可以是任何解释或代码片段),然后运行以下脚本开始推理(需要GPU序列号)。
巴斯。/scri GPU_ID。/te生成示例
-end-
开放源代码协议:a
开源地址: