Redian新闻
>
大模型思维链经典论文阅读之——Zero-shot CoT, Manual CoT, AutoCoT

大模型思维链经典论文阅读之——Zero-shot CoT, Manual CoT, AutoCoT

公众号新闻

来自:SimpleAI

进NLP群—>加入NLP交流群


ChatGPT 以及 GPT4 作为纯自回归式语言模型,本不应该期待其有什么推理能力,尤其是数学推理,但是他们在基础的推理任务上却十分让我们惊艳(当然肯定不能作为专业的数学解题工具),这让我们非常好奇大模型(LLM)这么多参数里面到底藏了些什么好东西,怎么去激发大模型的潜能给我们带来更多惊喜。

CoT(Chain of thought),思维链,是学者们发现的能够激发LLM通过“思考”来回答一些困难问题的技术,可以显著提高LLM在推理等任务上的正确率。根据猜测,CoT的思想也被用于训练ChatGPT/GPT4,因为它们在回答一些需要推理的任务时,会先给出一步步的推理,再给出答案,而ChatGPT之前的LLM则经常直接给出答案。因此,让我们来一起回顾一下ChatGPT之前,CoT技术如何运用于LLM并提升模型回答的准确性的。

本次主要回顾三篇论文:

  1. CoT 开山之作:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models,NeurIPS2022

  2. Zero-Shot-CoT:Large language models are zero-shot reasoners. NeurIPS2022

  3. AuTo-CoT:Automatic Chain of Thought Prompting in Large Language Models,ICLR2023

一、CoT的起源和开山之作

  • Chain-of-Thought Prompting Elicits Reasoning in Large Language Models,NeurIPS2022

  • Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, Denny Zhou(谷歌)

这篇文章很简单很简单,虽然洋洋洒洒写了几十页,但是核心方法一张图就可以表达清楚:

一句话:在问LLM问题前,手工在prompt里面加入一些包含思维过程(Chain of thought)的问答示例,就可以让LLM在推理任务上大幅提升。

注意,这里首先是使用 In-Context-Learning(上下文学习)的范式来进行prompt,即在prompt里面添加一些问答对作为“示范”,LLM在看到这些示范之后,就可以更好地进行Zero-shot任务(或者理解成Few-shot吧,毕竟需要提供一些标注的样本)了。

CoT的方法,就是在 In-Context-Learning 的范式中,增加了对推理的示范,从而希望LLM在给出答案的时候,也像模像样地进行推理。

作者在一些代表性LLM中队这样的方法做了大量实验,其中LLMs包括下面这些:

实验结果如下:

CoT的方法,相比于普通的ICL方式,显著提高了模型的推理能力,而且随着模型规模的增大提升的愈发明显。

这种CoT的方法,虽然十分有效,但需要手工写很多推理过程交给模型作为示范,虽然说对于同一类问题我们只用写一套就行了,但是当场景一换,或者问题改变时,之前有效的示范,可能效果就会打折了,因此还是比较费劲的。

于是,很快啊,就有学者提出了名为Zero-shot CoT的方法。

二、不用动手的傻瓜式CoT——Zero-shot CoT

  • Large language models are zero-shot reasoners. NeurIPS2022
  • Takeshi Kojima, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, Yusuke Iwasawa(东京大学,谷歌)

这篇文章发现:大模型,尤其是足够大的模型,可能不需要你费劲吧啦地写一堆CoT来作为prompt了,它自己可能就会推理了,秘诀就是加上一句咒语:“Let's think step by step.”

具体则是需要LLM两次生成:

  1. 先使用 “Let's think step by step.” 让模型自己给出推理过程
  2. 把原始问题以及给出的推理过程再合在一起,让模型抽取出最终答案。

其实第二步是不一定需要的,这里只是为了直接给出答案,所以加了第二步。

下图对比了Zero-shot CoT跟其他方法的差别:

本文测试的LLMs主要是这些:

主要效果如下(为了省空间,我只贴出跟Zero-shot的对比了):

可以看到,这个Zero-shot CoT还是可以显著提升LLM的数学推理能力的。

还有一些跟Few-shot CoT和其他CoT改进版本的对比,这里就不放了,重点是这个工作发现了一些值得思考的问题:

  • Zero-shot CoT和Few-shot CoT在常识推理问题(CommonsenseQA)上,并没有太大的提升(相比于数学推理)。很多时候CoT给不出正确的答案,但是推理过程却是合理且灵活的。Zero-shot CoT在多项选择时,倾向于给出多个答案,很难只给出一个答案。
  • 在数学推理问题上,CoT能有显著的提升,但是Zero-shot CoT和Few-shot CoT犯错误时的特点很不一样:Zero-shot方法在推出正确答案后,可能会继续“画蛇添足”,导致最终错误;另外,Zero-shot有时候干脆不推理,直接重复题目。Few-shot方法则是在生成的推理过程中包含三元运算的时候很容易出错,例如(3+2)*4

总体上,Few-shot CoT(又可以称之为Manual-CoT)的效果还是比Zero-shot CoT更好的,毕竟你手动认真地写了很多示范,努力不会白费嘛。下面介绍的一篇文章,则尝试把二者进行结合,企图既省力、效果又好。

三、通往自动CoT之路?

  • Automatic Chain of Thought Prompting in Large Language Models,ICLR2023
  • Zhuosheng Zhang, Aston Zhang, Mu Li, Alex Smola(上交,亚马逊)

回顾上面讲的 Zero-shot CoT 和 Manual CoT,前者实际上没有使用 In-Context-Learning,而后者使用了 In-Context-Learning。ICL 提供了LLM更多的示范信息,可能能让LLM在输出的时候更加规范。

因此,一个自然的想法就是,能不能利用 Zero-shot CoT 来让 LLM 产生很多带有推理的QA pair,然后把这些QA pair加入到prompt中,构成ICL的上文,再让LLM进行推理。

作者假设的是这样一个场景:我们有一大堆的待测试的问题(没有标注,不知道正确答案和推理过程),我们要怎么利用 LLM 和这么一个无标注问题集合,在不进行手工编写CoT的情况下,提升LLM回答这些模型的质量。

作者的基本思路是这样的:

  • 给定待测试的问题q,从无标注问题集合中,采样一批问题;
  • 使用 GPT-3 作为产生推理过程的工具,即直接使用 “Let's think step by step.” 咒语,来对这一批采样的问题产生推理过程;
  • 把产生的这些问题和推理过程,构成In-Context-Learning的上文加入到prompt中,再让LLM对问题q进行回答。

关键就在于这个采样过程,作者分别先测试了两种简单的采样过程:

  1. 随机采样,Random-Q-CoT
  2. 基于跟待测试q的相似度进行采样,Retrieval-Q-CoT

实验发现,居然随机采样还要更好一些。经过探究,作者发现GPT-3自动产生推理过程是有一定比例出错的,而出错的问题也容易聚集

因此基于相似度搜索的时候,容易导致采样出一批错误的示范,而随机采样的方法,则可能避免聚集性地出错。

基于这样的考虑,作者设计了基于多样性的采样方法,先试用SentenceBERT对所有问题进行聚类,然后从每个cluster中进行采样,示意图如下:

具体采样过程则是:

  • 假设需要再In-Context-Learning的时候加入k个示例,则对问题集合聚k类
  • 对于每个cluster中的问题,按照每个问题跟cluster中心点的相似度来排序
  • 每个cluster采样一个问题,距离中心点越近的越优先采样,但是得符合一些规则:
    • 问题不超过60个token,通过Zero-shot-CoT产生的推理步骤不超过5步(也是前人的经验,简单原则)

就这样采样。。。

其实这个方法让人有些不解,因为采样过程是跟要测试的问题无关的,按照我的理解,应该在考虑多样性的同时,还考虑问题跟待测试问题的相关性(不确定是我对本文方法理解错了,如有错误请读者告知)。

总之,这样子就确实在给定一个问题集合的情况下,解放了双手。

Auto-CoT跟Zero-shot、Few-shot CoT的对比实验如下:

image-20230602224952606

这个结果还是令人惊讶的,Auto的方法居然可以比Manual更好。其实有一种解释,Manual方法其实给多个任务都使用的是同一套模板,比方6个数学任务里面5个都使用的同一套示例(为了省力,同时Manual-CoT的论文也不是为了刷榜,而是为了揭示这么一个现象,所以CoT没有进行仔细调优),而Auto-CoT则是每个任务都会有自己的一套示例产生,毕竟问题集合不一样,聚类的结果也会不一样。

总之,这个方法主要证明了基于多样性的采样方法,对于CoT可能是很有效的。(虽然我近期还看了一篇探讨In-Context-Learning的论文得到的结论跟这个是矛盾的,那篇文章揭示了基于相似度的采样可能比基于多样性的采样更好,具体为什么会有这样的矛盾,可能需要更细致的探究)



进NLP群—>加入NLP交流群

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Linux 系统随你玩之——网络上的黑客帝国【𝐂𝐚𝐥𝐧𝐢𝐊𝐞𝐚𝐧双皮奶无痕内裤】49元三条!巨巨巨好穿 !!简直就是辣妹顶配,食品级冰箱收纳盒【一日团】“618”来译文天猫旗舰店听音乐会:文学与音乐交织,纵享阅读之趣DeepSpeed ZeRO++:降低4倍网络通信,显著提高大模型及类ChatGPT模型训练效率退休生活杂记:晨景、洗牙保健、跑20英里ACL 2023 | 利用思维链(CoT)推理隐式情感,狂涨50%美高暑期阅读书目推荐!高效提升英文阅读理解能力!柳士同诗稿思维链CoT进化成思维图GoT,比思维树更优秀的提示工程技术诞生了资管一哥 | BlackRock 2024 Summer Internship Program开启本科毕业加入谷歌,还写了「思维链」开山之作,这位OpenAI新秀正为本科生答疑解惑直播预告 | ACL 2023原作解读:自查纠错—知识增强的思维链框架阿里达摩院大模型公开课上新!主讲中文个性化对话大模型ChatPLUG和模块化多模态大模型mPLUG-Owl【附PDF】整理了114篇医疗论文,含cvpr2023医疗论文+经典论文+医疗论文综述等只给大模型LeetCode编号,也能解题!大模型表现好是源于对训练数据的记忆吗?请不要迷信大模型重磅!OpenAI打开大模型思考黑盒,用AI解释AI的时代来了《Rover》StyleMe x SR AUTO GROUP联合概念品牌视频【The K Show】倒计时2天!!!CDC likely to recommend annual COVID shot similar to fluLinux Shell 介绍:Bash、Zsh 和 Fish | Linux 中国在法国犯人都圈(juān)不进去了还不同意多建点监狱?为啥呀?两首合唱:《赤伶》&《是否》后院鱼池轶事𝐂𝐚𝐥𝐧𝐢𝐊𝐞𝐚𝐧双皮奶内衣裤,软弹有度,上身0束缚~推荐一本书: A shot to save the world (新冠疫苗研发的故事)如何用 LangChain 实现一个Zero Shot智能决策器(附源码)资管巨头 | BlackRock 2024 Summer Internship Program开启中国团队自动驾驶大模型斩获CVPR最佳论文;Stability AI推出新文生图模型;京东大模型即将发布丨AIGC大事日报大模型论文阅读神器来了!5秒翻译67页论文,直接截图提问,网页可试玩为应对输出风险文本的情况,提出一种针对LLMs简单有效的思维链解毒方法10种数据分析的模型思维让你“灵光一闪”此「错」并非真的错:从四篇经典论文入手,理解Transformer架构图「错」在何处如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM | Linux 中国追剧 《听说你喜欢我》百度华为阿里等入选大模型“国家队”;盘古大模型3.0发布;阿里云推AI绘画大模型丨AIGC大事日报ChatGPT的朋友们:大语言模型经典论文一次读到吐思维链如何释放语言模型的隐藏能力?最新理论研究揭示其背后奥秘华人科学团队推出「思维链集」,全面测评大模型复杂推理能力
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。