详细摘要 摘要

生成:2025-05-16 21:29

摘要详情

音频文件
Stanford CS224N: NLP w/ DL | Spring 2024 | Lecture 14 - Reasoning and Agents by Shikhar Murty
摘要类型
详细摘要
LLM 提供商
openai
LLM 模型
gemini-2.5-pro-exp-03-25
已创建
2025-05-16 21:29:15

标题: Stanford CS224N: NLP w/ DL | Spring 2024 | Lecture 14 - Reasoning and Agents by Shikhar Murty
描述: 3,580次观看
For more information about Stanford's online Artificial Intelligence programs visit: https://stanford.io/ai

This lecture covers:
1. Reasoning and Agents
2. Reasoning in Language Models
3. Language Model Agents
副标题: 该讲座主要探讨了语言模型在推理领域的应用。首先,讲座定义了推理是利用事实和逻辑得出答案的过程,并区分了演绎推理、归纳推理和溯因推理三种主要类型,同时提及形式与非形式推理,指出讲座重点关注多步骤的非形式演绎推理。

接着,讲座探讨了通过提示工程(prompting)引导大型语言模型进行推理的多种方法。其中包括“思维链”(Chain-of-Thought, CoT)提示,即引导模型在给出答案前生成推理步骤,可通过上下文示例或“让我们一步一步思考”等简单指令实现。“自洽性”(Self-Consistency)方法通过对同一问题采样多个推理路径和答案,并选取最常见答案来提升准确性,其效果优于简单模型集成。针对多步骤推理,提出了“由少至多”(Least-to-Most)提示法,它将复杂问题分解为子问题,模型逐步解决并整合答案,显示了其处理复杂推理的潜力,尽管其根本性优势尚待验证。

最后,讲座讨论了超越提示工程的策略,如通过知识蒸馏将推理能力赋予小型语言模型。以Orca模型为例,它通过微调使小型Llama模型模仿GPT-4生成的解释和推理过程。训练数据通过结合Flan V2等数据集的指令与GPT-4在特定系统提示下(如要求分步解释)生成的详尽回答来构建。讲座强调,相关领域的研究多为近三四年成果,尚有许多未解问题。

核心摘要 (Executive Summary)

本讲座(Stanford CS224N,第14讲,Spring 2024)由Shikhar Murty主讲,探讨了语言模型(LMs)在推理和作为智能体(Agents)方面的应用,这两个领域均属于近三四年快速发展的研究前沿。

推理方面,讲座首先介绍了演绎、归纳和溯因推理,并明确后续讨论主要聚焦于非正式的演绎推理。语言模型通过多种提示(prompting)方法展现推理能力:思维链(Chain-of-Thought, CoT)促使模型分步思考;自洽性(Self-Consistency)通过采样多个推理路径并进行多数投票来提高答案准确性;从少到多提示(Least-to-Most Prompting)将问题分解为子问题。此外,可以通过蒸馏(如Orca模型,用GPT-4的解释微调小型LLaMA模型)或在自身生成的合理论证上进行微调(如强化自训练ReST方法,迭代地生成、筛选并学习合理论证)来训练模型的推理能力,后者在某些任务上甚至能超越人类提供的合理论证。然而,对这些推理能力的严格评估(如合理论证的忠实性测试、反事实评估如不同进制的算术或改变前提的逻辑问题、以及类比推理测试)显示,语言模型在面对训练数据中不常见的分布时表现显著下降,表明其当前能力可能更多依赖记忆而非系统性推理,生成的合理论证有时更像是“事后解释”。

语言模型智能体方面,讲座回顾了历史方法(语义分析、推理可执行计划、强化学习),并指出当前趋势是将决策制定视为生成式轨迹建模,通过自回归模型预测行动序列。智能体通过与环境(如MiniWob、WebArena、WebLINX等基准测试)交互,接收观察并执行动作以达成语言指令设定的目标。训练方法包括使用少量人类示范进行上下文学习,或更具扩展性地通过生成合成示范数据(模型探索环境、用另一模型标记轨迹、迭代优化)。视觉语言模型(VLMs如LLaVA、Pix2Struct)也开始被用于处理视觉输入。尽管前景广阔,但目前存在巨大的“提示鸿沟”:即使在简单任务上,模型若无大量特定提示和少量示范,表现远不完美,尤其在长时程规划和避免简单错误方面与人类水平差距显著。

语言模型中的推理 (Reasoning in Language Models)

讲座首先对推理进行了分类,包括演绎推理(从规则和前提推导出结论)、归纳推理(从观察中推导结论)和溯因推理(为观察寻找可能的解释)。同时区分了形式推理(使用公理和形式逻辑)和非形式推理(日常情境中的常识推理)。

Speaker 1: "For most of the lecture, when I say reasoning, I will mean informal deductive reasoning. And it's often going to involve multiple steps."

通过提示激发推理能力

  • 思维链提示 (Chain-of-Thought Prompting, CoT):
    • 引导语言模型在给出答案前生成中间推理步骤。
    • 可通过提供带有明确推理步骤的上下文示例,或直接用“让我们一步一步地思考”(Let's think step by step)这样的指令来实现。
  • 自洽性 (Self-Consistency):
    • 对一个问题,模型会采样生成多个不同的推理路径(rationales)和对应的多个答案。
    • 最终选择最常出现的答案,基于“多数合理论证指向的答案更可能正确”的假设。
    • Speaker 1指出,这种方法在多种数学推理任务上显著优于标准CoT,并且效果“可能不仅仅是简单的集成学习”。
  • 从少到多提示 (Least-to-Most Prompting):
    • 核心思想是将复杂问题分解为一系列更简单的子问题。
    • 模型首先将原问题分解,然后逐步回答子问题,并基于子问题的答案生成最终答案。
    • 实验表明,这种方法有时能从少量推理步骤的示例泛化到需要更多推理步骤的问题。但讲者也提到,“通过足够的提示工程,最佳的普通思维链提示也能达到与从少到多提示相当的水平”。

训练语言模型进行推理

  • 蒸馏:训练小型推理模型 (如Orca)
    • 目标:将大型语言模型的推理能力迁移到小型模型中。
    • Orca模型通过让一个较小的13B参数LLaMA模型模仿GPT-4生成的解释来进行微调。
    • 数据构建过程:
      1. 从Flan V2数据集中获取指令、问题和答案。
      2. 使用这些指令和特定的系统消息(system message)提示GPT-4或ChatGPT,使其生成详细的解释和答案。例如,对于计算中位数的问题,系统消息会要求模型“请证明你的步骤并逐步回答”。
      3. 使用GPT-4生成的这些解释来微调小型LLaMA模型。
    • 基准测试 (BigBench Hard): 这是一个包含23个子任务的多步推理数据集,例如:
      • 布尔表达式求值 (如:"and false and not and is")
      • 日期理解 (如:"明天是[给定日期]。一年前的今天是什么日期,格式为[给定格式]?")
      • 几何形状识别 (从SVG路径元素判断形状)
    • 结果:Orca (在GPT-4解释上微调的LLaMA 13B) 在BigBench Hard上的整体表现优于ChatGPT,也优于未经过这种详尽解释训练的Vicuna (一个指令微调的LLaMA 13B模型)。讲者提到GPT-4在BigBench Hard上可能存在数据污染问题。
  • 在自身合理论证上微调大型语言模型 (如Reinforced Self-Training, ReST)
    • 思路:让大型语言模型学习自己生成的、被验证为正确的合理论证。
    • 过程:
      1. 生成与筛选:给定一个推理问题(如数学应用题),让模型生成多个合理论证。根据这些合理论证是否导向正确答案进行筛选。
      2. 更新:使用筛选后的合理论证微调语言模型。
      3. 迭代:重复此过程,期望模型能生成越来越好的合理论证,从而进一步提升模型性能。
    • 结果:
      • 在GSM8K(小学数学代数应用题数据集)上,随着自训练迭代次数增加,性能先略有提升然后开始下降。
      • 在MATH(另一个多步数学推理数据集)上,多轮迭代的ReST能持续提升准确率。
      • 一个重要发现是:“当你对模型自身的合理论证进行多轮自训练后,其性能可以超越使用人类生成的合理论证进行监督微调的效果。”

对语言模型推理能力的批判性审视

讲者提出,需要更系统的方法和反事实任务来评估语言模型是否真正具备推理能力,并警惕数据污染。

  • 合理论证的忠实性 (Faithfulness of Rationales): 模型生成的合理论证是否真实反映了其“思考”过程,还是仅仅是“事后解释”?
    • 实验一(提前退出):强制模型在生成完整合理论证的不同阶段提前输出答案。结果显示,在一些数据集中,无论模型看到完整合理论证还是部分合理论证(甚至只有第一句),最终答案准确率相似,暗示合理论证可能并非决策的关键。
    • 实验二(损坏合理论证):在合理论证中途引入错误。结果显示,在某些数据集中,即使在合理论证的第一步引入错误,最终答案也变化不大。
    • 结论:“这些合理论证有时可能是模型答案的事后解释。”
  • 反事实评估 (Counterfactual Evaluation): 测试模型在训练数据中不常见或不存在的情境下的泛化能力。
    • 算术:比较模型在十进制加法和九进制加法上的表现。由于九进制加法在训练数据中罕见,模型表现显著下降。
    • 逻辑:构建与常识相悖的前提(如:“柯基是爬行动物”),测试模型是否仍能进行正确的逻辑推导。结果显示性能同样显著下降。
    • 这些结果暗示“更多的是记忆而非推理”。
  • 类比推理 (Analogical Reasoning): 使用字符串转换等任务。
    • 当改变字母表(如从X、Y开始)或使任务描述变得“不自然”(如输出序列的下一个字符的再下一个字符)时,模型性能大幅下降。
    • 相比之下,人类在这些反事实任务上的表现下降幅度很小。
  • Speaker 1的总结观点: "也许有一些推理,也许有一些记忆,但目前还没有系统性的东西...这都是新兴的(研究)"。

语言模型智能体 (Language Model Agents)

智能体是指能够接收环境观察、根据语言指令(目标)执行动作的神经网络。

术语与应用

  • 核心概念:智能体(Agent)、环境(Environment)、观察(Observation)、动作(Action)、语言指令/目标(Language instruction, G)。
  • 应用场景
    • 数字助理(设置闹钟、提醒等)
    • 自然语言编程(根据自然语言描述生成代码)
    • UI自动化(自动化测试UI元素)
    • 控制复杂应用(如通过指令让Spotify播放歌曲)
    • 为语言模型添加工具或插件以控制不同应用。

语言模型出现前的智能体构建方法

  1. 语义分析 (Semantic Parsing):将自然语言指令(如“哪些州与德克萨斯州接壤?”)翻译成可执行的逻辑形式(logical forms),然后在知识库或数据库中执行。类似于机器翻译。
  2. 推断可执行计划 (Inferring Executable Plans):从指令和动作序列中推断出可执行计划,训练模型从指令生成计划,再由执行模型执行计划。优点是计划可以编码更高级别的决策。
    • 提及一个2011年的系统,该系统能够在实体环境中导航,通过语义分析器将指令转换为计划,然后执行。
  3. 强化学习 (Reinforcement Learning, RL):直接学习一个策略,将指令和观察映射到能最大化某种奖励(reward)的动作。奖励可以是稀疏的(完成整个任务后获得)或密集的(每一步都获得)。
    • 提及一个2009年的系统,用于Windows自动化调试。

当前 (2024年) 基于语言模型的智能体

核心思想是将决策制定问题视为一个生成式轨迹建模 (generative trajectory modeling) 问题。

Speaker 1: "你可以把决策制定问题看作是一种生成式轨迹建模问题。"

  • 模型需要预测一系列动作 (P(\text{trajectory} | \text{goal})),这可以分解为环境的转移动态和智能体的策略。
  • 自回归建模:可以将智能体训练成一个自回归语言模型,根据历史动作、当前状态和目标(可以是奖励或自然语言指令)来预测下一个动作。
  • 循环提示 (Prompting in a Loop)
    • 在文本中指定动作空间(如:打字、点击、移动鼠标)。
    • 提供指令。
    • 提供迄今为止的动作和观察序列。
    • 让语言模型预测下一个动作。
    • 讲者称之为“循环中的思维链提示”,并表示“一个稍微复杂一些的版本可以在某些环境中工作”。

智能体评估基准

  • MiniWob (Mini World of Bits):
    • 沙盒环境,评估基本的浏览器交互(如在模拟Twitter上转发、在模拟邮件客户端中转发邮件)。
    • 任务通常在3个动作内完成(短时程)。
    • 特点:非真实网站,单标签页。
    • 即使在这个简单基准上,“即使是最好的语言模型,其零样本性能也远非完美”。
  • WebArena:
    • 沙盒环境,但更接近真实网站,涵盖电子商务(类似亚马逊)、社交媒体(类似Twitter)、地图等实用工具。
    • 支持多标签页浏览,智能体可以在不同标签页间切换。
    • 评估功能正确性。
  • WebLINX:
    • 真实网站上进行交互,支持多标签页浏览。
    • 引入了智能体与用户沟通的新动作(如请求信用卡信息)。
    • 本身是一个交互数据集,不能用于在线学习或探索。

训练语言模型智能体

  • 上下文学习 (In-Context Learning) 与少量示范 (Few-shot Examples)
    • 标准做法是为每个新网站或用例提供人工执行的任务示范,作为语言模型的上下文示例。
    • 缺点:不可扩展,因为环境和交互类型繁多。
  • 生成合成示范 (Generating Synthetic Demonstrations)
    • 类似于推理部分的方法,让模型生成数据并从中学习。
    • 过程
      1. 探索 (Exploration):让一个未条件化的语言模型在环境中随机探索,生成轨迹。
      2. 标记 (Labeling):使用第二个语言模型为这些轨迹生成描述(即推断出的指令/目标)。例如,模型随机点击后,另一个模型可能推断出“指令是预订从旧金山到纽约的航班”。
      3. 迭代改进 (Iterative Refinement)
        • 让智能体模型以推断出的目标为条件,生成更符合该目标的轨迹。
        • 使用一个粗略的过滤器判断(指令,轨迹)对是否良好。
        • 如果轨迹未能完成预设目标,则调用“重新标记器”(relabeler)为该实际执行的轨迹赋予一个新的、更准确的指令标签(即模型实际完成了什么)。
        • 重复此过程,直到过滤器认为(指令,轨迹)对是好的。
      4. 应用:收集到的合成(指令,轨迹)对可用于微调模型,或作为上下文学习中的示范。
    • 结果:在MiniWob基准上获得了“13个百分点的提升”。

视觉语言模型 (Vision-Language Models, VLMs) 在智能体中的应用

处理HTML可能因DOM元素过多(“有时可能有数万个DOM元素”)而变得不切实际,直接使用环境的像素级视觉输入可能更优。

  • LLaVA (Large Language and Vision Assistant):
    • 思路类似Orca,使用GPT-4为图像的文本描述生成相关的指令和回应。
    • 联合微调一个图像编码器(如CLIP)和一个纯文本解码器(如Vicuna,一个指令微调的LLaMA模型)。
    • 最终得到一个能输出语言回应的图像编码器,可以回答关于图像的问题,或直接输入截图作为观察。
  • Pix2Struct:
    • 同样包含图像编码器和文本解码器。
    • 引入了新的预训练任务:在网页截图上遮挡部分区域,要求Transformer解码器生成被遮挡区域对应的HTML代码。
    • 讲者认为这“似乎是一个更自然的预训练目标,可能有助于图像和文本之间更好的交互”。
    • 后续也被用于构建多模态智能体。

当前挑战与“提示鸿沟”

  • 巨大的“提示鸿沟” (Huge Prompting Gap):
    > Speaker 1: "如果你不做大量的提示,如果你不使用定制的少量示例...即使是最好的语言模型也远非完美,即便是在像MiniWob这样非常非常简单的任务上。"
  • 长时程规划困难 (Long Horizon Planning):即使在简单基准上,“长时程规划仍然非常非常困难”。
  • 与人类表现的巨大差距:在WebArena这类更复杂的基准上,“人类水平的任务成功率与最佳模型(即使经过提示和少量示例)的表现之间存在巨大差异”。
  • 模型易犯低级错误
    • 例如,在WebLINX的一个任务中,GPT-4V将电子邮件地址输入到密码字段,并且无法从中恢复。
    • 另一个例子是模型重复搜索相同的词语三次。
    • 讲者评论道:“我相信通过大量的提示你可以解决这个问题。但这可能不是重点,对吧?” 暗示深层能力不足。
  • 结论
    > Speaker 1: "正如你所见,有很大的改进空间,这个领域还有很多工作要做...基准测试非常非常具有挑战性,模型会犯一些微不足道的错误。"

总结与展望

讲座回顾了语言模型在推理和作为智能体两方面的进展。

  • 推理方面:通过提示、蒸馏和自训练等方法,语言模型能展现一定的推理行为,甚至在某些情况下超越人类提供的合理论证。但反事实评估表明,当前的推理更多依赖模式匹配和记忆,缺乏系统性。
  • 智能体方面:从历史上的语义分析和强化学习,发展到当前将决策视为因果语言建模。通过提示和上下文学习,或利用合成数据进行训练,语言模型开始在数字环境中执行任务。视觉语言模型为处理多模态输入提供了新途径。
  • 共同挑战:两个领域都处于早期发展阶段,模型表现高度依赖提示工程,在泛化能力、长时程规划和避免简单错误方面仍有很大提升空间,与人类水平存在显著差距。讲者最后鼓励学生们在课程项目中探索这些方向。