# 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.参赛者必须在线并缺席闭幕式能力取得奖金。 大赛正式启动 扫描二维码查看流动详情&我的项目提交