当前位置:   article > 正文

大模型学好编程,常识逻辑能力一起提升!网友:GPT-4更强的关键所在?

gpt code 逻辑链
明敏 发自 凹非寺
量子位 | 公众号 QbitAI

大模型代码能力强,顺便还能提升其他能力?

最近CMU的一项研究突然在网上火了起来。

d4e06e10692b1c592a74baf534f6a513.png

因为它提出了一个结论,模型掌握好代码能力后,在一些非代码任务上也能表现出色。

类比于:学好数理化走遍天下都不怕的感觉。

这一下子把网友们的脑洞给打开了。

难道说GPT-4比GPT-3.5强的关键原因,就在这里?

ceba807027b8a9b158f05f5410e7307a.png

有人提问:这是否意味着掌握复杂编程,就能获得更高的推理水平?

8eb23acbc1ce8b45fb216c5199ab1633.png

还有人好奇,是不是说学编程有助于提升逻辑能力,真的有道理。

fe831a241b0c13c4d32990e10b490d5e.png

想要解释这些疑问,还要来看研究本身。

这篇论文首次发表于ChatGPT(GPT-3.5)面世以前,它提出了一种方法,验证了代码语言大模型,在完成结构性常识推理上非常擅长

甚至比一些通用大模型专门微调过的效果好,碾压GPT-3、T5。

之所以又被人们热议起来,或许是因为这项研究中的一些观点为解释ChatGPT、GPT-4的能力涌现,提供了一些启发。

该论文被EMNLP 2022接收,相关数据和代码已上传至GitHub。

e2ed1d8b1af5f3f397be79b4fd8e3106.png

学学编程就能提升逻辑

该研究主要提出四方面工作:

1、代码语言模型比自然语言模型能更好处理结构化常识推理任务。

2、提出一种利用代码语言模型进行结构常识推理的方法:CoCoGEN。

3、在3个结构化常识推理任务上评估,证明CoCoGEN能优于微调/少样本测试下的自然语言大模型。

4、进行消融试验,测试数据格式、模型大小和少样本示例数量的影响。

d0c407cbe431549caef2170a1c075226.png

大语言模型在挑战摘要、翻译、生成、问答等方面都有了不错的表现,目前还存在的一个挑战是如何进行结构化常识推理。

具体任务包括生成事件图、推理图、脚本、论证解释等。

和传统的常识推理任务不同,结构化常识需要根据自然语言输入,生成结构化输出。

这要求模型需要既理解语言内容,还能预测和生成复杂的结构。

而为了避免跨模态的复杂问题,现有的结构化常识生成模型都会修改问题的输出格式,比如将图形“扁平化”为节点对的列表(下图d),或者转换为DOT这类规范语言(下图c)。

fe63a4b076dcffa576a9c11734e6d83e.png

但是大语言模型在处理这些输出时依旧存在困难,因为这些序列化的结构输出和大部分预训练数据存在很大差异。

而且在自然语言中,语义相关的词一般都离得很近,但是在结构化表达中它们可能离得很远。

这就导致大语言模型可能无法很好理解拓扑结构,所以想要模型完成这类任务还要进行特定训练。

与此同时,大语言模型在代码方面的能力越来越突出,代码也是一种结构化数据。

所以研究人员就想到,与其进行额外微调,为什么不利用代码能力来搞定结构化常识推理。

如下图b就是利用该方法的结果:

dd248d7b8cff50e88dc6cc2810b31175.png

研究人员将该方法命名为Code for Commonsenses Generation(常识生成代码)模型,简称为CoCoGEN。

b20c0cae2d6fc754a54bd7b8cd8f3372.png

CoCoGEN使用一个由k(5-10)个Python类组成的提示。

在推理过程中,测试输入被转换为一个部分类,如上所示,附加到提示中,并由代码生成模型(如CodeX)完成。

研究人员使用CodeX发现它在生成代码上表现很好,总是能轻松转换成图形。

然后,研究人员进行了三项任务测试:

  • 脚本生成

  • 实体状态跟踪

  • 解释图生成

在脚本生成任务中,T5模型进行了微调,CURIE(text-curie-001)和DAVINCI(text-davinci-002)使用了15个示例进行少样本测试。

(CURIE和DAVINCI是基于GPT-3的两个模型)

结果显示,CoCoGEN的表现结果最好。

e48f4c0280a19cc713ae7d621fb432d1.png

在以精确度(Precision)、召回率(Recall)和F1值作为评估指标时,同样是使用15个样本训练后,CoCoGEN的效果优于其他模型,并且优于在100个样本上微调过的T5模型。

5e329008d3a7ef79ace7f6a30c283a8d.png

另外两项任务中,CoCoGEN的表现也都优于其他模型。

同时该方法也验证了其他大模型在使用代码提示后,表现也会更好。

b06a7cc80461438622c83d7dbaacdcd4.png

换言之,在让大模型精通编程后,它的结构常识能力就会提升。

网友锐评:这不就是野生版柯里-霍华德同构嘛?

781edef38d459a165cfea7d2a0fbe711.png

据了解柯里-霍华德同构建立了逻辑和类型理论之间的关联,现实了推理系统和程序语言之间的相似性。

看来,推理可以等于证明,再等于编程了。

237a50acf183966275454ff81b657df3.png

GPT-3也能涌现类似能力

与此同时,有人也发现了一个半年前的帖子,其中提出了一个观点和这项研究由类似之处:

大模型具有复杂推理能力的思维链,可能同样得益于代码训练。

9c7ecd427569cdc30dd4095a188a3538.png

这个帖子中列举了几个例子。

最初的GPT-3没有用代码训练,它并不具有思维链能力(chain-of-thought,CoT)。

text-davincic-001虽然指令调优了,但是执行CoT的效果也不理想。

PaLM的训练数据中有5%是代码,就能具备CoT了。

Copilot(据说是12B版本),也能做到CoT。

……

这种相关性的确非常有趣。

还有人觉得用代码训练大模型的好处可能有更多,比如语言模型预测下一个token往往是非常局部的,但是代码方面通常要求能更加“远距离”一些,比如完成一个括号闭合的操作。

你怎么看?

论文地址:
https://arxiv.org/abs/2210.07128

GitHub地址:
https://github.com/madaan/

参考链接:
https://yaofu.notion.site/How-does-GPT-Obtain-its-Ability-Tracing-Emergent-Abilities-of-Language-Models-to-their-Sources-b9a57ac0fcf74f30a1ab9e3e36fa1dc1

「人工智能」、「智能汽车」微信社群邀你加入!

欢迎关注人工智能、智能汽车的小伙伴们加入交流群,与AI从业者交流、切磋,不错过最新行业发展&技术进展。

PS. 加好友请务必备注您的姓名-公司-职位噢 ~

da34777bc7f56d9452a7e539600e200e.jpeg

点这里

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/102182
推荐阅读
相关标签