Learning to Program with Natural Language
解决问题:该论文提出了一种新的方法,使用自然语言作为编程语言,让大型语言模型(LLMs)学习自然语言程序,并用学习到的程序来指导推理,从而更好地完成复杂任务。
关键思路:论文的关键思路是使用自然语言作为编程语言,让LLMs学习自然语言程序,从而更好地完成复杂任务。相比当前的研究状况,该论文的思路是一种全新的尝试,使用自然语言编程的方法来解决任务,这是一种创新的思路。
其他亮点:该论文的实验使用了AMPS(高中数学)和Math(竞赛数学问题)数据集,证明了该方法的有效性。此外,论文还开源了代码。
关于作者:该论文的主要作者是来自微软亚洲研究院的研究员,他们之前的代表作包括“BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”和“Unsupervised Machine Translation Using Monolingual Corpora Only”。
相关研究:近期其他相关的研究还包括“CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing”(by Ke Wang, Xiaodong Liu, etc.)和“RoBERTa: A Robustly Optimized BERT Pretraining Approach”(by Yinhan Liu, Myle Ott, etc.)。这些研究都是基于大型语言模型的自然语言处理和编程领域的研究。
论文摘要:学习自然语言编程
郭一铎、梁耀波、吴晨飞、吴文珊、赵东炎、段南
大型语言模型(LLM)在各种基本自然语言任务中表现出色,这引发了实现人工通用智能的希望。为了更好地完成复杂任务,我们需要LLM为任务编程,然后按照程序生成特定的解决方案来测试样本。我们提出使用自然语言作为一种新的编程语言来描述任务过程,使其易于人类和LLM理解。LLM能够直接生成自然语言程序,但这些程序可能仍然包含事实错误或不完整的步骤。因此,我们进一步提出了学习编程(LP)的方法,要求LLM从复杂任务的训练数据集中学习自然语言程序,然后使用学习到的程序来指导推理。我们在高中数学竞赛AMPS和数学竞赛问题Math数据集上的实验证明了我们方法的有效性。在AMPS数据集的10个任务上测试ChatGPT时,我们的LP方法的平均性能优于零-shot测试性能18.3%。我们在url{https://github.com/microsoft/NaturalLanguageProgram}上发布了我们的代码。