Created
Aug 12, 2024 01:32 PM
Favorite
Favorite
Priority
备注
推荐
类型
点击上方蓝字关注我
本文:4200字阅读 10分钟
长久以来,生成式AI领域一直存在一个争议:模型真的具备推理能力吗,它们是否真的理解任务?还是仅仅在进行复杂的模式匹配?最近,一项来自加州大学洛杉矶分校和亚马逊的研究为这个问题提供了新的视角。研究团队提出了一个尖锐而又深刻的问题:在LLM推理中,究竟是演绎推理还是归纳推理更具挑战性?这个问题的答案可能会彻底改变我们对LLMs能力的认知。
notion image
研究的一个关键创新是提出了SolverLearner框架。这个框架的核心思想是:1. 仅通过少量示例,让LLM学习输入-输出之间的映射函数。2. 将学习到的函数封装在Python代码中。3. 使用外部代码解释器执行这些函数,而不是依赖LLM本身进行推理。
notion image
图片由本人制作根据SolverLearner框架的核心思想,写一个Prompt框架可以得到一个Python算法,然后用这个算法解决很多问题。你也可以使用这个框架,解决一些电子商务方面的问题,创意写作更是不在话下,还有数学问题、金融的时间序列、NLP、密码学、模式识别等等。我发现,越是底层的、基础的原理、算法,可能解决的问题就越多,LLM推理的准确度就越高。
GPT 4o
notion image
上下滑动查看更多
Slide left and right to see more
01
推理的两面性:演绎vs归纳
在深入研究之前,我们需要明确两种推理方式的区别:1. 演绎推理:从一般原理出发,推导出特定结论。例如,根据"所有人都会死"和"苏格拉底是人"这两个前提,我们可以推导出"苏格拉底会死"这个结论。2. 归纳推理:从特定观察中总结出一般规律。比如,通过观察多个苹果都是红色的,我们可能会得出"所有苹果都是红色的"这个(可能错误的)结论。过去人们认为演绎推理对AI系统来说更容易掌握,因为它遵循明确的逻辑规则。而归纳推理则被视为更具挑战性,因为它需要从有限的观察中概括出普遍规律,这似乎更接近人类思维的本质。然而,这项新研究的发现却颠覆了这一传统观点。研究方法:巧妙设计的推理任务研究团队设计了一系列精巧的任务,涵盖了算术、基本句法分析、空间推理和密码解密等领域。这些任务的特点是:1. 可以清晰地区分演绎推理和归纳推理过程。2. 包含"反事实"场景,即与模型预训练数据中常见情况不同的设定。3. 任务约束明确,确保存在唯一的正确解决方案。例如,在算术任务中,研究者不仅测试了常见的十进制加法,还包括了八进制、九进制等不常见的进制系统。这种设计可以有效检验模型是否真正理解了加法的本质,还是仅仅在重复训练数据中见过的模式。
02
SolverLearner:先归纳,再演绎
研究的一个关键创新是提出了SolverLearner框架。这个框架的核心思想是:1. 仅通过少量示例,让LLM学习输入-输出之间的映射函数。2. 将学习到的函数封装在Python代码中。3. 使用外部代码解释器执行这些函数,而不是依赖LLM本身进行推理。
notion image
这种设计巧妙地将归纳推理(学习映射函数)和演绎推理(应用函数解决新问题)分离开来,使我们能够单独评估LLM的归纳推理能力,所以说先归纳再演绎。
notion image
这张图很好地说明了演绎推理和归纳推理在大语言模型(LLMs)中的应用,特别是在解决数学问题的背景下。让我为您解释一下这张图的主要内容:图片顶部分为两大部分:左侧是演绎推理,右侧是归纳推理。1、演绎推理部分:从一般原则(在base 8中进行加法的规则)出发应用这个规则到特定问题(36+33)得出特定结论(结果是71)错误的结果2、归纳推理部分:从多个特定观察(几个加法例子及其结果)出发推导出一般原则(在base 8中进行加法的规则)3、图片下半部分展示了四种不同的方法来处理这个问题:(a) 零样本(Zero-shot):直接给出问题,没有额外信息 (b) 少样本示例带映射函数:提供了几个例子和base 8的信息 (c) 少样本示例不带映射函数:只提供例子,不给出base信息(d) SolverLearner:要求模型从例子中学习,并生成解决问题的函数这四种方法从左到右逐渐从纯演绎推理过渡到纯归纳推理。SolverLearner方法被突出显示,因为它完全将归纳推理与演绎推理分离,让我们能够单独评估LLMs的归纳推理能力。这个过程清晰地展示了SolverLearner框架如何将归纳推理(从示例中学习规则)和实际问题解决(应用学到的规则)分开。通过这种方式,我们可以:1、评估AI模型的归纳推理能力:模型能否从有限的示例中正确推断出底层的数学规则(在这个案例中是8进制加法)。2、确保公平评估:由于函数执行由Python解释器完成,我们可以排除AI模型在应用规则时可能出现的错误,从而专注于评估其归纳推理能力。3、生成可复用的解决方案:这个方法不仅解决了特定的问题,还产生了一个可以应用于同类问题的通用函数。
03
惊人的发现:LLMs是归纳推理高手?
研究结果令人震惊:在大多数任务中,通过SolverLearner框架,LLMs展现出近乎完美的归纳推理能力,准确率达到100%。这意味着,给定少量示例,LLMs能够准确地推断出底层的规律或函数。看一下下图SolverLearner vs 传统方法:
notion image
  • SolverLearner方法在大多数任务中都显著优于传统的zero-shot方法。
  • 这种优势在GPT-4上尤为明显,几乎在所有任务中都达到了满分或接近满分的表现,这是题目中LLM能力提升100%的依据,看着有点不真实,但事实就是这样!
  • GPT-3.5使用SolverLearner也有显著改善,但程度不如GPT-4那么显著。
然而,更令人意外的是,相比之下,LLMs在演绎推理任务上的表现却不尽如人意,特别是在涉及"反事实"场景时。这一发现与之前的研究结果相呼应,但仍然令人惊讶。
04
为什么会出现这种反差?
1. 预训练数据的影响:LLMs在预训练阶段接触了海量文本数据,这些数据中可能包含了大量隐含的规律和模式。这使得模型在面对新的、类似的模式时,能够快速归纳出一般规律。然而,这些预训练数据主要反映了现实世界的常见情况,这可能解释了为什么模型在"反事实"场景中的演绎推理能力较弱。2. 神经网络的本质:深度神经网络本质上是一种模式识别和函数拟合的工具。这种结构天然适合进行归纳推理,即从数据中提取模式。相比之下,严格的逻辑推理(演绎推理的核心)可能需要不同的计算范式。3. 任务设计的影响:研究中使用的演绎推理任务可能对LLMs提出了特殊的挑战。例如,在不熟悉的进制系统中进行计算,需要模型不仅理解加法的概念,还要灵活地应用这一概念在新的上下文中。这种灵活性可能是当前LLMs架构的短板。4. 评估方法的差异:SolverLearner框架通过外部代码执行器评估归纳推理的结果,这可能比直接让LLM执行推理更加精确和可靠。这种方法差异可能部分解释了归纳和演绎推理结果的巨大差异。
05
对Prompt工程的影响
作为正在开发AI产品的Prompt工程师,这项研究的发现对你的工作有着直接而深远的影响:
1. 利用归纳推理优势:在设计提示时,可以更多地利用LLMs的归纳推理能力。例如,通过提供少量但精心选择的示例,可能比给出详细的规则说明更有效。2. 注意演绎推理的局限性:在需要严格逻辑推理的任务中,不要过分依赖LLM的直接输出。考虑使用外部验证或结构化的推理步骤来增强可靠性。3. 设计"反事实"场景的策略:当需要模型处理不常见或假设性场景时,可能需要更详细的上下文说明和更多的引导。考虑将复杂任务分解为更小的、模型更容易理解的步骤。4. 结合外部工具:借鉴SolverLearner的思想,考虑将LLM生成的解决方案与外部执行环境(如代码解释器)结合,以提高复杂任务的准确性。5. 强化学习机制:在设计交互式AI系统时,可以更多地利用LLMs的归纳学习能力。例如,通过用户反馈不断调整和优化模型的行。一定要克服困难学一下机器学习的原理,读到这里或许你会理解为什么我之前用大篇幅介绍一些复杂的、基于机器学习原理的Prompt方法。
往期推荐
对于AI研究人员和工程师来说,这些发现提供了宝贵的洞见。这一研究提醒我们,在设计和应用AI系统时,需要充分考虑到模型的优势和局限性。未来的AI系统可能需要更加精细地平衡归纳和演绎推理能力,它挑战了我们对"智能"的定义,促使我们思考:真正的智能是否需要同时具备强大的归纳和演绎推理能力?还是说,不同类型的智能可以在不同的任务中发挥各自的优势?几天后这个SolverLearner的Prompt框架会放到群里~~~
欢迎你来群里讨论!
非常感谢大家对我的支持和认可。自2024年6月18日起再进入赞赏群,需赞赏两篇文章各200元(共400元),我特意开了新群。赞赏低于400元仅视为对作者的喜欢。
您赞赏完毕后我将赠与您以下这些文件并拉您进群,以表示对您赞赏的感谢:
1、自4月11日至8月5日70多篇文章文末提及的附件110多份,包括:
A:语气关键字提取Prompt、自我发现Promt、预测prompt、Tom谈判、GPT记忆、参与式Prompt、弦外音、Medprompt、语义嵌入向量提示词、类比提示、检索增强RAT、TextGrad、UNIPrompt、贝叶斯优化等优质提示词、优化过的CoT prompt框架、Auto EvolInstruct优化Prompt、变分推理内容生成的prompt、递归内省的系统级SYSTEM PROMPT、Q-Star XML prompt、因果推理链Prompt、知识图谱因果推理prompt等
B、微调、SAMMO优化、DSPy运行环境部署等Dockerfile文件
C、能运行的代码包括:本地模型运行DSPy写的Agent、DSPy意图识别代码、DSPy与Langchain优化Prompt 、prompt-SAW提示压缩、概率迭代优化Prompt代码
、SymbolCot的DSPy代码、提示词敏感性和一致性代码、GraphRAG转PDF成为数据集代码等
D、公众号文章介绍过的50多篇论文、资料尤其是谷歌提示、Prompt调查报告等重磅资料
2、和与您一样的共识者探讨本公众号有关的文章、技术,共同进步
3、就文章涉及的问题向本人咨询
4、后续文章提及的提示词、代码、资料等文件
赞赏完成后,请添加我的微信xiumaoprompt拉您入群。本群有效期为永久,除非特殊情况下的解散。
  1. <本文完结>转载请与本喵联系,私自抓取转载将被起诉
🎉让我们一起创造更多美好!🎉
如果您觉得这篇文章对您有帮助或启发感谢您为我【点赞】【在看】
<您为我点赞在看,只有我能看到>
👉微信号:xiumaoprompt若加群,请赞赏后再加微信
notion image
Loading...