目录
- 3.2 上下文学习
- 3.2.1 上下文学习的定义
- 3.2.2 演示示例选择
- 1)直接检索
- 2)聚类检索
- 3)迭代检索
- 3.2.3 性能影响因素
3.2 上下文学习
随模型训练数据规模和参数量的扩大,大语言模型涌现出了上下文学习(In-Context Learning,ICL)能力。
其使得语言模型能够通过给定的任务说明或示例等信息来掌握处理新任务的能力。可以快速适应下游任务。为“语言模型即服务”(LLM as a Service)模式奠定了坚实的能力基础。
下面从上下文学习的定义,演示示例选择,影响其性能的因素,对上下文学习展开介绍。
.
3.2.1 上下文学习的定义
上下文学习(In-Context Learning, ICL):
-
是一种通过构造特定的Prompt,来使得语言模型理解并学习下游任务的范式;
-
这些特定的Prompt中可以包含演示示例,任务说明等元素。
实现的关键:在于如何设计有效的Prompt,以引导模型理解任务的上下文和目标。
在上下文学习中,Prompt通常包含几个与待解决任务相关的演示示例,以展示任务输入与预期输出。这些示例按照特定顺序组成上下文,并与问题拼接共同组成Prompt输入给大语言模型。大语言模型从上下文中学习任务范式,同时利用模型自身的能力对任务进行作答。
图3.5: 上下文学习示例
上下文学习依示例数量分为三种形式:
-
零样本:仅需任务说明,无示例,泛化能力强,但性能依赖模型且可能欠佳。
-
单样本:提供一个示例,符合人类学习模式,但效果依赖示例代表性。
-
少样本:提供少量示例(几至十几个),能提升特定任务表现,但增加计算成本。示例的代表性和多样性也将影响其生成效果。
上下文学习有效的原因:
据斯坦福大学研究,可解释为“隐式贝叶斯推理”:大语言模型预训练时学习了文本中的潜在概念;推理时借助示例锚定这些概念,从而预测答案。
.
3.2.2 演示示例选择
在上下文学习中,演示示例对引导大语言模型理解任务至关重要,其内容和质量直接影响学习效果。合理选择示例需依据相似性和多样性:
-
相似性:挑选与待解决问题最接近的示例,从语言和结构等层面衡量,为模型提供相近参照,助其理解问题。
-
多样性:确保示例涵盖广泛内容,扩大覆盖范围,使模型从多角度理解任务,增强应对不同问题的能力。
本节主要探讨基于这两个因素,从大量候选示例中选择合适示例的方法。
1)直接检索
直接检索通过计算候选示例与待解决问题的相似性排序,选取前K个示例。
代表性方法KATE利用RoBERTa编码问题和示例,通过向量余弦相似度评分选择最高K个示例。
此方法简单易用,但未考虑示例多样性,可能导致同质化。
2)聚类检索
聚类检索通过先聚类后检索来保证示例的多样性,避免直接检索导致的样例趋同。Self-Prompting 是代表性方法,其操作步骤如下:
-
将候选示例和待解决问题编码成向量。
-
运用 K-Means 算法把示例集合聚为 K 个簇。
-
依照问题与示例之间的余弦相似度,从每个簇中选取与问题最相似的示例,得到 K 个示例。
该方法虽提高了示例的多样性,但因部分簇与问题不相似,致所选示例的相似性可能不够高。
3)迭代检索
迭代检索通过动态选择示例,在相似性和多样性之间取得平衡。
其流程如下:
-
初始化检索器内部状态:根据当前问题,基于LSTM检索器初始化内部状态。
-
选择第一个示例:从候选示例中选择一个与问题高度相似的示例。
-
更新检索器内部状态:结合问题和已选示例,更新检索器内部状态。
-
选择下一个示例:根据更新后的状态,从剩余候选示例中选择下一个示例。
-
重复迭代:重复更新和选择,直到选出k个示例。
RetICL是代表性方法,其根据问题初始化基于LSTM的检索器内部状态,选择示例并不断更新状态,直到得到k个示例。
图3.9: 迭代检索
.
3.2.3 性能影响因素
除示例选择以外,上下文学习的性能受多种因素影响,包括预训练数据、预训练模型、演示示例等。
1)预训练数据的影响
预训练数据是上下文学习能力的来源,深刻影响其性能,领域丰富度、任务多样性、训练数据的分布特性是影响性能的关键因素。
2)预训练模型的影响
预训练模型对上下文学习性能的影响主要体现在模型参数规模上,参数数量需达到亿级别及以上,模型规模越大,性能越强。此外,模型的架构和训练策略也是影响性能的重要因素。
3)演示示例的影响
已经讨论了演示示例选择对上下文学习的重要性。除此之外,演示示例的格式、输入-标签映射、示例数量及顺序对上下文学习的性能也存在不小的影响。
除上述因素外,Prompt中的任务说明的质量也直接影响上下文学习的效果。
.
其他参考:【大模型基础_毛玉仁】系列文章
声明:资源可能存在第三方来源,若有侵权请联系删除!