Towards Reasoning in Large Language Models A Survey
1 Reasoning 定义
推理:以逻辑和系统的方式进行思考,利用证据和过往经验来得出结论或作出抉择。
演绎推理Deductive Reasoning 结论来源于前提假设的阳性
-
前提假设:哺乳动物都有肾脏
-
前提假设:鲸是哺乳动物
-
结论:鲸有肾脏
归纳推理Inductive Reasoning 结论来源于观测或者证据
-
观察:每当看到有翅膀的动物,是鸟
-
观察:看到一个有翅膀的生物
-
结论:可能是鸟
溯因推理Abductive Reasoning 结论来源于给定观测集合的最优解释
- 观察:车子开不了,引擎下面有一滩液体
- 结论:最可能的解释是车子的散热器漏水了
其他推理问题:
- 类比推理Analogical Reasoning 通过比较两个或多个事物来得出结论
- 因果推理Causal Reasoning 需要识别和理解事件的原因和影响
- 概率推理Probabilistic Reasoning 根据某个输出的似然或者概率来得出结论
此外,推理还分形式推理Formal Reasoning和非形式推理Informal Reasoning,前者形式更规整严谨,后者则更开放,依赖一些常识、直觉、经验等等。
用LLM做的reasoning大部分是非形式推理,不过这些工作往往不会明确说自己是形式还是非形式。
2 传送门
一些相关工作:
- deductive reasoning
- inductive reasoning
- abductive reasoning
3 Reasoning in LLM
最近的工作表明LM的规模超过100B以后将会涌现出推理能力。
3.1 完全监督微调
一些相对较小的LM上进行监督微调,主要的局限:
- 要求数据集当中有明确的推理,数据获取费时或者费力
- 只在特定领域进行训练,可能导致模型依赖于训练数据而不是真的在推理
3.2 Prompting & In-Context Learning
LLM在多步推理上还存在欠缺。
3.2.1 CoT以及变种
CoT以及变种的介绍可以参考人大的LLM综述。
特定问题/设置:
- 在CoT之前,名为"scratchpads",通过中间计算过程来提升LM的推理能力(在finetuning和few-shot中)
- 想要用CoT解决多语言推理问题
- 将CoT应用于表格形式的推理,发现性能很好(只用一个example)
- 表明CoT可以提高LLM对隐喻进行选择的表现
- 用CoT解决多模态的科学问题
3.2.2 基本原理工程 Rationale Engineering
exemplar的选择对性能很重要 What makes good in-context examples for GPT-3
基本原理细化Rationale Refinement:通过对基本原理进行细化来提升LLM的推理性能。
这部分讲的是Rationale的相关工作、设计机制探索以及评估
3.2.3 问题分解 Problem Decomposition
感觉偏向任务分解。“总的来说,这些技术显示出有帮助的希望llm通过将问题分解为更易于管理的子问题来解决复杂的任务。”
3.2.4 其他
- selection-inference框架,让LLM从一堆推理步骤中选择正确的 https://arxiv.org/abs/2208.14271
- 反向思维链 https://arxiv.org/abs/2212.13894
- 用提示词让LLM归因和地推地对每个选项进行基本原理细化,解决双选项问题 https://arxiv.org/abs/2212.13894
- 将复杂数字替换为简单数字进行推理,然后用复杂数字进行实际运算,提高算数水平 https://arxiv.org/abs/2210.05075
- 一些蒸馏算法,想将LLM的推理能力浓缩到小模型,相关综述“语言模型传递” https://arxiv.org/abs/2207.10342
3.3 混合方法
Prompting只是利用,没有对LM的reasoning能力进行提升。Hybrid approach希望能同时提高LLM的推理能力以及对推理能力的利用。
3.1.1 Reasoning-Enhanced Training and Prompting
在包含Reasoning的数据集上对LLM进行预训练或者微调。
- 在科学和数学数据上训练的LLM有更好的量化推理能力(使用CoT技术)
- 用SQL数据进行预训练可以提高LM在NL推理(numerical reasoning, logical reasoning)的能力
- CoT数据对维持推理能力很关键
- 在10个推理数据集上对OPT进行微调,提升了LLM的某些推理能力
- 研究长度泛化:在短问题上训练能否泛化到长问题。用CoT技术进行微调,在Prompt中也使用CoT,可以提高对长问题的泛化能力。在标准的完全监督微调中没有这种现象。
3.3.2 Bootstrapping & Self-Improving
通过Bootstrapping来让LLM自己提高推理能力。
- 用LLM自己的输出迭代地训练自己
- 通过利用推理的自一致性,LLM能够在不需要监督数据的情况下自我提高推理能力
4 推理能力评估
4.1 End Task Performance 终端任务表现
- 算数推理Arithmetic Reasoning:GSM8K, Math, MathQA, SVAMP, ...
- 常识推理Commonsense Reasoning:CSQA, StrategyQA, ARC, ...
- 符号推理Symbolic Reasoning 用抽象的符号来表示概念和关系,通过前提假设的规则来对其进行操作,得出结论
- Last Letter Concatenation, Coin Flip https://openreview.net/forum?id=_VjQlMeSB_J
- 其他
- BIG-bench 包含了200多个推理任务,例如:Date Understanding, Word Sorting, Causal Judgement
- 评估泛化能力
- 表格推理能力
- WikiTableQA https://doi.org/10.3115/v1/P15-1142
- FeTaQA https://doi.org/10.1162/tacl_a_00446
- 生成关系推理能力generative ralational reasoning
- CommonGen https://doi.org/10.18653/v1/2020.findings-emnlp.165
- Open Relation Modeling https://doi.org/10.18653/v1/2022.findings-acl.26
4.2 对推理的分析
LLM的预测在多大程度上是基于真正的推理或简单的启发并不总是很清楚。这是因为大多数评估都是只看结果,没有分析其推理过程。
后面介绍了一些对推理过程进行评估的benchmark。
5 研究结论和影响
- 推理似乎是LLM的一种涌现能力
- CoT可以诱导出LLM的推理能力
- LLM在推理上展现出类人的内容效果
- LLM在复杂推理中仍然无法胜任

浙公网安备 33010602011771号