跳转至

🔥AI副业赚钱星球

点击下面图片查看

郭震AI

最强代码生成大模型前10榜单,国产占据2席

编辑日期: 2024-11-26 文章阅读:

代码生成任务,对当前的所有大模型,仍然是一大挑战。

即使是表现最好的模型,强如Claude3.5, O1-preview,也很难保证每次生成代码都完全满足提问需求。

但,这并不妨碍我们使用它,作为编程辅助,蹭蹭的提升效率。

尤其是,程序员或对编程感兴趣的,使用AI辅助开发,使用AI找bug,已经成为日常一部分。

之前遇到开发问题,是谷歌一下,现在是AI一下。

问题来了,在如此众多的AI大模型里,哪些代码生成能力比较不错,值得我们去用的呢?

今天这篇文章就来分析下大模型的代码生成能力,对此关心的老铁,不妨阅读 。

在推荐代码生成的大模型前,咱们先来看看

1)如何评估AI的代码生成能力

2)评估常用的数据集。

1 评估指标

评估代码生成能力,最重要三个指标,代码功能正确率,代码可读性,多语言适应能力。如下图所示:

评估代码生成最重要三个能力

具体说来,

1)代码正确率关乎是否能够正确实现预期功能;

2)可读性让我们能方便理解和维护;

3)多语言转化能力,Python转C++,Java转C等准确率如何。

2 基准评估数据集

了解这些后,下面再看下代码评估常用数据集。

其中最常用的就是OpenAI提出的HumanEval,最基准的测试数据集。

HumanEval 包含一组编程问题,每个测试sample包括:

1)问题描述

2)自动化的测试用例

HumanEval测评数据集

大模型需根据问题描述生成 Python 代码,评估测试用例的通过率(如 Pass@k)。

Pass@1 可以理解为模型一次通过率

Pass@5 模型重复生成5次答案,至少有一次答案通过。

3 下一代测评数据集

HumanEval很棒,但是目前也有很多研究者发现它有不少缺陷。

HumanEval 中以算法为导向的任务,真实世界的软件开发通常涉及多样化的库和函数调用。

此外,LLMs 在 HumanEval 上的表现容易受到数据污染和过拟合问题的影响,因此在评估 LLMs 的泛化能力方面,其可靠性较低。

为解决这些问题,目前还有些比较流行的下一代最新测评数据集,比如:BigCodeBench:

BigCodeBench测评数据集

BigCodeBench该基准评估 LLMs 在解决实际且具有挑战性的编程任务中的表现,并避免数据污染问题。

具体而言,BigCodeBench 包含 1,140 个函数级别的任务,旨在考验 LLMs 根据指令执行任务的能力,并通过 139 个库中的多种函数调用进行工具式组合。

为了对 LLMs 进行严格评估,每个编程任务平均包含 5.6 个测试用例,且测试分支覆盖率高达 99%。

BigCodeBench

4 代码生成能力榜单

基于BigCodeBench数据集,目前大模型在此数据集表现排名榜单TOP,如下截图所示:

BigCodeBench代码生成能力榜单

排名第一名的是,Athene-V2-Chat 。

很多老铁可能没有听过这个模型,它是由 Nexusflow 开发的一个开源大型语言模型(LLM),拥有 720 亿参数。

该模型基于阿里的 Qwen 2.5-72B-Instruct 进行训练,采用了强化学习人类反馈(RLHF)技术,在数学和编程等任务中表现出色。

看到排名第一的代码生成大模型,使用的底座是国产大模型,可能出乎了有些人的意料!

榜单中其他大模型,几乎被GPT4o、Claude3.5, O1-preview及不同版本霸榜。

在国产大模型中,占据2席,分别是Qwen2.5,DeepSeek-Coder,目前代码生成能力位于TOP10。

1)Qwen2.5-Coder版,阿里达摩院开发的代码语言模型,代码生成能力表现优秀。

2)DeepSeek,由深度求索公司开发,浙大毕业的一位AI博士创办的AI公司。

谷歌的Gemini也排到十名开外。

榜单10-20名,看到了Llama-3.1,Grok,DeeoSeek-Coder另一个版本,Mistral,

然后再次看到国产Qwen2.5-72B,阿里通义千问,这也是通用大模型中,代码表现能力最强的了。

BigCodeBench代码生成能力榜单

参考文献:

1 https://arxiv.org/pdf/2405.04520v1

2 https://paperswithcode.com/sota/code-generation-on-humaneval

3 https://huggingface.co/blog/leaderboard-bigcodebench

开源教程推荐

AI免费学习网

AI免费学习网

更多开源教程,访问网站免费学习

2 普通人学习AI

1)应该先从AI工具使用开始

2)应该先了解AI基础名词

普通人了解AI大忌:

1)不应该上来就学AI理论

2)不应该排斥AI,认为AI无用

基于上面,我也花费不少时间,做了一个详细的开源教程:《普通人学AI指南》.PDF

咱们先别弄那些高深的AI理论,先玩熟AI基本概念、AI工具、自己电脑搭建AI和知识库。

普通人学AI指南

PDF 指南思维导图

这个《普通人学AI指南》PDF,一共42页,站长编写,完全开源,在下面公众号回复:AI,直接拿走。

郭震AI

京ICP备20031037号-1