一、使用LLM的两个提示策略
1. 上下文学习-ICL(In-Context Learning)
ICL的主要方法是通过构建范例,在向大模型输入问题时,首先给大模型一个范例,以帮助大模型在没有梯度更新的情况下识别和执行新任务。
【示例1】
电影评论:这部电影太精彩了!结局出乎意料。
标签:正面
【示例2】
电影评论:剧情拖沓,角色塑造苍白无力。
标签:负面
【待分类评论】
这部电影的特效惊人,但剧本稍显薄弱。
请给出该评论的情感标签:
2. 思维链-CoT(Chain-of-Throught)
思维链在常识推理,算术运算等任务上展现出了优越的性能,与ICL不同,CoT的方法主要将ICl中的范例替换为更详细的范例,即推理过程,具体的方法将在下文中介绍。
【题目】
计算:(5 + 3) × 2 ÷ 4
【CoT 示例推理过程】
首先,执行括号内的加法操作:
5 + 3 = 8
接下来,将得到的结果乘以2:
8 × 2 = 16
最后,用这个结果除以4:
16 ÷ 4 = 4
所以最终答案是 4。
【待解算题】
现在,请你解决以下类似的问题,并给出详细的计算步骤:
7 - 2 × 3 + 5
请进行逐步推理并得出最终答案。
二、使用方法
1. ICL
-
范例选择
根据任务设计相应的范例,不同的范例对于ICL的性能影响很大,所以范例的选择十分重要。主要的方法有 基于已有的范例进行挑选 和 基于大语言模型进行生成。
-
范例顺序
在大语言模型(LLM)的上下文学习或In-Context Learning中,模型的输出可能会受到示范(prompt中的示例)顺序的影响。由于LLM倾向于模仿其接收到的信息模式,如果示范以某种特定顺序排列,尤其是当模型特别关注最近给出的示例时,它可能更容易重复结尾附近示范的答案,而不是独立地对新任务进行推理。
为了解决这个问题并优化示范排序策略,研究者们探索了多种方法:
-
基于相似度排序:按照输入与待解决任务在嵌入空间中的相似度来安排示范。即,将与目标查询最相似的示例放在序列末尾,这样模型更有可能从中提取出解决问题的关键特征和模式。
-
熵度量:利用全局和局部熵指标来评估不同示范顺序的有效性。高熵意味着示例分布更加均匀或者信息丰富,有助于减少模型对特定位置答案的过度依赖。
-
信息论启发的方法:通过最小化压缩和传输任务标签所需的码长,尝试整合更多的任务相关性信息到提示中。这种方法试图构建一种高效的编码方式,使得模型能够更好地理解和归纳任务结构。
-
自采样验证数据:为了摆脱对额外标记数据集的依赖,某些研究如[247]提出直接从LLM自身内部逻辑出发,通过采样生成验证数据,用于评估不同的示范排序策略是否有效,从而实现自我调整和优化。
综上所述,这些工作都是为了减轻LLM在处理新的未见过的任务时可能出现的顺序偏差问题,进而提高模型的泛化能力和推理准确性。
2. CoT
主要有两种方法设计CoT,小样本(few-shot)的方法和零样本(zero-shot)的方法
1.few-shot
思维链提示设计(CoT:Chain of Thought)对于最大化LLM复杂推理能力至关重要。一种直接策略是提供多样化的推理路径,即针对每个问题给出多个推理步骤,这已被证明能有效提升模型性能。另一种观念认为,包含复杂推理流程的提示更容易激发LLM的推理能力,并提高正确答案生成准确率。然而,这些方法均需人工标注CoT,限制了实际应用。
为解决这一局限性,Auto-CoT技术利用零样本CoT在无预先标注的情况下引导LLM自动生成推理路径,从而消除了人工干预。此外,Auto-CoT通过将训练集问题聚类并选取最接近簇质心的问题作为代表,以优化提示效果。相较于标准ICL(In-Context Learning)提示,思维链示范顺序对性能的影响相对较小,通常调整排序只会带来不超过2%的变化。
增强型思维链策略不仅注重丰富上下文信息,还致力于产生和整合多种推理路径。例如,self-consistency技术采用一种新的解码策略,首先让LLM生成多个推理路径,继而集成所有路径得出的答案(如通过投票选出最一致的答案),显著提升了CoT推理表现,甚至在某些任务上超越了标准提示的效果。
2. zero-shot
在prompt中添加“让我们一步步思考”,引导大模型进行推理逻辑的思考。
三、原理
持续更新中...