LLM for code
文章平均质量分 69
UnknownBody
AI博士,最近一直follow大模型相关论文,每日会更新学术界论文的进展。
展开
-
mHumanEval - A Multilingual Benchmark to Evaluate Large Language Models for Code Generation
大型语言模型 (LLM) 的最新进展显著增强了从自然语言提示生成代码的能力。由 OpenAI 开发的 HumanEval 基准测试仍然是使用最广泛的代码生成基准测试。然而,这个和其他 Code LLM 基准测试面临着严重的限制,特别是在任务多样性、测试覆盖率和语言范围方面。当前的评估主要集中在测试用例有限的英语到 Python 转换任务上,可能会高估模型性能。虽然最近的工作解决了测试覆盖率和编程语言 (PL) 多样性,但从低资源语言提示生成代码在很大程度上仍未得到探索。原创 2024-11-13 09:30:00 · 206 阅读 · 0 评论 -
CODEJUDGE : Evaluating Code Generation with Large Language Models
大型语言模型(LLM)在代码生成方面表现出了良好的性能。然而,如何可靠地评估LLM生成的代码仍然是一个未解决的问题。本文介绍了CODEJUDGE,这是一个代码评估框架,它利用LLM来评估生成代码的语义正确性,而不需要测试用例。我们研究了不同的方法来指导LLM进行“慢思维”,以获得深入可靠的评估。我们在四个代码生成数据集和五种编程语言上用四个LLM作为评估器进行了实验。结果表明,在大多数情况下,CODEJUDGE的表现明显优于现有方法。原创 2024-11-09 10:15:00 · 123 阅读 · 0 评论 -
Unlock the Correlation between Supervised Fine-Tuning and Reinforcement Learning in Training Code
自动代码生成一直是一个由来已久的研究课题。随着通用大型语言模型 (LLM) 的进步,编码能力成为衡量模型推理性能的重要指标之一。通常,为了获得 Code LLM,会实施两个阶段的训练范式,即预训练和微调。在微调中,监督微调 (SFT) 和强化学习 (RL) 通常用于提高模型的零样本能力。已经进行了大量工作,通过修改算法或优化数据集来提高模型在代码相关基准上的性能。然而,我们仍然缺乏对 SFT 和 RL 之间相关性的深刻见解。原创 2024-11-08 09:45:54 · 97 阅读 · 0 评论 -
Analysis of Code and Test-Code generated by Large Language Models
ChatGPT 和 Copilot 等大型语言模型 (LLM) 正在通过自动生成代码来改变软件开发,并且可以说可以实现快速原型设计、支持教育并提高生产力。因此,生成的代码的正确性和质量应该与手动编写的代码相当。为了评估法学硕士在生成高质量正确代码方面的现状,我们使用 ChatGPT 和 Copilot 进行了对照实验:我们让法学硕士用 Java 和 Python 生成简单的算法以及相应的单元测试,并评估正确性和质量(覆盖率) )生成的(测试)代码。原创 2024-09-19 10:44:36 · 166 阅读 · 0 评论 -
Planning In Natural Language Improves LLM Search For Code Generation
虽然扩展训练计算已经导致大型语言模型 (LLM) 的显着改进,但扩展推理计算尚未产生类似的收益。我们假设核心缺失部分是缺乏多样化的 LLM 输出,由于模型重复采样高度相似但不正确的生成,导致搜索效率低下。我们凭经验证明,可以通过搜索用自然语言解决问题的候选计划来缓解这种多样性的缺乏。基于这一见解,我们提出了 PLANSEARCH,这是一种新颖的搜索算法,它在 HumanEval+、MBPP+ 和 LiveCodeBench(竞争性编码的无污染基准)上显示出强大的结果。原创 2024-09-18 14:52:11 · 111 阅读 · 0 评论 -
NExT: Teaching Large Language Models to Reason about Code Execution
人类开发人员的一项基本技能是理解和推理程序执行的能力。例如,程序员可以在脑海中模拟自然语言的代码执行,以调试和修复代码(又名橡皮鸭调试)。但是,代码的大型语言模型 (LLM) 通常在程序的表面文本形式上进行训练,因此可能缺乏对程序在运行时执行方式的语义理解。为了解决这个问题,我们提出了 NExT,这是一种教 LLM 检查程序的执行跟踪(已执行行的可变状态)并通过思维链 (CoT) 基本原理推理其运行时行为的方法。原创 2024-09-11 16:24:40 · 40 阅读 · 0 评论 -
A Survey on Large Language Models for Code Generation
大型语言模型 (LLM) 在各种与代码相关的任务(称为代码 LLM)中取得了显著的进步,尤其是在使用 LLM 从自然语言描述生成源代码的代码生成方面。由于其在软件开发(例如 GitHub Copilot)中的实际意义,这个新兴领域引起了学术研究人员和行业专业人士的极大兴趣。尽管从自然语言处理 (NLP) 或软件工程 (SE) 或两者兼而有之的角度来看,人们积极探索 LLM 用于各种代码任务,但明显缺乏专门针对 LLM 用于代码生成的全面和最新的文献综述。原创 2024-09-09 19:39:15 · 167 阅读 · 0 评论 -
Exploring and Unleashing the Power of Large Language Models in Automated Code Translation
代码翻译工具,即转译器,是为自动源到源翻译而开发的。最新的基于学习的转译器在翻译准确性和可读性方面都比基于规则的转译者有了显著的提高,这是由于它们在广泛的单语语料库上进行了针对特定任务的预训练。然而,他们目前的表现对于实际部署来说仍然不能令人满意,相关的训练资源也过于昂贵。大型语言模型(LLM)在大量人类编写的代码/文本上进行了预训练,由于其强大的通用性,即使没有针对特定任务的重新训练/微调,也在许多代码智能任务中表现出了卓越的性能。因此,LLM可以潜在地规避上述限制,但它们还没有被彻底探索。原创 2024-08-04 11:26:57 · 76 阅读 · 0 评论 -
A Multi-Expert Large Language Model Architecture for Verilog Code Generation
最近,人们对使用大型语言模型(LLM)生成Verilog代码的兴趣激增。然而,现有的方法在生成的Verilog代码的质量方面是有限的。为了解决这些局限性,本文介绍了一种用于Verilog代码生成的创新的多专家LLM架构(MEV-LLM)。我们的架构独特地集成了多个LLM,每个LLM都使用一个数据集进行了专门的微调,该数据集根据不同的设计复杂性级别进行了分类。它允许更有针对性的学习,直接解决为每个类别生成Verilog代码的细微差别。原创 2024-08-04 11:15:23 · 48 阅读 · 0 评论 -
CODEEDITORBENCH: EVALUATING CODE EDITING CAPABILITY OF LARGE LANGUAGE MODELS
代码的大型语言模型(LLM)正在迅速发展,代码编辑成为一项关键能力。我们介绍CodeEditorBench,这是一个评估框架,旨在严格评估LLM在代码编辑任务中的性能,包括调试、翻译、打磨和需求切换。与仅专注于代码生成的现有基准不同,CodeEditorBench强调软件开发的真实场景和实际方面。我们从五个来源策划了各种编码挑战和场景,涵盖了各种编程语言、复杂性级别和编辑任务。原创 2024-07-24 09:21:07 · 166 阅读 · 0 评论 -
Do Neutral Prompts Produce Insecure Code?
本研究对最先进的大型语言模型(LLM)进行了比较分析,分析了它们在使用中性零样本提示编写简单C程序时产生漏洞的可能性。我们解决了文献中关于这些模型在没有特定指令的情况下生成的代码的安全属性的一个重大空白。N.Tihanyi等人在PROMISE’23上介绍了FormAI数据集,其中包含112000个GPT-3.5生成的C程序,超过51.24%被确定为易受攻击。原创 2024-07-11 16:21:03 · 35 阅读 · 0 评论 -
Bugs in Large Language Models Generated Code: An Empirical Study
用于代码的大型语言模型(LLM)最近得到了极大的关注。他们可以根据提供的提示用不同的编程语言生成代码,实现软件工程(SE)中一个长期的梦想,即自动生成代码。与人工编写的代码类似,LLM生成的代码很容易出现错误,而且这些错误尚未得到社区的彻底检查。鉴于SE活动中越来越多地采用基于LLM的代码生成工具(例如GitHub Copilot),了解LLM生成的代码中包含的错误的特征至关重要。原创 2024-07-08 19:45:31 · 45 阅读 · 0 评论 -
LLM4Decompile: Decompiling Binary Code with Large Language Models
反编译旨在将二进制代码转换为高级源代码,但像Ghidra这样的传统工具往往会产生难以读取和执行的结果。受大型语言模型(LLM)进步的启发,我们提出了LLM4Decompile,这是第一个也是最大的开源LLM系列(1.3B到33B),用于反编译二进制代码。我们优化了LLM训练过程,并引入LLM4Decompile-End模型来直接反编译二进制文件。由此产生的模型在HumanEval和ExeBeach基准测试中显著优于GPT-4o和Ghidra超过100%。原创 2024-06-25 14:25:06 · 100 阅读 · 0 评论 -
LiveCodeBench: Holistic and Contamination Free Evaluation of Large Language Models for Code
应用于代码相关应用程序的大型语言模型(LLM)已成为一个突出的领域,吸引了学术界和工业界的极大兴趣。然而,随着新的和改进的LLM的开发,现有的评估基准(如HumanEval、MBPP)不再足以评估其能力。在这项工作中,我们提出了LiveCodeBench,这是一种对代码LLM的全面且无污染的评估,它从三个竞争平台(即LeetCode、AtCoder和CodeForces)的比赛中收集新问题。值得注意的是,我们的基准测试还关注更广泛的代码相关功能,如自修复、代码执行和测试输出预测,而不仅仅是代码生成。原创 2024-06-24 15:34:06 · 495 阅读 · 0 评论 -
Code Comparison Tuning for Code Large Language Models
我们提出了代码比较调整(CCT),这是一种简单有效的代码大型语言模型(Code-LLM)调整方法,可以更好地处理细微的代码错误。具体来说,我们将比较的概念集成到指令调优中,无论是在token级别还是在序列级别,使模型能够识别代码中哪怕是最微小的偏差。为了将原始代码与包含手动添加的代码错误的错误版本进行比较,我们使用token级别偏好丢失进行详细的token级别比较。此外,我们将代码段组合在一起,创建了一个新的指令调优示例,用于序列级比较,增强了模型的错误修复能力。原创 2024-06-24 11:05:03 · 38 阅读 · 0 评论 -
SEED: Customize Large Language Models with Sample-Efficient Adaptation for Code Generation
摘要1 引言2 动机示例3 方法4 评估5 相关工作6 对有效性的威胁7 结论尽管大型语言模型(LLM)在代码生成方面取得了重大进展,但它们在特定场景中仍难以完成代码生成任务。这些场景通常需要对LLM进行调整以满足特定需求,但实践中可用的有限训练样本导致代码生成性能较差。因此,如何在很少的训练样本的情况下有效地将LLM适应新的场景是当前代码生成的一个主要挑战。在本文中,我们提出了一种新的自适应方法SEED,它代表了用于代码生成的带有错误驱动学习的样本有效自适应。原创 2024-06-21 15:36:19 · 52 阅读 · 0 评论 -
LLaMoCo: Instruction Tuning of Large Language Models for Optimization Code Generation
最近的研究探索了使用大型语言模型(LLM)的优化,方法是迭代地从LLM中寻找下一步解决方案,或者直接提示LLM使用优化器。然而,这些方法表现出固有的局限性,包括操作效率低、对提示设计的敏感性高以及缺乏特定领域的知识。我们介绍了LLaMoCo,这是第一个指令调优框架,旨在调整LLM,以代码对代码的方式解决优化问题。具体来说,我们建立了一个全面的指令集,其中包含描述良好的问题提示和有效的优化代码。原创 2024-06-21 10:20:29 · 99 阅读 · 0 评论 -
Exploring the Impact of the Output Format on the Evaluation of Large Language Models
编程语言之间的代码翻译是软件工程中一项长期存在的关键任务,有助于传统系统的现代化,确保跨平台兼容性,并提高软件性能。随着大型语言模型(LLM)及其在代码翻译中的应用的最新进展,人们越来越需要对这些模型进行全面评估。在这项研究中,我们在五种语言(包括C、C++、Go、Java和Python)的3820个翻译对上实证分析了11个流行的指令调整LLM的生成输出,参数范围从1B到46.7B。原创 2024-06-21 10:03:09 · 137 阅读 · 0 评论 -
A systematic evaluation of large language models for generating programming code
我们系统地评估了七个大型语言模型在使用各种提示策略、编程语言和任务困难生成编程代码方面的性能。GPT-4大大优于其他大型语言模型,包括Gemini Ultra和Claude 2。GPT-4的编码性能因不同的提示策略而有很大差异。在本研究评估的大多数LeetCode和GeeksforGeeks编码比赛中,采用最佳提示策略的GPT-4优于85%的人类参与者。此外,GPT-4在不同编程语言之间转换代码以及从过去的错误中学习方面表现出强大的能力。GPT-4生成的代码的计算效率与人类程序员的计算效率相当。原创 2024-06-19 10:47:43 · 61 阅读 · 0 评论 -
Exploring Safety Generalization Challenges of Large Language Models via Code
大型语言模型(LLM)的快速发展带来了显著的生成能力,但也引发了人们对其潜在误用的担忧。虽然监督微调和从人类反馈中强化学习等策略提高了它们的安全性,但这些方法主要关注自然语言,可能不会推广到其他领域。本文介绍了CodeAttack,这是一个将自然语言输入转换为代码输入的框架,为测试LLM的安全泛化提供了一个新的环境。原创 2024-05-27 14:34:21 · 66 阅读 · 0 评论 -
StarCoder 2 and The Stack v2: The Next Generation
BigCode项目是一个开放的科学合作项目,专注于负责任地开发大型代码语言模型(Code LLM),引入了StarCoder2。我们与软件遗产(SWH)合作,在其源代码档案的数字公共空间之上构建了The Stack v2。除了涵盖619种编程语言的SWH存储库外,我们还仔细选择了其他高质量的数据源,如GitHub拉取请求、Kaggle笔记本和代码文档。这导致训练集比第一个StarCoder数据集大4倍。原创 2024-05-09 09:20:51 · 191 阅读 · 0 评论 -
Echo-Locating Code Large Language Models with Diverse and Multi-Objective Instruction Tuning
代码大型语言模型(Code-LLM)在与代码相关的任务中表现出了卓越的性能。已经提出了几种指令调优方法来提高预训练的代码LLM的代码生成性能。在本文中,我们介绍了一种用于代码生成的具有自评估功能的多样化指令模型(DolphCoder)。它学习不同的指令目标,并结合代码评估目标来增强其代码生成能力。我们的模型在HumanEval和MBPP基准测试上实现了卓越的性能,为未来的代码指令调优工作展示了新的见解。我们的主要发现是:(1)通过不同的推理路径增强更多样的响应,提高了LLM的代码能力。原创 2024-04-09 09:53:09 · 66 阅读 · 0 评论 -
Do Machines and Humans Focus on Similar Code? Exploring Explainability of Large Language Models
摘要1 引言2 背景和相关工作3 实验设计4 结果5 结论最近的语言模型已经证明了在总结源代码方面的熟练程度。然而,与机器学习的许多其他领域一样,代码的语言模型缺乏足够的可解释性。非正式地说,我们对模型从代码中学习什么以及如何学习缺乏公式化或直观的理解。如果当模型学习生成更高质量的代码摘要时,它们也一致认为与人类程序员识别的代码部分相同的代码部分很重要,那么语言模型的可解释性就可以部分提供。在本文中,我们报告了从人类理解的角度研究代码摘要中语言模型的可解释性的负面结果。原创 2024-04-05 15:05:11 · 39 阅读 · 0 评论 -
An Empirical Evaluation of Large Language Models for Code Generation
大型语言模型(LLM)在代码生成方面表现出了显著的熟练程度,大量先前的研究表明它们在各种开发场景中都有很好的能力。然而,这些研究主要在研究环境中提供评估,这在理解LLM在现实世界中如何有效地支持开发人员方面留下了重大差距。为了解决这一问题,我们对DevGPT中的对话进行了实证分析,DevGPT是从开发人员与ChatGPT的对话中收集的数据集(在GitHub等平台上使用共享链接功能捕获)。我们的经验发现表明,当前使用LLM生成代码的实践通常仅限于演示高级概念或在文档中提供示例,而不是用作生产准备代码。原创 2024-04-05 14:18:11 · 49 阅读 · 0 评论 -
A Large-Scale Dataset Capable of Enhancing the Prowess of Large Language Models for Program Testing
在本文中,我们介绍了UniTSyn,这是一个新颖、多样化和大规模的数据集,包含功能级焦点测试对,旨在刺激人工智能理解和编写程序,特别是测试用例。该数据集不仅在大小和多样性方面表现出色,而且可以轻松扩展到其他编程语言以执行特定任务。我们进一步建立了一个基于UniTSyn的自回归模型来验证所收集的测试代码语料库的质量。这体现在它在生成测试的准确性和完整性方面的优越性上。我们希望UniTSyn将推动人工智能在软件测试和程序理解方面的发展。原创 2024-04-05 13:39:36 · 52 阅读 · 0 评论 -
LEMUR: HARMONIZING NATURAL LANGUAGE AND CODE FOR LANGUAGE AGENTS
我们介绍了Lemur和Lemur Chat,这两种开放访问的语言模型针对自然语言和编码功能进行了优化,可作为通用语言代理的骨干。从语言聊天模型到功能语言代理的发展要求模型不仅掌握人类互动、推理和规划,而且确保在相关环境中的基础。这就要求模型中语言和编码能力的和谐融合。Lemur和Lemur Chat是为了解决这一必要性而提出的,它们在这两个领域都表现出了平衡的熟练程度,而现有的开源模型往往专门针对这两个方面。原创 2023-11-10 11:14:00 · 120 阅读 · 0 评论 -
DeepSeek-Coder: When the Large Language Model Meets Programming - The Rise of Code Intelligence
大型语言模型的快速发展使软件开发中的代码智能发生了革命性的变化。然而,闭源模型的优势限制了广泛的研究和开发。为了解决这一问题,我们推出了DeepSeek编码器系列,这是一系列大小从1.3B到33B的开源代码模型,在2万亿token上从头开始训练。这些模型是在高质量的项目级代码语料库上预训练的,并使用具有16K窗口的填空任务来增强代码生成和填充。我们的广泛评估表明,DeepSeek Coder不仅在多个基准测试的开源代码模型中实现了最先进的性能,而且超过了Codex和GPT-3.5等现有的闭源代码模型。原创 2024-03-05 13:35:51 · 227 阅读 · 0 评论 -
Improving Natural Language Capability of Code Large Language Model
代码大型语言模型(Code-LLM)在代码生成方面表现出了显著的性能。尽管如此,大多数现有的工作都侧重于从编程能力的角度提升代码LLM,而它们的自然语言能力却很少受到关注。为了填补这一空白,我们提出了一个新的框架,包括两个模块:AttentionExtractor和AttentionCoder,前者负责从用户的自然语言需求中提取关键短语,后者利用这些提取的短语生成目标代码来解决需求。该框架通过将代码LLM与传统的自然语言处理工具无缝集成,开创了一个创新的想法。原创 2024-02-29 10:27:27 · 344 阅读 · 0 评论
分享