深度解析大模型代码能力现状

随着人工智能技术的不断发展,大模型在各个领域都有了广泛的应用。在软件工程领域,大模型也被用于辅助代码生成。大模型代码生成工具可以从自然语言提示或部分代码输入中生成代码,极大地提高了软件开发的效率和质量。

目前,已经有许多研究人员和机构开展了大模型代码生成能力的评估研究。这些评估研究为了解大模型代码生成工具的现状和发展趋势提供了重要参考。

本文中,将介绍大模型代码生成最新排行,以及能力评估的常用评估指标和数据集。

01.大模型代码生成能力的评估指标

“Papers with Code” 是一个知名的研究论文和代码共享平台,为学者们提供了一个展示和对比研究成果的平台。其中,HumanEval Benchmark (Code Generation) 部分列出了代码生成领域的最新模型排名。为了深入理解这些排名,我们需要了解其背后的评估指标。

1.数据集介绍

HumanEval是由OpenAI开发的广泛使用的代码生成基准测试。它涵盖了从简单的字符串操作到复杂的算法设计的多种编程任务。

如上图所示,每个任务都包括一个函数签名、注释、主体和几个单元测试。为了确保评估的公正性,这些任务都是手工编写的。在模型训练过程中,模型没有接触过这些具体任务。模型接收的提示以白色背景显示,而模型成功生成的代码部分以黄色背景显示。这样的设计旨在为评估提供一个公正的基准,确保模型在实际应用中的性能与在数据集上的表现是一致的。

2.数据集特点

1、多样性:HumanEval涵盖了从基础到高级的各种编程任务,确保了模型在各种情境下都能得到充分的评估。

2、实际应用导向:该基准测试的设计考虑了实际的编程需求,从而确保了模型的实用性和实际应用价值。3、动态更新:随着编程领域的不断进步,HumanEval也会定期更新,加入新的编程任务和挑战,确保其始终保持与时俱进。

3.评估方法

1、直接生成:评估模型在没有任何先验知识或提示的情况下,直接生成代码的能力。2、多次尝试:评估模型在多次尝试和修正后的代码生成性能。3、代码质量:除了代码的正确性,还会评估生成代码的效率、可读性和维护性。4、算法设计:评估模型在设计和实现复杂算法时的性能。5、数据结构操作:测试模型在操作如数组、链表、树等常见数据结构时的能力。6、实际编程场景模拟:模拟真实的编程任务,如数据库操作、网络编程等,来评估模型的实际应用能力。

4.评估指标

其中,Pass@k是一个核心指标。它衡量的是模型在生成k个样本后至少有一个样本是正确的概率。例如,Pass@1表示模型第一次尝试生成代码时的正确率;Pass@10表示模型在前10次尝试中至少有一次生成了正确的代码;而Pass@100则表示在前100次尝试中,模型至少有一次生成了正确的代码。

02.大模型代码生成能力的最新排行

基于上述数据集,指标与实验方法,下方列出了代码生成任务的最新模型排名:

1.第一名介绍图中根据Pass@1分数从高到低排序,GPT系列位居前列:

Reflexion (GPT-4): 目前在HumanEval上的最佳模型,其Pass@1得分为91.0。其背后的研究成果为”Reflexion: Language Agents with Verbal Reinforcement Learning”。这篇于2023年发布的论文探讨了如何通过语言反馈来强化语言代理,而不是通过更新权重。具体来说,Reflexion代理的工作方式是,当完成一个任务并接收到反馈后,它会生成一段关于该反馈的描述或分析。这段反思文本随后被存储在一个特定的“情景记忆缓冲区”中。当代理在后续的任务中遇到类似的情境时,它会回顾这个缓冲区中的反思文本,从而帮助其做出更好的决策。这种独特的方法使Reflexion在多种任务上获得了显著的改进,例如,在HumanEval编码基准测试上达到了91%的pass@1准确率,超过了之前的最新技术GPT-4的80%。

2.第二名介绍

GPT-4: 排名第二,其Pass@1得分为86.6。相关论文为”OctoPack: Instruction Tuning Code Large Language Models”,发布于2023年,文中探讨了如何通过指令调优来提高大型语言模型(LLMs)在自然语言任务上的性能。研究者采用了一种独特的方法,利用Git提交(commits)的自然结构,将代码更改与人类指令配对,进行指令调优。

为此,他们编译了名为”CommitPack”的数据集,包含了4TB的Git提交数据,涵盖了350种编程语言。他们将CommitPack与其他自然和合成的代码指令(如xP3x、Self-Instruct、OASST)进行了基准测试,并在16B参数的StarCoder模型上取得了卓越的性能。在HumanEval Python基准测试上,该模型达到了46.2%的pass@1准确率。

此外,研究者还引入了”HumanEvalPack”,将HumanEval基准测试扩展到了3种编码任务(代码修复、代码解释、代码合成)和6种语言(Python、JavaScript、Java、Go、C++、Rust)。他们的模型,OctoCoder和OctoGeeX,在HumanEvalPack中的所有模型中表现最佳,证明了CommitPack在泛化到更广泛的语言集和自然编码任务上的优势。

3.第三名介绍

Parsel (GPT-4 + CodeT): 排名第三,其Pass@1得分为85.1,发布于2022年。相关论文为:”Parsel: Algorithmic Reasoning with Language Models by Composing Decompositions”

文中详细探讨了”Parsel”,一个专为增强大型语言模型(LLMs)在代码生成和层次化多步推理任务中的能力而设计的框架。为了更好地生成复杂的程序代码,Parsel采用了一种独特的方法:它首先自动将算法任务分解为层次化的自然语言函数描述,然后利用测试来寻找可能的函数实现方式。这种方法不仅适用于代码生成,还可以广泛应用于其他需要层次化推理的领域,如机器人规划。实验结果证明,Parsel在代码生成任务上,特别是在解决高难度的竞赛级问题时,相较于传统的直接生成方法,展现出了更为出色的性能。

4.第八名介绍

值得关注的是,中国的模型在这个排行榜上也有显著的表现。

例如,PanGu-Coder2 15B,其Pass@1得分为61.64,而Pass@100得分高达91.76分。排名第八,紧随GPT系列,相关论文为” PanGu-Coder2: Boosting Large Language Models for Code with Ranking Feedback”:

文中探讨了关于OpenAI发布了Codex之后,许多其他的代码生成模型如AlphaCode、PaLM-Coder和PanGu-Coder相继发布。但是,大多数代码LLM在性能上仍然落后于最新的商业模型,如OpenAI的GPT-3.5和GPT-4。

提出了RRTF框架:为了解决现有基于强化学习的方法的问题,并进一步挖掘Code LLM的潜力,作者提出了RRTF框架。与之前的工作如CodeRL和RLTF不同,RRTF采用了与InstructGPT/ChatGPT相似的RLHF(Reinforcement Learning from Human Feedback)的思想,但采用了一种更简单且高效的训练方法,使用排名响应作为反馈而不是奖励模型的绝对值。

通过广泛的评估,PanGu-Coder2在多个基准测试上都取得了最佳性能,尽管与如GPT系列的通用模型仍有一定差距,但是超越了之前所有发布的Code LLMs。

5.第29名介绍

清华大学开源的CodeGeeX-13B,其Pass@1得分为22.9分,排名29

相关论文为:”CodeGeeX: A Pre-Trained Model for Code Generation with Multilingual Evaluations on HumanEval-X”,介绍了CodeGeeX,用于代码生成的多语言模型,拥有130亿参数。CodeGeeX在2022年6月之前的23种编程语言上预训练了8500亿个TOKENS。广泛的实验表明,CodeGeeX在HumanEval-X上的代码生成和翻译任务上均超越了类似规模的多语言代码模型。此外,清华团队还在Visual Studio Code、JetBrains和Cloud Studio上构建了基于CodeGeeX的扩展,每周为数万活跃用户生成47亿TOKENS。用户研究显示,83.4%的用户认为CodeGeeX可以帮助提高编码效率。并且开源了其代码、模型权重、API、扩展和HumanEval-X。

而后面紧跟的CodeGeeX2-6B,Pass@1得分为35.9分,能力大幅加强,提升了12名

按照Pass@1分数(35.9)排序,位列17名左右,在开源CODE LLM中有相当的竞争力。

03.总结

总的来说,大型语言模型在代码生成领域的进展是显而易见的,各大研究团队都在不断推动技术的边界,努力提高模型的性能和实用性。特别是中国的模型,如PanGu-Coder2和CodeGeeX,不仅在排行榜上取得了骄人的成绩,更展现了中国在人工智能研究领域的实力和潜力。随着技术的不断进步,我们有理由相信,未来的语言模型将为编程和软件开发带来更多的便利和创新。

参照文献

1、Large Language Model Evaluation in 2023: 5 Methods (aimultiple.com)https://research.aimultiple.com/large-language-model-evaluation/

2、Evaluating the Code Quality of AI-Assisted Code Generation Tools: An Empirical Study on GitHub Copilot, Amazon CodeWhisperer, and ChatGPT https://arxiv.org/pdf/2304.10778.pdf

3、HumanEval Benchmark (Code Generation) | Papers With Codehttps://paperswithcode.com/sota/code-generation-on-humaneval

4、Evaluating Large Language Models Trained on Code https://arxiv.org/pdf/2107.03374.pdf

5、THUDM/CodeGeeX2: CodeGeeX2: A More Powerful Multilingual Code Generation Model (github.com)https://github.com/THUDM/CodeGeeX2

本文作者:海云安Secidea, 转载请注明来自FreeBuf.COM

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/123472.html<

(0)
运维的头像运维
上一篇2025-02-22 19:57
下一篇 2025-02-22 19:59

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注