CodeGeeX - CodeGeeX

模型详细情况和参数

CodeGeeX

模型全称
CodeGeeX
模型简称
CodeGeeX
模型类型
编程大模型
发布日期
2022-09-30
预训练文件大小
未知
是否支持中文(中文优化)
最高支持的上下文长度
2K
模型参数数量(亿)
130.0
模型代码开源协议
Apache 2.0
预训练结果开源商用情况
不开源 - 不开源
在线演示地址
暂无
DataLearnerAI的模型介绍
基础模型
发布机构

CodeGeeX 简介

随着NLP预训练模型的发展,大语言模型在各个领域的作用也越来越大。几个月前,GitHub基于OpenAI的GPT-3训练的Copilot效果十分惊艳,可惜现在已经开始收费(参考:Copilot Labs插件——基于AI的代码解释和代码翻译神器)。而最近,清华大学也发布了一个代码补全神器——CodeGeeX。

一、CodeGeeX简介二、CodeGeeX的使用三、CodeGeeX的国产化支持

一、CodeGeeX简介

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

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

这个代码补全模型的特点如下:

  1. 多语言代码生成:CodeGeeX在用几种主流编程语言生成可执行程序方面表现良好,包括Python、C++、Java、JavaScript、Go等DEMO
  2. 跨语言代码翻译:CodeGeeX支持不同语言之间的代码片段翻译。只需单击一下,CodeGeeX就可以将程序转换为任何预期的语言,并且具有很高的准确性。演示
  3. 可定制编程助手:CodeGeeX在VS代码扩展市场上免费提供。它支持代码完成、解释、总结等功能,为用户提供更好的编码体验。VS代码扩展
  4. 开源和跨平台:所有代码和模型权重都公开用于研究目的。CodeGeeX支持Ascend和NVIDIA平台。它支持在单个Ascend 910、NVIDIA V100或A100中进行推理,应用模型权重。

为了评估代码补全的准确性等,研究人员也提出了一个评估基准——HumanEval-X现实多语言基准测试,来帮助标准化多语言代码生成和翻译的评估。HumanEval-X是一个新的多语言基准测试,包含5种编程语言(Python、C++、Java、JavaScript和Go)的820个人工编码问题,每个问题都与测试和解决方案相关。

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

二、CodeGeeX的使用

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

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

CodeGeeX相关资源:
在线演示地址:https://models.aminer.cn/codegeex/zh-CN/playground
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的论文暂时没有放出,可能是等待投稿结果。

三、CodeGeeX的国产化支持

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

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

欢迎大家关注DataLearner官方微信,接受最新的AI模型和技术推送

CodeGeeX所属的领域
自然语言处理

自然语言处理

Natural Language Process

35个资源

CodeGeeX相关的任务
代码补全

代码补全

Code Completion

35个资源