CodeGeeX开发团队在学术头条发布了一篇文章,介绍了他们研发的新型大规模多语言代码生成模型CodeGeeX。相比Copilot的闭源收费,CodeGeeX完全开源,并免费使用。模型基于transformers,是一个从左到右生成的自回归解码器,含有40个transformer层,总参数量为130亿。
训练语料由开源代码数据集The Pile与CodeParrot,以及从GitHub开源仓库中爬取的Python、Java、C++代码组成。CodeGeeX由清华大学知识工程实验室研发,得到了鹏城实验室的算力支持,以及智谱AI和华为MindSpore的技术支持。CodeGeeX采用了华为MindSpore框架,使用鹏城实验室“鹏城云脑II”平台中的192节点昇腾910 AI处理器进行训练。
此外,模型还适配了其他平台,目前能同时支持昇腾和英伟达平台。CodeGeeX能够完成许多生成类的编程问题,如根据注释生成代码、根据代码生成解释、根据上下文做代码补全、不同语言之间的代码翻译等。CodeGeeX在HumanEval-X代码生成任务上取得了47%~60%的求解率,较其他开源基线模型有更佳的平均性能。CodeGeeX还可以实现一键式跨语言代码翻译,性能评测显示模型对特定语言存在偏好。
基于CodeGeeX的强大功能,开发团队还开发了VS Code插件,用户可以完全免费下载使用。插件后续将完全开源,其他IDE平台的插件也正在开发中,很快便可以上线。CodeGeeX的代码和模型完全开源开放,并提供了在线演示、VS code插件、API接口等多种形式供用户使用。