大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系统 2 能力的规划和推理任务上表现出色。

从 LLMs 的训练和使用来看,似乎没有任何迹象表明它们能进行任何形式的原理性推理(这通常涉及到复杂的推理/搜索过程)。**LLMs 擅长的是一种通用的近似检索。**不同于数据库那样精确索引和检索数据,LLMs 作为 n-gram 模型,通过逐词概率重构来完成对提示词的补全,这一过程我们称之为近似检索。这意味着 LLMs 甚至不能保证完全记住答案,这正是它们能够即兴构建“新颖”提示补全的魅力所在。LLMs 的优点(“创造性”)和缺点(“幻觉”)在于,作为 n-gram 模型,它们在严格记忆方面几乎和我们一样面临困难。这正是它们吸引人的根本所在。

尽管如此,《大语言模型是零样本 ⟨插入你的推理任务⟩》几乎成为了一种流行的论文标题!在某种程度上,这种趋势似乎是不可避免的,在 LLMs 的时代,AI 已经变成了一种类似自然科学的形式——通过观察这些庞大系统的能力来推动研究。

那么,这些经过强化训练的 n-gram 模型真的能进行规划和推理吗?在 2022 年夏天,当我的研究小组想要更深入地探讨这个问题时,大多数关于推理的说法还只是基于个别案例。因此,我们开始对 GPT3 在国际规划竞赛(IPC)常用领域中派生的一系列规划实例进行评估——包括著名的 Blocks World。我们的研究结果与关于 LLMs 规划能力的个别案例说法相反,当我们公开这些结果时,引起了 AI 领域的广泛关注。

图片

图 1:非正式地将 LLM 视为一个巨大的外部非真实记忆库,充当一个类似系统 1 的角色

到了 2023 年初,随着 ChatGPT 的广泛发布,以及后来的 GPT4,关于 LLMs 在推理和规划方面能力的讨论更加频繁,包括一些经过同行评审的论文。因此,我们决定在 GPT3.5 和 GPT4 上重复我们的测试。初步结果显示,从 GPT3 到 GPT3.5 再到 GPT4,生成的计划的准确性有所提高,GPT4 在 Blocks World 中的实际准确率达到了 30%(尽管在其他领域仍有待提高)。我们接下来想要探究,这种适度的改进是否源于近似检索能力的提升,或者 GPT4 实际上在进行规划搜索。

让我们暂时关注一个问题:我在这里不是要探讨大语言模型(LLMs)是否能通过记忆和模式识别来“伪造”推理能力,而是它们是否具备真正的原理性推理能力。当然,能在推理问题中发现模式本身就是一项不容小觑的能力。毕竟,对这种能力的追求是我们热衷于“街头数学”(比如 George Pólya 的《如何解题》)的重要原因。但是,仅仅找到一种近似的解决方法,并不能等同于进行了真正的推理——除非你能从基本原理出发证明你的直觉是正确的。判断一个系统(或人类)是在记忆还是从零开始解决问题非常有挑战性——尤其是当它们接受越来越大的“问题库”训练时。这是大多数教师和面试官都非常清楚的一个挑战。想想那个著名的“为什么井盖是圆的?”面试问题。虽然它可能在最初提出时确实能够考察到候选人的分析推理能力,但现在它更多的是检验候选人是否针对面试题库进行了准备!

考虑到大语言模型(LLMs)不像人类那样有自己的生活限制,因此它们可以长时间专注于测试或面试的准备,从而支持在大规模网络语料库上进行近似检索。我的研究小组想要验证 GPT-4 性能的提升是因为从更大的训练语料库中进行近似检索,还是真的源于它的规划能力。一种验证规划任务的方法是通过混淆规划问题中的动作和对象名称来降低近似检索的效果。当我们在测试领域进行这样的操作时,GPT-4 的实际性能急剧下降,尽管标准的现成 AI 规划器对这种混淆并不感到困扰。

也许它们不能直接出厂就自主进行规划,但给予一些小小的推动后能否做到呢?大致有两种流行的推动技术。第一种,称为“微调(fine tuning)”,相当直接:就是在规划问题(即实例及其解决方案)上对一个通用的大语言模型进行微调,希望它们能够随后做出更好的预测(见图 1 左侧)。虽然我们自己的有限实验没有显示出通过微调有显著的改进,但有可能通过更多的微调数据和努力,大语言模型的预测质量可能会提高。但所有这些微调所做的,只是将规划任务转化为基于记忆的近似检索(类似于从系统 2 到系统 1 的记忆/编译;见图 1)。这并没有证明大语言模型具备规划能力。

提高规划(和推理)性能的第二种方法是通过提示,让大语言模型回过头来,给出关于如何改进其最初规划猜测的提示/建议。这里的关键问题包括:(a)这种回提示是手动的还是自动的(b)谁来证明最终答案的正确性以及(c)提示是否注入了额外的问题知识或仅仅是在鼓励大语言模型再试一次。

我们提倡的最清晰的方法是让一个外部的基于模型的规划验证器来进行回提示,并证明最终解决方案的正确性。一般来说,这样的LLM-Modulo 框架可以利用大语言模型惊人的创意生成能力与可靠的外部验证器在一个有保障的生成-测试-批评框架中有效结合。

相比之下,迄今为止更受欢迎的方法是让人类在循环中迭代地提示大语言模型。这种方法的问题在于,它非常容易受到 Clever Hans(一匹能做算术的马,其实是依靠人类细微动作的提示。) 效应的影响,其中大语言模型仅仅是生成猜测,而循环中的人类,凭借对正确与错误解决方案的知识,实际上是在引导大语言模型——即使他们没有有意这样做。如果有的话,确保准确性的功劳和责任完全落在循环中的人类身上。当循环中的人类不知道(或无法验证)他们自己的推理/规划问题的答案时,这种方法的有效性就变得值得怀疑。因此,图 2 对大语言模型推理能力的嘲讽性描述。

图片

图 2: 大语言模型(LLMs)所声称的推理能力,有时实际上是因为参与其中的人类在不知不觉中通过迭代提示给予的帮助

一种改进的方法是让大语言模型(LLM)自己对其生成的猜想进行“批判”并不断自我完善。虽然有些研究论文坚信大语言模型具备这种“自我提升”的能力,但这种观点的可信度基于一个前提:相信大语言模型在验证自己的解决方案时比生成解决方案更为精准。这种假设虽未明确证实,但基于对人类行为的类比或对计算复杂性的间接引用而成立。人类确实有时能通过自我批判纠正错误的猜想,但在大语言模型中并没有这种假设的依据。尽管对于许多计算任务(例如,属于NP类的任务),验证的复杂度通常低于生成,但这一事实对于主要通过生成(或近似检索)猜想而非确保解决问题的大语言模型而言,并不特别相关。实际上,我实验室最近的两项研究——一项是关于计划验证[10],另一项是关于约束验证[9]——显示了“自我验证”实际上可能导致性能下降,这对于这种乐观观点是一个冷水浇头。这是因为大语言模型在验证自己生成的解决方案时,会产生错误的肯定和否定。之前的文献中没有认识到这一点,是因为自我验证的声明通常是在难以验证的默会知识任务背景下提出的(例如,写作/改进文章),这使得评估大语言模型的批判性是否真的有帮助变得更加困难。矛盾的是,由于编写针对默会知识任务的可靠验证器几乎不可能,这也让人们更容易错误地认为大语言模型是一个合理的批评者!在其他情况下,一个外部模拟器承担了可靠验证的角色。

尽管上述问题对大语言模型具备规划/推理能力的说法提出了质疑,但这并不意味着大语言模型在解决规划/推理任务中没有任何积极作用。特别是,它们生成想法/潜在解决方案的独特能力——虽然这些猜想没有任何保证——在“大语言模型-模块”设置中,结合模型基础的验证器或参与其中的专家人类,仍然非常有价值。避免错误地将自主推理能力归咎于大语言模型的关键是认识到,大语言模型生成的潜在答案仍然需要外部验证器的检验。

怀疑的读者可能会问:那些在顶级AI会议上声称展示大语言模型规划能力的论文怎么办?要分析这些论文的说法,我们首先需要明白,解决规划任务需要(a)具备必要的规划领域知识——动作及其前提条件、效果;标准的层次化配方(例如,在层次任务网络规划中的任务简化模式),过往案例/计划等,以及(b)能够将这些知识组织成一个考虑到所有子目标/资源交互的可执行计划。前者可以称为知识获取阶段,后者则是推理/规划阶段。细看那些声称大语言模型具备规划能力的论文,往往是将从大语言模型中提取的一般规划知识误认为是可执行计划。当我们只是寻找如“婚礼计划”这样的抽象计划,而没有实际执行这些计划的意图时,很容易将它们误认为是完整的可执行计划。实际上,我们对几篇声称大语言模型具有规划能力的论文进行了仔细审查[7],发现它们要么是在可以安全忽略子目标交互的领域/任务中进行评估,要么是将交互解决(推理)的任务委托给了参与其中的人类(他们通过重复提示来“纠正”计划)。有时,在常识领域,或经过充分的微调后,通过观察到一个与需要解决的问题几乎完全对应的案例,也可以省去“组装”阶段。如果没有这些假设或缓解措施,大语言模型输出的计划可能看似合理,但在执行时会遇到交互问题和错误。这一点在最近关于旅行规划书籍泛滥的新闻报道中得到了体现[8],这些书籍大多是从大语言模型自动提取的,而那些不知情的终端用户购买它们时却误以为这些是可行的计划!

图片

图 3: 把大语言模型 (LLM) 当作一个训练有素的、基于人类文明知识的近似知识库

大语言模型擅长提取规划知识,这一点可以被有效利用。正如我们最近的研究所展示的,只要人类(包括专家评审)参与进来,对模型进行验证和改进,然后将其用于基于模型的解决方案,大语言模型就能成为一个关于世界/领域动态和用户偏好的近似模型的宝贵来源。这种利用大语言模型的方法的一个优点是,人类只需在模型初步形成和完善阶段参与,之后的规划工作可以交给有正确保证的稳健框架来完成。

这样的框架与过去的基于知识的人工智能系统有着惊人的相似之处,其中大语言模型有效地替代了“知识工程师”(见图 3)。考虑到人工智能领域从接受人类专家的领域知识转向其他方法的这一奇特且固执的转变,我在“波兰尼的复仇与人工智能对默知的新恋情”中对此表示遗憾,使用大语言模型作为知识源的这一新趋势可以看作是对波兰尼复仇的一种形式(即使只是通过从大语言模型中提取,也将显式知识重新带回人工智能系统)。实际上,只要我们愿意对这些知识的准确性稍作妥协,大语言模型就能轻松地提供特定问题的知识。与过去的知识工程方法不同,大语言模型提供的这种便利并不会让我们感到在麻烦某个具体的人(我们实际上是在利用人类之间的所有交流!)。因此,对于推理任务,关键问题变成了:“如果你有一个愿意提供任何类型知识的博学之士在身边,你会如何进行规划?” LLM-Modulo 框架是解决这一挑战的一个原则性方法。

总的来说,我所阅读、验证或进行的任何事情都没有让我相信大语言模型具有通常意义上的推理/规划能力。相反,它们所做的,凭借网络规模的训练,是一种通用的近似检索,正如我所论述的,这有时候会被误认为是推理能力。大语言模型在为包括推理任务在内的任何任务生成想法方面确实表现出色,正如我所指出的,这可以在 LLM-Modulo 框架中被有效地利用来支持推理/规划。换句话说,大语言模型已经具备了足够强大的近似检索能力,可以被有效地利用,我们不需要错误地认为它们具有推理/规划能力。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/739152.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GMP合规下的纯蒸汽检查要点:三项值检测及冷凝水取样

制药企业进行纯蒸汽质量验证主要目的: 其一,为了确保药品生产过程的合规性,遵循GMP及国内外法规标准,验证纯蒸汽质量是关键环节。 其二,纯蒸汽质量直接影响药品的纯净度和安全性,验证工作能保障药品的质量…

双指针算法——滑动窗口

前言: 滑动窗口本质上也是利用双指针来解决特定情况下的问题。滑动窗口算法思想是通过俩个指针,定义在左边和右边,俩指针同向运动,保持着一个像“窗口”一样的双指针来不停的压缩或者扩展来移动“窗口”,从而找到特定…

基于Java医院药品交易系统详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

LeetCode11. 盛最多水的容器题解

LeetCode11. 盛最多水的容器题解 题目链接: https://leetcode.cn/problems/container-with-most-water 示例 思路 暴力解法 定住一个柱子不动,然后用其他柱子与其围住面积,取最大值。 代码如下: public int maxArea1(int[]…

vue3 运用高德地图 自定义弹框 为信息窗体 添加 new AMaps.value.InfoWindow 添加事件

效果图 划过散点的时候出现每个三点位置的数据提示 点击具体散点获取展示信息弹框,并为其添加点击事件 注意点: 1 即使是用的vue,也不能使用click为窗体添加点击事件,需要使用onclick, (原因&#xff1a…

PPO代码理解

目录 # Finding the ratio (pi_theta / pi_theta__old): ratios torch.exp(logprobs - old_logprobs.detach()) advantages rewards - state_values.detach() surr1 ratios * advantages surr2 torch.clamp(ratios, 1-self.eps_clip, 1self.eps_clip) * advantages l…

农业四情监测设备——提高农业生产的效率和质量

TH-Q1农业四情监测设备是用于实时监测农业领域的四大关键监测内容的设备,这些内容包括土壤墒情、苗情、病虫情和灾情。以下是关于农业四情监测设备的详细介绍: 主要用于实时测量农田土壤的水分状况。包含土壤湿度传感器、土壤温度传感器等,安…

获取打包后jar包内resource文件路径

Exception:java.lang.IllegalArgumentException: URI is not hierarchical 出现这个异常有很多原因,这里只描述一下我所遇到的 这是源代码,这段代码在本地运行是没有问题的,但是打成jar包,拿到linux上运行之后,就会出…

羊大师:拒绝心灵内耗:走向高效与平和

在繁忙的生活中,我们时常感到疲惫不堪,仿佛心灵被无形的枷锁束缚,这就是精神内耗。它让我们在思考、决策和行动中犹豫不决,消耗着我们的精力和时间,让我们无法专注于真正重要的事情。然而,我们有能力打破这…

【EverEdit】活用 EverEdit 小技巧

【EverEdit】活用 EverEdit 小技巧 (1)设置 EverEdit 对比文件文本内容 设置如下图所示: 首先要先打开要对比的文本文件,和对比文件相比,此时打开了至少两个文件: 选择文件比较: &#xff08…

C语言---数据结构(1)--时间复杂和空间复杂度计算

1.什么是时间复杂度和空间复杂度 1.1算法效率 算法效率分为时间效率和空间效率 时间效率被称为时间复杂度,而空间效率被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间,在计算…

python自动化系列:自动制作PPT演示稿(多种元素)

作品介绍 作品名称:自动制作PPT演示稿(多种元素) 开发环境:PyCharm 2023.3.4 python3.7 用到的库:pptx 作品简介:该实例使用python-pptx库从头开始创建一个包含多种元素(如标题、文本、图片…

中国能源统计年鉴(1986-2023年)

数据年份:1986-2023年,无1987、1988、1990三年,1991-2023年齐 数据格式:pdf、excel 数据内容:《中国能源统计年鉴》是一部反映中国能源建设、生产、消费、供需平衡的权威性资料书。 共分为7个篇章:1.综合&a…

AI赋能天气:微软研究院发布首个大规模大气基础模型Aurora

编者按:气候变化日益加剧,高温、洪水、干旱,频率和强度不断增加的全球极端天气给整个人类社会都带来了难以估计的影响。这给现有的天气预测模型提出了更高的要求——这些模型要更准确地预测极端天气变化,为政府、企业和公众提供更…

Python-矩阵元素定位

[题目描述] 小理得到了一个 n 行 m 列的矩阵,现在他想知道第 x 行第 y 列的值是多少,请你帮助他完成这个任务。输入格式: 第一行包含两个数 n 和m ,表示这个矩阵包含 n行 m 列。从第 2 行到第 n1 行,每行输入 m 个整数…

vue中用JSON格式查看数据(vue-json-viewer)

vue中把string用JSON格式展示数据 vue-json-viewer使用 官网地址:https://www.npmjs.com/package/vue-json-viewer 1. 安装插件vue-json-viewer //vue2 npm install vue-json-viewer2 --save //vue3 npm install vue-json-viewer3 --save2. 引入vue-json-viewer…

“论SOA在企业集成架构设计中的应用”写作框架,系统架构设计师

论文真题 企业应用集成(Enterprise Application Integration, EAI)是每个企业都必须要面对的实际问题。面向服务的企业应用集成是一种基于面向服务体系结构(Service-OrientedArchitecture,SOA)的新型企业应用集成技术,强调将企业和组织内部的资源和业务…

【C语言】函数执行背后的秘密:函数栈帧的创建和销毁超详解

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 目录 1. 什么是函数栈帧 2. 理解函数栈帧能解决什么问题呢? 3. 函数栈帧的创建和销毁解析 3.1 什么是栈? 3.2 认识相关寄存器和汇编指…

vscode在windows系统上进行C/C++环境配置

随手笔记前言 vscode在windows系统上进行C/C环境配置 步骤如下 第一步 下载安装VSCode 这应该是最简单的一步,相信大家自己就可以完成。如果在vscode官网感觉下载特别慢的话,可以去试一下腾讯软件中心,我都是在这个网页上下载的。下载好之…

Huffman树——AcWing 148. 合并果子

目录 Huffman树 定义 运用情况 注意事项 解题思路 AcWing 148. 合并果子 题目描述 运行代码 代码思路 其它代码 代码思路 Huffman树 定义 它是一种最优二叉树。通过构建带权路径长度最小的二叉树,经常用于数据压缩等领域。 运用情况 在数据压缩中&a…