CodeGeeX2 模型全新上线,编程助手能力全面升级!

发布时间 2023-08-01 16:47:44作者: 正在输入代码……

第二代CodeGeeX代码生成模型CodeGeeX2-6B已于近日发布,并在CodeGeeX编程助手插件上全面上线。新模型基于 ChatGLM2-6B 架构加入代码预训练实现,精度更高、速度更快、能力更强。 下面我们一起来看一下新版模型给CodeGeeX编程助手带来的变化吧:

一、代码生成更快更精准,问答更智能

相比一代模型 ,CodeGeeX2-6B在代码生成的精度和速度上都有极大的提升。第一代CodeGeeX模型只能基于前文向后生成代码,而CodeGeeX2-6B可以实现根据上下文填空。这意味着在补全代码时,可以综合当前光标上下文的内容,更精准地补全代码。在新模型的支撑下,插件中的问答功能“Ask CodeGeeX”也得到了升级。原先的“Ask CodeGeeX”使用ChatGLM模型回答问题。更新后,该功能使用的模型换成了基于CodeGeeX2-6B微调得到的对话模型,在回答编程相关的问题时,比之前更专业、更智能。

二、支持更多编程语言

新版CodeGeeX支持的编程语言数量达到了100余种。除了Python、Java、JavaScript、GO等主流编程语言外,像Kotlin、Rust等编程语言的代码生成效果都获得了极大提升。对于前端程序员常用Vue等开发框架,新版模型的能力也得到了加强。新版本在自然语言生成SQL查询的场景里,也有惊艳的表现。在“Ask CodeGeeX”功能中,可根据指定的数据库表结构和查询需求,自动生成相应的 SQL 查询语句。

三、从8k到32k,更长的上下文支持

依托于ChatGLM2-6B基座模型,CodeGeeX2-6B支持的上下文长度提升到了32K。基于这一新特性,可以将当前工程中其他文件的内容也作为上下文引入,这使得模型在生成时可以更好地理解当前开发任务。基于32K上下文长度的特性,未来还会有更多新功能上线,敬请期待。

附:模型介绍与评测

CodeGeeX2 是多语言代码生成模型CodeGeeX的第二代模型。不同于一代模型,CodeGeeX2 是基于 ChatGLM2 架构加入代码预训练实现。得益于 ChatGLM2 的更优性能,CodeGeeX2-6B 在多项指标上取得较大的性能提升。CodeGeeX2-6B 更好支持中英文输入,支持最大 8192 序列长度,推理速度较一代 CodeGeeX-13B 大幅提升,量化后仅需6GB显存即可运行,支持轻量级本地化部署。

在 HumanEval 评测中,CodeGeeX2-6B的表现全面超越了参数规模更大的 StarCoder 模型以及 OpenAI 的 Code-Cushman-001 模型(GitHub Copilot 曾使用的模型)。

file

在多语言方面,新版 CodeGeeX 2 模型在 HumanEval-X 数据集评测中表现优异。相较于第一代,CodeGeeX2 的Pass@1 指标在各个语言上的平均表现提升了 107%。其中,Rust 语言的性能提升显著,提升了 321%;C++ 和 JavaScript 语言上的表现也提升了 70% 以上。

file

自 2022 年 9 月上线以来,CodeGeeX辅助开发人员提高编程效率,取得了显著成果。截至目前,CodeGeeX 插件下载量已超过 13 万,每日生成代码近千万行。升级后的CodeGeeX插件继续对个人用户免费开放。

本文由博客一文多发平台 OpenWrite 发布!