RES-Q: 对代码编辑大规模语言模型系统的评估
通过一个仔细设计的代码编辑任务基准以及结合自然语言指令的训练集,我们评估了几个最先进的大型语言模型,并揭示了现有开源和闭源模型之间的显著差距。同时,我们展示了通过精细调优开源代码语言模型可以显著提高其代码编辑能力。
Dec, 2023
通过 CodeEditorBench,我们为 LLMs 的代码编辑能力提供了一个可靠的评估平台,其中 19 个 LLMs 的评估结果表明闭源模型(特别是 Gemini-Ultra 和 GPT-4)在 CodeEditorBench 中优于开源模型,并突出了基于问题类型和提示敏感性的模型性能差异。
Apr, 2024
利用 EREN(通过阅读笔记编辑模型)提出方法来提高大型语言模型的可伸缩性和鲁棒性,通过正确响应语法相似但语义无关的输入以及从多个修改中整合知识,优于现有技术。
Mar, 2024
RepoQA 是一个多语言且综合性的基准测试,评估了 LLMs 在长上下文代码理解上的能力,并展示了开源和专有模型之间仍存在着一小段差距,不同模型在不同编程语言上具有良好的表现,而没有注释的代码可能会更好地被模型理解。
Jun, 2024
LLMs 在代码生成任务中展示了显著的潜力,在各种基准测试中在函数或语句级别取得了有希望的结果。然而,在创建类等代码构件方面的复杂性,特别是在实际软件库的背景下,尚未得到充分探索。现有的研究通常将类级生成视为一项孤立的任务,忽视了表征实际软件开发环境的错综复杂的依赖关系和交互作用。为了填补这一空白,我们介绍了 RepoClassBench,这是一个旨在严格评估 LLMs 在创建复杂的类级代码时在实际软件库中的能力的基准测试。RepoClassBench 包括 Java 和 Python 中的自然语言到类的生成任务,来自一组公共软件库。我们确保数据集中的每个类不仅在库内跨文件存在依赖关系,而且还包括相应的测试用例来验证其功能。我们发现目前的模型在我们的基准测试中面临着现实挑战,主要是由于它们对相关库上下文的有限了解。为了解决这个缺点,我们介绍了 Retrieve-Repotools-Reflect (RRR),这是一种新颖的方法,为 LLMs 提供静态分析工具,以迭代地导航和推理库级上下文,并在基于代理的框架中进行。我们的实验表明,RRR 在 RepoClassBench 上明显优于现有基准线,展示了它在不同编程语言和各种设置中的有效性。我们的发现强调了需要结合库级依赖关系以更准确地反映软件开发的复杂性的基准测试的必要性。我们的工作说明了利用专门的工具增强 LLMs 对库上下文的理解的益处。我们计划公开我们的数据集和评估工具。
Apr, 2024
这篇综述研究了大型语言模型在编码生成任务中的有效提示方法,探讨了从个别编码问题到仓库规模解决方案的转变,旨在推进开发者生产力,为商业应用场景提供有用且适用的黑盒语言模型方法,并介绍了基于仓库级提示生成技术与 RepoCoder 的迭代检索与生成方法之间的权衡,以确立最佳实践,为尖端编码基准提供改进路径。
Dec, 2023
该研究介绍一种名为 RepoBench 的新基准,旨在评估特定于存储库的代码自动完成系统,该基准包含三个相互关联的评估任务:RepoBench-R(检索),RepoBench-C(代码完成)和 RepoBench-P(管道),每个任务分别衡量系统从其他文件中检索最相关的代码片段的能力作为跨文件上下文,使用跨文件和文件内上下文预测代码的下一行以及处理需要检索和下一行预测组合的复杂任务。
Jun, 2023
本研究使用大型语言模型(LLMs)和 InstructCoder 数据集,探索用户指令下的代码编辑,涵盖评论插入、代码优化和代码重构等多个隐含任务。实验证明,在 InstructCoder 数据集上对开源 LLMs 进行精细调整,能够大多数情况下正确地编辑代码,展现了前所未有的代码编辑性能水平。
Oct, 2023
大型语言模型引入新的安全风险,但缺乏综合评估套件来衡量和减少这些风险。我们提出了 BenchmarkName,这是一个用于量化 LLM 安全风险和能力的新型基准。我们介绍了两个新领域的测试:提示注入和代码解释器滥用。我们评估了多种最先进的 LLMs,包括 GPT-4、Mistral、Meta Llama 3 70B-Instruct 和 Code Llama。我们的结果表明,消除攻击风险的条件仍然是一个尚未解决的问题;例如,所有测试模型在成功的提示注入测试中显示出 26% 到 41% 之间的结果。我们进一步引入了安全效用权衡:将 LLM 条件化以拒绝不安全的提示可能导致 LLM 错误地拒绝回答良性提示,从而降低效用。我们建议使用 False Refusal Rate(FRR)来量化这种权衡。作为示例,我们引入了一个新的测试集来量化网络攻击有用性风险的 FRR。我们发现,许多 LLMs 能够与 “边界线” 良性请求成功地相符,同时拒绝大部分不安全的请求。最后,我们量化了 LLMs 在自动化核心网络安全任务(例如利用软件漏洞)方面的效用。这很重要,因为 LLMs 的进攻能力引起了极大的兴趣;我们通过为四个典型问题创建新的测试集来量化这一点。我们发现具有编码能力的模型优于无编码能力的模型,但 LLMs 在利用生成方面还需要进一步的工作。我们的代码是开源的,可以用于评估其他 LLMs。
Apr, 2024
本文研究了大型语言模型在实体解析过程中的潜力,包括利用语言模型的优势以及大规模匹配所涉及的计算复杂性,并提出了一种选择最有效匹配问题的策略,同时限制消耗预算,以减少实体解析的不确定性。通过熵作为度量标准评估我们的方法的效果,实验结果证明了我们提出的方法的效率和有效性,为实际应用提供了有希望的前景。
Jan, 2024