技术提高了大型语言模型的推理能力

像ChatGPT这样的大型语言模型在起草法律备忘录、分析客户评论情感或将文件翻译成不同语言等任务上表现出色。

这些机器学习模型通常只使用自然语言来处理信息和回答查询,这使得它们难以执行需要数值或符号推理的任务。

例如,一个大型语言模型可能能够记住并背诵最近美国总统及其生日的列表,但如果问到“1950年后当选的美国总统中有哪些是在星期三出生的?”(答案是吉米·卡特),同样的模型可能会失败。

麻省理工学院和其他地方的研究人员提出了一种新技术,使大型语言模型能够通过生成程序来解决自然语言、数学和数据分析以及符号推理任务。

他们的方法被称为自然语言嵌入程序(NLEPs),它涉及提示语言模型创建和执行Python程序来解决用户的查询,并将解决方案以自然语言输出。

他们发现,NLEPs使大型语言模型在各种推理任务上实现了更高的准确性。该方法也具有通用性,这意味着一个NLEP提示可以重复使用于多个任务。

NLEPs还提高了透明度,因为用户可以检查程序,确切地了解模型对查询的推理方式,并在模型给出错误答案时修复程序。

麻省理工学院博士后和NLEPs论文的共同主要作者洛洪银说:“我们希望AI能够以透明和可信赖的方式进行复杂推理。虽然还有很长的路要走,但我们已经证明,将编程和自然语言的能力结合在大型语言模型中是迈向人们能够完全理解和信任其AI模型内部运作的未来的一个非常好的潜在第一步。”

洛洪银与论文的共同主要作者张天华(中国香港中文大学的研究生)和葛佳欣(北京大学的本科生)以及麻省理工学院电气工程与计算机科学系助理教授、计算机科学与人工智能实验室(CSAIL)成员Yoon Kim、CSAIL口语语言系统组的高级研究科学家和负责人James Glass等人一起撰写了该论文。该研究将在北美计算语言学协会年会上进行展示。

使用程序解决问题

许多流行的大型语言模型通过预测给定一些自然语言输入时的下一个单词或标记来工作。虽然像GPT-4这样的模型可以用于编写程序,但它们将这些程序嵌入到自然语言中,这可能导致程序推理或结果出现错误。

麻省理工学院的研究人员采取了相反的方法来使用NLEPs。他们提示模型生成完全由Python代码组成的逐步程序,然后在程序中嵌入必要的自然语言。

NLEP是一个具有四个步骤的问题解决模板。首先,模型调用解决任务所需的必要包或函数。第二步涉及导入任务所需的自然语言表示(如美国总统生日列表)。对于第三步,模型实现一个计算答案的函数。最后一步,模型将结果作为一行自然语言输出,并在需要时进行自动数据可视化。

洛洪银说:“这就像一个数字计算器,只要程序正确,它总是能给出正确的计算结果。”

用户可以轻松查看程序并直接修复代码中的任何错误,而无需重新运行整个模型进行故障排除。

该方法还比其他一些方法更高效。如果用户有许多类似的问题,他们可以生成一个核心程序,然后替换特定的变量,而无需重复运行模型。

为了提示模型生成NLEP,研究人员给出了一个总体指导,要求模型编写一个Python程序,提供两个NLEP示例(一个包含数学问题,一个包含自然语言问题)和一个测试问题。

麻省理工学院-IBM沃森人工智能实验室的首席科学家Leonid Karlinsky表示:“这里没有魔法。”

NLEPs在提示GPT-4解决一系列符号推理任务(如跟踪洗牌的对象或玩24点游戏)、遵循指令和文本分类任务时,实现了超过90%的准确性。研究人员发现,与特定任务提示方法相比,NLEPs的准确性甚至提高了30%。该方法还显示出对开源LLMs的改进。

除了提高大型语言模型的准确性,NLEPs还可以提高数据隐私。由于NLEP程序在本地运行,敏感用户数据无需发送到OpenAI或Google等公司进行模型处理。

此外,NLEPs可以使小型语言模型在不需要重新训练特定任务的情况下表现更好,这可能是一个昂贵的过程。

洛洪银说:“这里没有魔法。我们没有更昂贵或花哨的语言模型。我们所做的一切只是使用程序生成而不是自然语言生成,这样可以显著提高性能。”

然而,NLEP依赖于模型的程序生成能力,因此该技术对于在有限数据集上训练的较小模型效果不佳。未来,研究人员计划研究能够使较小语言模型生成更有效NLEPs的方法。此外,他们还希望研究提示变化对NLEPs的影响,以增强模型推理过程的鲁棒性。

该研究部分得到了香港感知与交互智能中心的支持。