目前,针对不同部署规模和规模的大型语言模型(LLM)是通过从头开始训练每个变体来生成的;这是极其计算密集型的。在本文中,我们研究了修剪现有的 LLM,然后使用原始训练数据的一小部分(<3%)对其进行重新训练是否可以作为重复、完全重新训练的合适替代方案。为此,我们为 LLM 开发了一套实用有效的压缩最佳实践,将深度、宽度、注意力和 MLP 剪枝与基于知识蒸馏的再训练相结合;我们通过对每个轴的修剪策略、组合轴的方法、蒸馏策略以及用于实现最佳压缩架构的搜索技术进行详细的实证探索来得出这些最佳实践 ...
本文探讨了扩展输入长度对大型语言模型 (LLM) 功能的影响。尽管 LLM 近年来取得了进步,但它们在不同输入长度上的性能一致性尚不清楚。我们通过引入一种新颖的 QA 推理框架来研究这个方面,该框架专门用于评估输入长度的影响 ...
生成模型在软件工程中展示了巨大的潜力,特别是在代码生成和调试等任务中。然而,它们在代码文档生成领域的利用仍未得到充分探索。为此,我们引入了 RepoAgent,这是一个大型语言模型驱动的开源框架,旨在主动生成、维护和更新代码文档 ...
在本文中,我们解决了以下问题:我们如何使用大型语言模型(LLM)独立于人类来改进代码,同时确保改进后的代码 - 不回归原始代码的属性? - 以可验证和可衡量的方式改进原始版本? 为了解决这个问题,我们提倡基于LLM的软件工程;受遗传改良启发的一种生成和测试方法。 Assured LLMSE 应用一系列语义过滤器,丢弃无法满足这些双重保证的代码。这克服了LLM产生幻觉倾向的潜在问题 ...
大型语言模型 (LLM) 的最新进展在广泛的一般领域任务(例如回答问题和遵循指令)中表现出了非凡的成功。此外, LLM 在各种软件工程应用中表现出了潜力。在本研究中,我们对 ChatGPT LLM 和最先进的 SBST 工具 EvoSuite 生成的测试套件进行了系统比较 ...
像思想链提示这样流行的提示策略可以显着提高各个领域的大型语言模型(LLM)的推理能力。然而,这种手工制定的提示策略通常不是最佳的。在本文中,我们提出了 Promptbreeder,这是一种通用的自我参考自我改进机制,可以针对给定领域发展和调整提示 ...
大型语言模型(LLM)在代码生成方面取得了令人印象深刻的性能。然而,对于复杂的编程任务,一次性生成正确的解决方案变得具有挑战性,因此一些先前的工作设计了程序修复方法来提高代码生成性能。在这项工作中,我们提出了自调试,它教导大型语言模型通过几次演示来调试其预测的程序 ...