最强代码生成大模型前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)自动化的测试用例
大模型需根据问题描述生成 Python 代码,评估测试用例的通过率(如 Pass@k)。
Pass@1 可以理解为模型一次通过率
Pass@5 模型重复生成5次答案,至少有一次答案通过。
3 下一代测评数据集
HumanEval很棒,但是目前也有很多研究者发现它有不少缺陷。
HumanEval 中以算法为导向的任务,真实世界的软件开发通常涉及多样化的库和函数调用。
此外,LLMs 在 HumanEval 上的表现容易受到数据污染和过拟合问题的影响,因此在评估 LLMs 的泛化能力方面,其可靠性较低。
为解决这些问题,目前还有些比较流行的下一代最新测评数据集,比如:BigCodeBench:
BigCodeBench该基准评估 LLMs 在解决实际且具有挑战性的编程任务中的表现,并避免数据污染问题。
具体而言,BigCodeBench 包含 1,140 个函数级别的任务,旨在考验 LLMs 根据指令执行任务的能力,并通过 139 个库中的多种函数调用进行工具式组合。
为了对 LLMs 进行严格评估,每个编程任务平均包含 5.6 个测试用例,且测试分支覆盖率高达 99%。
4 代码生成能力榜单
基于BigCodeBench数据集,目前大模型在此数据集表现排名榜单TOP,如下截图所示:
排名第一名的是,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,阿里通义千问,这也是通用大模型中,代码表现能力最强的了。
参考文献:
1 https://arxiv.org/pdf/2405.04520v1
2 https://paperswithcode.com/sota/code-generation-on-humaneval
3 https://huggingface.co/blog/leaderboard-bigcodebench
开源教程推荐
AI免费学习网
2 普通人学习AI
1)应该先从AI工具使用开始
2)应该先了解AI基础名词
普通人了解AI大忌:
1)不应该上来就学AI理论
2)不应该排斥AI,认为AI无用
基于上面,我也花费不少时间,做了一个详细的开源教程:《普通人学AI指南》.PDF
咱们先别弄那些高深的AI理论,先玩熟AI基本概念、AI工具、自己电脑搭建AI和知识库。
这个《普通人学AI指南》PDF,一共42页,站长编写,完全开源,在下面公众号回复:AI
,直接拿走。