- 简介虽然大型语言模型(LLMs)越来越被用于程序合成,但它们缺乏开发有用抽象所需的全局视图;它们通常一次预测一个程序,经常重复相同的功能。从头开始生成冗余代码既低效又容易出错。为了解决这个问题,我们提出了通用抽象学习的重构(ReGAL)方法,这是一种通过代码重构学习可重用函数库的无梯度方法,即重组代码而不改变其执行输出。ReGAL通过执行从一小组现有程序中学习,迭代地验证和完善其抽象。我们发现,ReGAL发现的共享函数库使跨不同领域的程序更容易预测。在三个数据集(LOGO图形生成、日期推理和TextCraft,基于Minecraft的文本游戏)上,无论是开源还是专有的LLMs,在预测使用ReGAL函数的程序时,准确性都有所提高。对于CodeLlama-13B,ReGAL在图形方面的绝对准确度提高了11.5%,在日期理解方面提高了26.1%,在TextCraft方面提高了8.1%,超越了GPT-3.5在三个领域中的两个。我们的分析揭示了ReGAL的抽象封装了经常使用的子程序以及环境动态。
- 图表
- 解决问题ReGAL试图解决的问题是通过重构代码来学习可重用函数库,以便于生成更加高效和准确的程序,以及减少重复性的代码。这是否是一个新问题?
- 关键思路ReGAL的关键思路是通过迭代地验证和完善其抽象来学习可重用函数库。相比当前领域的研究状况,这篇论文的思路提供了一种新的方法来学习程序的抽象和生成更加高效和准确的程序。
- 其它亮点论文使用了LOGO图形生成、日期推理和TextCraft等数据集进行实验,并且开源了代码。实验结果表明,ReGAL的函数库可以提高程序预测的准确性,相比于当前最先进的模型GPT-3.5在三个领域中有两个领域表现更好。此外,ReGAL的抽象还包括常用子程序和环境动态。
- 在这个领域中,最近的相关研究包括:"Neural Program Synthesis with Priority Queue Training","Neural Program Synthesis with Reinforcement Learning"等。
沙发等你来抢
去评论
评论
沙发等你来抢