![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LLM for code
文章平均质量分 68
UnknownBody
AI博士,最近一直follow大模型相关论文,每日会更新学术界论文的进展。
展开
-
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 · 5 阅读 · 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 · 17 阅读 · 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 · 24 阅读 · 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 · 399 阅读 · 0 评论 -
Code Comparison Tuning for Code Large Language Models
我们提出了代码比较调整(CCT),这是一种简单有效的代码大型语言模型(Code-LLM)调整方法,可以更好地处理细微的代码错误。具体来说,我们将比较的概念集成到指令调优中,无论是在token级别还是在序列级别,使模型能够识别代码中哪怕是最微小的偏差。为了将原始代码与包含手动添加的代码错误的错误版本进行比较,我们使用token级别偏好丢失进行详细的token级别比较。此外,我们将代码段组合在一起,创建了一个新的指令调优示例,用于序列级比较,增强了模型的错误修复能力。原创 2024-06-24 11:05:03 · 11 阅读 · 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 · 12 阅读 · 0 评论 -
LLaMoCo: Instruction Tuning of Large Language Models for Optimization Code Generation
最近的研究探索了使用大型语言模型(LLM)的优化,方法是迭代地从LLM中寻找下一步解决方案,或者直接提示LLM使用优化器。然而,这些方法表现出固有的局限性,包括操作效率低、对提示设计的敏感性高以及缺乏特定领域的知识。我们介绍了LLaMoCo,这是第一个指令调优框架,旨在调整LLM,以代码对代码的方式解决优化问题。具体来说,我们建立了一个全面的指令集,其中包含描述良好的问题提示和有效的优化代码。原创 2024-06-21 10:20:29 · 15 阅读 · 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 · 100 阅读 · 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 · 24 阅读 · 0 评论 -
Exploring Safety Generalization Challenges of Large Language Models via Code
大型语言模型(LLM)的快速发展带来了显著的生成能力,但也引发了人们对其潜在误用的担忧。虽然监督微调和从人类反馈中强化学习等策略提高了它们的安全性,但这些方法主要关注自然语言,可能不会推广到其他领域。本文介绍了CodeAttack,这是一个将自然语言输入转换为代码输入的框架,为测试LLM的安全泛化提供了一个新的环境。原创 2024-05-27 14:34:21 · 19 阅读 · 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 · 106 阅读 · 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 · 33 阅读 · 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 · 21 阅读 · 0 评论 -
An Empirical Evaluation of Large Language Models for Code Generation
大型语言模型(LLM)在代码生成方面表现出了显著的熟练程度,大量先前的研究表明它们在各种开发场景中都有很好的能力。然而,这些研究主要在研究环境中提供评估,这在理解LLM在现实世界中如何有效地支持开发人员方面留下了重大差距。为了解决这一问题,我们对DevGPT中的对话进行了实证分析,DevGPT是从开发人员与ChatGPT的对话中收集的数据集(在GitHub等平台上使用共享链接功能捕获)。我们的经验发现表明,当前使用LLM生成代码的实践通常仅限于演示高级概念或在文档中提供示例,而不是用作生产准备代码。原创 2024-04-05 14:18:11 · 29 阅读 · 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 · 24 阅读 · 0 评论 -
LEMUR: HARMONIZING NATURAL LANGUAGE AND CODE FOR LANGUAGE AGENTS
我们介绍了Lemur和Lemur Chat,这两种开放访问的语言模型针对自然语言和编码功能进行了优化,可作为通用语言代理的骨干。从语言聊天模型到功能语言代理的发展要求模型不仅掌握人类互动、推理和规划,而且确保在相关环境中的基础。这就要求模型中语言和编码能力的和谐融合。Lemur和Lemur Chat是为了解决这一必要性而提出的,它们在这两个领域都表现出了平衡的熟练程度,而现有的开源模型往往专门针对这两个方面。原创 2023-11-10 11:14:00 · 86 阅读 · 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 · 165 阅读 · 0 评论 -
Improving Natural Language Capability of Code Large Language Model
代码大型语言模型(Code-LLM)在代码生成方面表现出了显著的性能。尽管如此,大多数现有的工作都侧重于从编程能力的角度提升代码LLM,而它们的自然语言能力却很少受到关注。为了填补这一空白,我们提出了一个新的框架,包括两个模块:AttentionExtractor和AttentionCoder,前者负责从用户的自然语言需求中提取关键短语,后者利用这些提取的短语生成目标代码来解决需求。该框架通过将代码LLM与传统的自然语言处理工具无缝集成,开创了一个创新的想法。原创 2024-02-29 10:27:27 · 319 阅读 · 0 评论