Advertisement

大语言模型综述(六)模型使用

阅读量:

2023年05月04日 22:13350阅读 · 1喜欢 · 0评论

[

](https://space.bilibili.com/3493111409936476)

dupaper

在经过预训练或自适应调整之后,在大语言模型领域的主要方法在于设计出能够适应解决各类任务的提示策略。其中一种典型的方法就是上下文学习 ,这种技术通常采用自然语言文本的形式来制定任务描述或演示过程。此外,思维链提示法 可以通过将一系列关键的推理步骤融入提示内容来加强上下文学习效果。接下来的内容中我们将详细阐述这两种技术的具体实现方式和应用效果。

上下文学习(In-Context Learning)

作为一种独特的提示模式,在上下文学习(in-context learning, ICL)最初被提出时就结合了GPT-3,在此之后现已成为大语言模型应用的标准范式。

作为一种独特的提示模式,在上下文学习(in-context learning, ICL)最初被提出时就结合了GPT-3,在此之后现已成为大语言模型应用的标准范式。

提示公式

参考'Language models are few-shot learners'这一表述

情境学习(ICL)与思维链(CoT)提示方式的对比说明。ICL以自然语言的形式呈现多个示范案例,并配合一个测试查询项来引导大语言模型进行学习训练。而CoT则包含一系列中间推理环节。

在形式上定义集合 D_k = \{ (x_1, y_1), \dots, (x_k, y_k) \} 表示包含 k 个示例的数据集,在此过程中每个实例 (x_k, y_k) 均被转换为自然语言提示的任务。基于任务描述 I 和演示数据集 D_k ,对于一个新的输入查询 x_{k+1} ,大语言模型生成的目标输出 \hat{y}^{(k+1)} 可以表示如下

其中真实目标 y_{k+1} 未预先设定(留作空白),由大语言模型通过预测任务自动完成。ICL 的性能高度依赖于其提供的演示实例,在提示设计中合理地安排这些提示成为一个关键挑战。基于上述公式推导过程的基础之上,在后续讨论中我们将重点分析以下三个关键方面的提示格式化方法:
(1)如何选择组成演示的示例集合;
(2)如何利用函数 f(\cdot) 对每个示例进行精确的提示编码;
(3)如何制定合理的展示顺序以促进学习效果。

系统性地回顾了"A survey for in-context learning"这一论文对ICL的研究成果,并向读者推荐深入研究以拓展对该主题的理解和探讨;相较于当前综述报告,在演示设计以及ICL基础机制方面本研究着重探讨了将其应用于大型语言模型的技术路径;此外,在任务实例化过程中两者均采用了自然语言的形式进行规范描述

示范设计(Demonstration Design)

多项研究表明, ICL 效果在显著程度上受到演示设计影响。我们将在以下三大核心要素中阐述 ICL 演示设计:示范选择、展示方式以及呈现顺序。

示范选择 。 ICL的表现通常会受到不同演示示例的影响较大。鉴于此,在进行ICL学习时合理选择能够充分挖掘大语言模型潜力的关键范例集合至关重要。这些学习方法大致可分为两类。其中一类是启发式的方法;另一类则是直接基于大语言模型的技术。

启发式的策略因其简洁性和经济性而备受关注

利用大语言模型的方法。

综上所述,在参照"An explanation of in-context learning as implicit bayesian inference"的相关论述的基础上,就前述两种选择方案而言,ICL方法所选取的示范性示例应当充分具备有关待解决任务的关键信息,并不仅需要具备充分的相关性

演示格式 。选择任务示例后,下一步是将它们集成并格式化为大语言模型的自然语言提示。一种直接的方法是用相应的输入输出对来实例化一个预定义的模板。为了构建信息量更大的模板,最近的研究考虑添加任务描述或使用思维链提示增强大语言模型的推理能力。例如,在 “Cross-task generalization via natural language crowdsourcing instructions”中,作者收集了一个大型数据集,其中包含人类编写的任务描述。使用此数据集进行调优后,可以提高已见任务的性能,并且大语言模型还可以在一定程度上泛化到未见任务。为了降低注释成本,“Self-instruct: Aligning language model with self generated instructions” 中提出了一种半自动化方法,通过使用由人工编写的任务描述组成的种子集来指导大语言模型为新任务生成任务描述。由于为不同的任务手动注释演示格式的成本很高,因此一些工作还研究了如何自动生成高质量的演示格式。作为两种具有代表性的方法,Auto-CoT 利用大语言模型的零样本提示“让我们逐步思考”来生成中间推理步骤,而 least-tomost 提示首先查询大语言模型以执行问题分解,然后利用大语言模型根据先前已解决问题的中间答案顺序解决子问题。

示例排序 。 大型语言模型有时会受到近期偏向的影响 , 即它们倾向于重复接近尾声的回答 。 因此 , 合理安排演示 ( 即任务示例 ) 非常重要 。 早期研究提出了一种基于启发式的算法 , 能够有效地确定一个良好的顺序 。 例如 , 演示可以根据它们与查询在嵌入空间中的相似程度进行组织 , 越相似的样本越倾向于排在较后的位置 。 此外 , 全局性和局部性熵指标可用于评估不同排列的效果 。 为了整合更多的任务信息 , 最近的研究尝试通过最小化压缩编码所需的代码长度来优化性能 , 这一思路源自信息论的研究成果 。 然而 , 这类方法通常需要额外的标记数据来进行验证集评估 。 为此 , “Fantastically ordered prompts and where to find them: Overcoming few-shot prompt order sensitivity”一文建议从大型语言模型自身中抽取样本来构建验证集。

底层机制

完成预训练后的大语言模型可以在无需更新的情况下具备有趣的 ICL 能力,在随后的部分中我们将探讨涉及的问题即'预训练如何影响 ICL 能力'以及'LLM 在推理过程中如何执行 ICL'这两个关键议题。

如何预训练影响ICL? I CL最初是在GPT-3中提出的一种能力机制,在这一过程中随着模型规模的增长其重要性愈发凸显出来。研究表明通过精心设计的任务(如学习以任务示例和查询作为输入来预测标签)即使使用小型语言模型也可以实现强大的上下文学习能力甚至可能超越较大的模型架构。这一发现凸显了任务设计在大规模语言模型上下文学习能力发展中的关键作用。此外最近的研究还深入探讨了I CL与预训练数据分布之间的联系发现当训练数据能够集中于较少见的类别时I CL性能会显著提升这一现象为理解大规模语言模型的学习机制提供了新的视角

大语言模型如何执行 ICL? 在推理阶段中,研究者主要关注ICL功能在基于展示的运行过程中的作用机制。他们通常从梯度下降的角度展开探讨,并将ICL视为一种隐式微调过程。在此框架下,ICL的工作原理如下:大语言模型通过前向计算生成关于展示内容的元梯度,并利用注意力机制隐式地执行梯度下降操作。实验结果表明,在某些注意力头中存在与任务无关的基本操作(例如复制和前缀匹配),这些行为与ICL能力密切相关。为了深入解析ICL的工作原理,一些研究尝试将其抽象为一个算法学习过程。具体而言,“What learning algorithm is in-context learning? investigations with linear models”中的研究发现大语言模型本质上是在预训练过程中通过其参数对隐式模型进行编码表示。借助ICL提供的示例信息,大语言模型能够实现诸如梯度下降等学习算法的应用或直接计算闭式解以更新相关模型参数。在此框架下已表明大语言模型具备有效学习线性函数的能力,并且也能掌握更复杂的函数形式(如带ICL支持的决策树)。

思维链提示(Chain-of-Thought Prompting)

思维链 (CoT) 是一种改进型提示策略,在提升大语言模型处理复杂推理任务方面具有显著效果。该方法特别适用于算术推理、常识推理以及符号运算等领域。与传统的ICL方法不同的是,CoT并非简单地复制输入与输出关系来构造提示信息,而是整合了能够最终生成结果提示的相关推导过程。本文将深入探讨CoT的具体应用方法,并分析其适用场景及其作用机理。

使用 CoT 进行上下文学习

一般情况下,在多数应用中CoT都会被采用为知识蒸馏的基础模型架构方案之一

小样本柯西序列(CoT) 。基于小样本的柯西序列(CoT)作为ICL的一种特殊情况,在实际应用中主要依赖于柯西序列(CoT)推理机制将每个演示实例的输入与输出扩展为包含柯西序列(CoT)处理的内容。针对这一策略展开探讨,首先需要分析构建合适的柯西序列(CoT)提示方案两大核心内容,并研究如何有效利用这些柯西序列( Co T )生成最终结果的过程。

CoT提示设计 。适当设计 CoT 提示对于大语言模型复杂推理能力的激发至关重要。作为一种直接的方法,不同 CoT 的使用(即每个问题的不同推理路径)能够显著提升其性能。更直观地讲,拥有更复杂的推理路径提示可能更容易促使大语言模型展开推理活动,并由此生成更为准确的答案输出。然而,这两种方法均需依赖于标注良好的 CoT 数据集才能实现应用效果;这种依赖在实践中往往带来诸多不便。为此,AutoCoT 方法提出了一种无需人工注解的新途径——通过 Zero-shot-CoT 特别提示大语言模型生成推理路径;这种方法完全避免了传统方法中繁琐的手工标注环节。为了进一步优化性能,在 AutoCoT 方法基础上又提出了一种创新策略:将训练集中的问题划分为若干簇,并选取与簇质心最接近的问题作为典型样本;这种策略可较为充分地代表训练集中的各类问题特征并加以应用。值得注意的是,在多数任务场景下仅需少量示例即可实现较佳效果——虽然与 ICL 方法相比稍显逊色,在实际应用中其优势依然较为明显:具体而言,在 ICL 标准提示方案下仅通过重新排序演示实例所能带来的性能提升幅度通常在 2%以内;这表明当前阶段演示顺序的影响尚处于相对次要地位

增强的 CoT 策略 。除了提供丰富的上下文信息外,在推断给定问题的答案时还提供了更多推断路径的选择。现有研究主要集中在生成多条推理路径,并试图在派生答案中寻找共识意见。例如,在生成 CoT 和最终答案的过程中,“自洽性”被提议作为一种新的解码策略:它首先生成多个推理路径,并对所有可能的答案进行集成(例如,在这些路径中选择最一致的答案作为最终结果)。这种自洽性方法显著提升了 CoT 推理性能,并且甚至能够改善其在某些任务上的表现(例如闭卷问答和自然语言推理),与传统提示相比有时甚至更为出色)。此外,“Rationale-augmented ensembles in language models”中的研究者将自洽策略扩展到了更通用的集成框架(应用于提示层面),他们发现多样化的推理路径是提升 CoT 性能的关键因素之一。上述方法可以在现有 CoT 提示系统中直接应用,并无需额外训练即可显著提高性能表现。相比之下,在其他研究中,则采用了不同的方法论:要么训练了一个评分模型来评估生成推理路径的质量;要么不断优化大语言模型使其在自身生成的推理过程中更加高效准确)。

零样本CoT 。与少样本CoT不同的是,在提示中不包含人工注释的任务演示示例。相反地,则会直接生成推理过程,并利用生成的CoT得出答案。Zero-shot CoT的概念最早体现在"Large language models are zero-shot reasoners"这一研究中。具体而言,在提示中采用"Let's think step by step"引导模型生成推理过程,在随后采用"Therefore, the answer is"指令引导模型输出最终结论。研究发现,在模型规模超过一定阈值时这一策略能够显著提升性能水平;但对于小规模模型则无效性较高,并展现出明显的涌现式能力特征。为了拓宽CoT方法的应用范围并提升其泛化能力水平,在后续研究中Flan-T5和Flan-PaLM团队对CoT注释数据进行了指令优化工作;通过这种方式进一步提升了零样本条件下各领域的任务性能表现。

关于 CoT 的进一步讨论

在这一部分中, 我们将系统性探讨与 CoT 相关的两大核心问题, 包括'CoT 在大语言模型适用的时间点'以及'大语言模型如何实现 CoT 推理过程'.

CoT 在什么情况下适合用于大语言模型? 因为 CoT 是一种涌现能力, 所以它仅在参数规模较大的模型 (如拥有至少10B参数) 时才展现出积极效果,而对小型语言模型则没有显著影响.此外,由于 CoT 通过引入中间推理步骤来增强标准提示,因此它特别适合提升那些需要逐步推断能力的任务, 如算术推理、常识推理和符号运算.然而,针对那些不依赖于复杂逻辑推导的任务, CoT 可能会表现出较弱的效果,例如来自 GLUE 数据集上的 MNLI-m/mm、SST-2 和 QQP 任务.值得注意的是,CoT 提示所带来的性能提升往往只有在标准提示未能取得良好效果时才会显现显著的优势.

探讨大语言模型具备执行共设推理(CoT)的能力 作为第二个问题,在探讨完第一个问题后,请深入分析其内在机理

CoT能力的来源 。人们普遍认为 CoT 能力源于代码训练。由于在其上训练的模型表现出强大的推理能力。从直观上看, 代码数据组织良好, 具有算法逻辑和编程流程, 这可能促进大语言模型推理性能提升。然而这一假设仍缺乏公开消融实验证据(有无代码训练)。此外, 指令调优似乎不成为获得 CoT 能力的关键原因, 因为经验证明对非 CoT 数据进行指令调优不会显著提升在保留 CoT 标准上的表现

在提示组件的作用下(即在输出结果之前)通过整合推理路径来引导模型进行思考

总体而言,CoT提示为激发大语言模型的推理能力提供了一种通用且灵活的途径。一些初步探索试图将其扩展到多模态任务和多种语言任务中。除了将大规模语言模型与ICL和CoT结合使用外,在研究过程中也出现了一些尝试用于特定领域的问题解决。近期研究进一步探讨了如何专属性地将大规模语言模型的能力应用于特定的任务领域,并取得了显著效果。例如,在研究过程中,有人通过微调在CoT推理路径上生成的小规模Flan-T5模型来实现这一目标,并取得了一定成果。

全部评论 (0)

还没有任何评论哟~