README.md 8.1 KB

CodeGeeX

一、CodeGeeX简介

这是一个具有130亿个参数的大型多语言代码生成模型,它预先经过20多种编程语言的大型代码库的训练。截至2022年6月22日,CodeGeeX已经在1536个Ascend 910 AI处理器集群上接受了8500多亿tokens的训练。

该模型的VS Code插件目前一周内被调用25万次左右,并上榜VSCode Weekly,十分火爆。

这个代码补全模型的特点如下: 多语言代码生成:CodeGeeX在用几种主流编程语言生成可执行程序方面表现良好,包括Python、C++、Java、JavaScript、Go等DEMO 跨语言代码翻译:CodeGeeX支持不同语言之间的代码片段翻译。只需单击一下,CodeGeeX就可以将程序转换为任何预期的语言,并且具有很高的准确性。演示 可定制编程助手:CodeGeeX在VS代码扩展市场上免费提供。它支持代码完成、解释、总结等功能,为用户提供更好的编码体验。VS代码扩展 开源和跨平台:所有代码和模型权重都公开用于研究目的。CodeGeeX支持Ascend和NVIDIA平台。它支持在单个Ascend 910、NVIDIA V100或A100中进行推理,应用模型权重。 为了评估代码补全的准确性等,研究人员也提出了一个评估基准——HumanEval-X现实多语言基准测试,来帮助标准化多语言代码生成和翻译的评估。HumanEval-X是一个新的多语言基准测试,包含5种编程语言(Python、C++、Java、JavaScript和Go)的820个人工编码问题,每个问题都与测试和解决方案相关。

模型

CodeGeeX是一个基于transformers的大规模预训练编程语言模型。它是一个从左到右生成的自回归解码器,将代码或自然语言标识符(token)作为输入,预测下一个标识符的概率分布。

CodeGeeX模型大小为130亿,包含了40个transformer层,每一个层是隐藏大小为5120的self-attention的blocks,前馈层数量20480。最长支持2048的序列。注意,业界收费的商业化代码补全工具Tabnine的长代码补全是一个收费特性!

CodeGeeX 采用了华为 MindSpore 框架来实现,使用了鹏城实验室“鹏城云脑II”平台中 192 节点昇腾910 AI处理器,在 20 多种编程语言的代码语料库历时两个月训练而成

  • 数据集

CodeGeeX的训练语料由两部分组成。 第一部分是开源代码数据集,The Pile与CodeParrot。The Pile包含GitHub上拥有超过100颗星的一部分开源仓库,我们从中选取了23种编程语言的代码。

第二部分是补充数据,直接从GitHub开源仓库中爬取Python、Java、C++代码。

为了让模型区分不同语言,我们在每个样本的开头加上一个前缀,其形式为[注释符] language: [语言],例如:# language: Python。我们对数据进行了去重和清洗,整个代码语料含有23种编程语言、总计1587亿个标识符(不含填充符)。

二、CodeGeeX的使用

CodeGeeX的代码和模型都是开放获取的,供大家研究使用。目前模型预训练结果已经提供下载申请,只需要大家填写如下内容即可:

此外,官方也提供了VS Code插件供大家使用,目前这个插件也是本周VS Code Trending上榜,获得了很多关注。

CodeGeeX相关资源:

代码生成:https://models.aminer.cn/codegeex/playground 代码翻译:https://models.aminer.cn/codegeex/codeTranslator

VS Code插件地址:https://marketplace.visualstudio.com/items?itemName=aminer.codegeex 官方网址:https://models.aminer.cn/codegeex/ 预训练模型申请地址:https://models.aminer.cn/codegeex/download/request GitHub地址:https://github.com/THUDM/CodeGeeX

三、CodeGeeX的国产化支持

此外,有一个问题也特别引起注意。该模型是在“鹏城实验室”中的“鹏城云脑II”中训练的,这个集群使用的是国产昇腾的AI处理器Ascend 910 AI Processors。该处理器由华为设计,属于国产硬件生态系统中的重要参与者。而模型的编写框架用的是华为自研深度学习框架MindSpore。而推理端则支持Ascend 910, NVIDIA V100 或者 A100,都是高端AI芯片。

该模型由清华大学研究人员发布,多方面采用国产化软硬件系统。从效果上看十分优秀,也对国产的软硬件生态的繁荣有实质的支持。希望项目可以好好发展,后续也可以收费以确保项目能够占领市场,进而可以继续推动国产化成果的影响力。

CodeGeeX 黑客松

三主题赛道:

AI with Code 交互设计挑战赛

本赛道以「更好的交互」为主题,摸索在 AI 代码生成的辅助下,程序员如何能领有更好的编程交互体验。

参赛者能够在 CodeGeeX 开源的VS Code插件、IDEA插件根底上进行交互翻新,也能够本人编写新的插件。

赛题要求: 所开发的插件交互性能,必须可能失常运行。

赛道处分: 第一名:GeForce RTX 4090 公版显卡一张,Cloud Studio 高级年度会员; 第二名/第三名:Cloud Studio 高级年度会员

举荐方向:

更多IDE平台反对:Cloudstudio.net, Vim/Neovim,eclipse,sublime text等; 更多硬件平台反对:手机、平板、终端等; 为插件增加新性能,例如代码总结,文本生成等; 对已有性能进行优化,提供更敌对的交互方式; AI find bug 代码攻坚挑战赛

本赛道以「AI 发现代码潜在问题」为主题,摸索 CodeGeeX 代码发现问题代码里的潜在的缺点,优化代码算法,闯关赢大奖。

参赛者通过既定的几个赛题,利用 CodeGeeX 开源的模型、API等进行问题的排查、代码调优,实现赛题闯关的要求。

赛题要求:

解决问题,并通过正当的测试,readme等介绍,实现find bug的要求,并达到赛事预期成果。需包含 demo 演示,以及可失常运行的代码。

赛道处分: 第一名/第二名:PICO 4 VR 眼镜一副,Cloud Studio 高级年度会员第三名:Cloud Studio 高级年度会员

赛事内容:

某经典算法问题求解;
问题故障排查. 指定通过CloudStudio.net代码提交作品:

参赛者通过链接,关上开发空间,空间内置了赛事的参赛规范和作品我的项目的上传格局; 参赛者能够间接基于CloudStudio WebIDE进行编码; 参赛者通过仓库插件推送作品代码到 CODING代码仓库; 参赛者能够拜访代码仓库并设置成开源仓库。评审阶段中,评审者能够为代码进行评论打分。 参赛者可通过Cloud Studio 模板快照性能公布提交作品。 Free Idea 挑战赛

本赛道以「翻新」为主题,考查参赛者在基于CodeGeeX代码生成上的创新能力。参赛者能够自由选择场景,自在开发,以及自在选题,包含但不限于科学研究、利用开发、社区构建及商业落地。

赛题要求: 本赛题不要求参赛者齐全实现其想法,但必须验证该想法的可操作/施行性。

赛道处分: 第一名:大疆 DJI Mini 3 Pro 无人机一架,Cloud Studio 高级年度会员第二名/第三名:Cloud Studio 高级年度会员

本次大赛提供GeForce RTX 4090 公版显卡、PICO 4 VR 眼镜、大疆 DJI Mini 3 Pro 无人机等处分, 💰最高奖金 2000$ !

咱们将为所有参赛人员提供:

1.CodeGeeX源代码;2.CodeGeeX的模型权重;3.CodeGeeX在 VS Code 和 jetbrains 上的插件;4.收费拜访API的权限;5.如果须要,也将提供相应的算力反对。

参赛条件:

本次黑客松流动目标是为所有开发者提供一个利用 AI 代码生成能力进行翻新的平台,咱们原则上对参赛者与组队不做限度,仅做高级的资格审核。因而:

1.请不要反复报名,并确保注册邮箱无效;

2.参赛者禁止歹意应用凋谢的 API,否则将勾销参赛资格;

3.每一位参赛者能够参加多个赛道,同时在一个赛道中也能够提交多个不同的我的项目;

4.参赛者承诺提交的我的项目不违反相干法律法规,不进犯任何第三方的知识产权或其余权力,否则将勾销参赛资格;

5.参赛者必须在线并缺席闭幕式能力取得奖金。

大赛正式启动

扫描二维码查看流动详情&我的项目提交