Is Programming by Example solved by LLMs?

2024年06月12日
  • 简介
    编程通过示例(PBE)旨在从输入输出示例中生成算法。这种系统在实践和理论上都非常重要:从最终用户的角度来看,它们被部署到数百万人中,而从人工智能的角度来看,PBE对应于一种非常一般的少样本归纳推理形式。鉴于大型语言模型(LLM)在代码生成任务中的成功,我们在这里调查LLM在多大程度上可以被认为已经“解决”了PBE。我们在经典领域(如列表和字符串)以及在典型的预训练数据中没有很好代表的不常见的图形编程领域上进行了实验。我们发现预训练模型在PBE方面并不有效,但是,如果测试问题属于分布内,它们可以被微调以获得更高的性能。我们经验性地分析了是什么原因导致这些模型成功和失败,并采取措施了解如何实现更好的分布外泛化。总的来说,这些结果表明LLM在解决典型的PBE任务方面取得了强大的进展,可能增加了PBE系统的灵活性和适用性,同时也确定了LLM仍然存在不足之处。
  • 作者讲解
  • 图表
  • 解决问题
    论文试图探究大型语言模型(LLMs)在编程-by-example(PBE)中的应用,以及它们是否能够解决PBE问题。
  • 关键思路
    论文发现,虽然预训练模型在PBE任务中表现不佳,但是它们可以通过微调在测试问题为内部分布时获得更高的性能。此外,论文还探讨了预训练模型成功和失败的原因,并试图理解如何实现更好的分布外泛化。
  • 其它亮点
    论文在经典领域(如列表和字符串)以及不常见的图形编程领域进行了实验,并发现预训练模型在PBE方面表现不佳。然而,当微调模型时,可以获得更好的性能。实验使用了多个数据集,并提供了开源代码。论文的结果表明,LLMs在解决PBE问题方面取得了很大进展,同时也揭示了LLMs仍然存在的局限性。
  • 相关研究
    最近的相关研究包括使用神经网络进行PBE的其他方法,例如神经程序合成和神经网络推理。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问