CodeGeeX是什么?

CodeGeeX是一个拥有130亿参数的大规模多语言代码生成模型。该模型可生成Python、C++、Java等主流编程语言的可执行代码,并支持跨语言代码翻译。CodeGeeX提供免费的VS Code和Jetbrains IDE扩展,在HumanEval-X多语言基准测试中表现优异。项目完全开源,同时支持Ascend和NVIDIA平台,为开发者提供高效的代码生成工具。

? 主页 | ? 博客 | ? 演示 | ? 下载模型 | ? 论文 | ? 中文

? 支持 VS CodeJetbrainsCloud Studio | ? 加入我们的 DiscordSlackTelegram微信

? 最新一代 CodeGeeX4 模型已经正式开源。

  • CodeGeeX:多语言代码生成模型
    • 新闻
    • 入门指南
      • 安装
      • 模型权重
      • 在GPU上进行推理
      • VS Code和Jetbrains扩展指南
    • CodeGeeX:架构、代码语料库和实现
    • HumanEval-X:一个新的多语言程序合成基准
      • 多语言代码生成
      • 跨语言代码翻译
      • 如何使用HumanEval-X并为其做出贡献?
    • 许可证
    • 引用

CodeGeeX:多语言代码生成模型

我们介绍CodeGeeX,这是一个拥有130亿参数的大规模多语言代码生成模型,在包含20多种编程语言的大型代码语料库上进行了预训练。截至2022年6月22日,CodeGeeX已经在由1,536个昇腾910 AI处理器组成的集群上训练了超过8500亿个标记。CodeGeeX具有以下几个独特特征:

  • 多语言代码生成:CodeGeeX在生成几种主流编程语言的可执行程序方面表现出色,包括Python、C++、Java、JavaScript、Go等。演示
  • 跨语言代码翻译:CodeGeeX支持不同语言之间的代码片段翻译。只需一次点击,CodeGeeX就可以以高精度将程序转换为任何预期的语言。演示
  • 可定制的编程助手:CodeGeeX在VS Code扩展市场上免费提供。它支持代码补全、解释、总结等功能,为用户提供更好的编码体验。VS Code扩展
  • 开源和跨平台:所有代码和模型权重都公开可用于研究目的。CodeGeeX支持昇腾和NVIDIA平台。它支持在单个昇腾910、NVIDIA V100或A100上进行推理。申请模型权重

HumanEval-X用于真实多语言基准测试。 为了帮助标准化多语言代码生成和翻译的评估,我们开发并发布了HumanEval-X基准。HumanEval-X是一个新的多语言基准,包含820个人工编写的编码问题,涉及5种编程语言(Python、C++、Java、JavaScript和Go),每个问题都有相关的测试和解决方案。使用方法 ? 在HuggingFace上可用

与其他开源多语言基线相比,CodeGeeX在平均性能上达到了最高水平。

新闻

  • ? 2023-07-24:CodeGeeX2 已经发布,更强大、更快速、更轻量。支持100+种语言和许多新功能。

  • 2023-5-16:CodeGeeX论文已被KDD 2023,长滩接受,将在会议期间进行展示。

  • 2023-03-30:CodeGeeX论文现已在arxiv上发布。

  • 2023-02-14:CodeGeeX现在支持Cloud Studio,这是腾讯的一款出色的Web IDE。点击此页面顶部的徽章,快速启动环境来测试CodeGeeX。

  • 2023-02-13:非常感谢OneFlow团队为CodeGeeX的推理添加oneflow后端(在FP16下甚至比FasterTransformer更快!)。查看更多详情这里。

  • 2023-02:我们正在举办CodeGeeX "用AI编程" 黑客马拉松,基于CodeGeeX设计酷炫的应用并赢取奖品(RTX 4090、大疆无人机等)!

  • 2022-12-31:我们在codegeex-fastertransformer中发布了CodeGeeX的FasterTransformer版本。INT8加速版本达到了平均<15ms/token的速度。祝大家新年快乐!

  • 2022-12-13:我们在codegeex-vscode-extension中发布了CodeGeeX VS Code扩展的源代码。按照快速入门开始开发。

  • 2022-12-11:CodeGeeX现在可用于Jetbrains IDEs(IntelliJ IDEA、PyCharm、GoLand、CLion等),在这里下载。

  • 2022-12-04:我们发布了量化(需要更少的GPU RAM:27GB -> 15GB)和模型并行(可以在多个RAM<8G的GPU上运行)的源代码。

  • 2022-09-30:我们发布了适用于昇腾和NVIDIA平台的跨平台源代码和模型权重。

入门指南

CodeGeeX最初是在Mindspore中实现并在昇腾910 AI处理器上训练的。我们提供了一个基于Megatron-LM的与torch兼容的版本,以便于在GPU平台上使用。

安装

需要Python 3.7+ / CUDA 11+ / PyTorch 1.10+ / DeepSpeed 0.6+。通过以下方式安装codegeex包:

git clone git@github.com:THUDM/CodeGeeX.git cd CodeGeeX pip install -e .