情境学习 (ICL) 是一项先进的人工智能能力,最早出现在开创性研究论文《Language Models are Few-Shot Learners,》中,该论文正式发布了 GPT-3 模型1。与需要反向传播训练来调整模型参数的监督学习不同,ICL 完全基于预训练语言模型,且保持其参数固定不变。
AI 模型使用提示作为临时指南来推断任务并生成预期的输出。ICL 的工作原理是识别提示中示例之间的关系(也称为输入/输出对),并将相同的映射应用于新输入。这个过程模仿人类推理,我们通过从以前的体验中进行类比来解决新问题。它充分利用在预训练期间学习的模式和知识,并动态适应新任务,使其高度灵活和高效。
从本质上讲,情境学习通过在提示中加入一组示例(输入/输出对或情境示例),来对大语言模型 (LLM) 进行条件设定,这些示例通常以自然语言的形式作为输入序列的一部分提供。这些示例通常来自数据集,并不会用于重新训练模型,而是直接输入到其情境窗口中。该窗口表示 LLM 一次能够处理的文本量,相当于其生成连贯响应的临时记忆,也是模型中处理序列输入的部分。
形式上,让提示由输入/输出对形式的 k 个示例组成:
C={(x1 ,y1 ),(x2 ,y2 ),...,(xk ,yk )}
给定一个新输入 x 和候选输出空间 Y={y1,...,ym},模型会在提示的条件下计算每个可能输出的概率:
P(yj ∣ x,C)
通过选择概率最高的选项来确定预测结果:
在此过程中,模型不会更新其权重。相反,借助其深度学习转换器架构,模型仅利用当前提示中的示例就能动态学习模式。
要了解这种方法的实际应用,可以考虑情感分类任务。提示可能如下所示:
评论:这部电影太棒了 → 情感:正面
评论:我讨厌这个故事情节 → 情感:负面
评论:音乐很悦耳 → 情感:
模型通过预测“正面”来完成最后一行,延续了之前输入-标签映射中观察到的结构。该示例展示了少样本学习,模型可以根据少量示例推断任务并生成适当的响应。
由于 AI 模型的成功取决于提示中所显示的内容,因此提示工程在 ICL 中起着关键作用。提示工程是指制作高质量、信息丰富且结构良好的提示,以有效地指导模型。提示通常使用自然语言模板,这些模板经过精心挑选,以匹配模型在预训练数据中所接触过的内容。措辞、标签格式、示例顺序甚至标点符号的细微差异都可能影响模型性能,对于小型模型或边缘案例而言尤为明显。
重要的是,提示工程并不是一种单独的机制,而是在更广泛的情境学习概念范围内运作的一套技术。例如:
零样本提示:解释任务但不提供任何示例
单样本提示:仅包含一个例子来说明任务
少样本提示:提供多个示例
思维链提示:每个示例都包含中间推理步骤,以引导模型的逻辑
这些提示策略通常与少样本提示设计结合使用,并在测试泛化能力的基准上进行评估。即使是带有随机标签的输入/输出对也能提升性能,这凸显了提示的格式和分布与标签本身同样重要。
当我们从受控的 ICL 提示转向复杂的现实世界系统时,挑战也从编写静态输入转变为进行情境工程实践。这是一门新兴学科,专注于系统性设计大型语言模型在现实场景中可靠运行所需的所有输入。
情境工程是一种实践,旨在设计动态系统,以正确的格式为大语言模型 (LLM) 组装并提供合适的信息、工具和指令,从而使其能够可靠地完成任务。与静态提示工程不同,情境工程侧重于从多个来源(例如用户输入、以前的交互、工具输出和运行时的外部数据)构建完整的、与任务相关的输入。它确保 LLM 不仅能够接收必要的数据,还能以其能够有效理解的结构来获取这些数据。在复杂的智能体式系统中,这种方法至关重要,因为系统故障往往源于情境缺失或格式不当,而非模型限制。通过将工具、检索机制和记忆集成到提示构建过程中,情境工程弥合了模型潜力与实际性能之间的差距。
虽然早期的解释将 ICL 视为表层的模式重复或下一个令牌的预测,但最新研究表明其涉及更深层次的过程。一种有力的解释将 ICL 视为一种贝叶斯推断形式,即通过用证据更新信念来估计概率的方法。2 在这种观点下,模型会查看少量示例(少样本或单样本),并从提示中推断出一个潜在概念(一个未显式给出的任务或结构,例如“这是情感分类”)。随着更多情境示例的添加,模型对它正在执行的任务变得更加有信心,从而在不更改其模型参数的情况下改进其预测。
另一种解释将 ICL 与梯度下降联系起来,梯度下降是大多数机器学习系统用于最小化误差的核心优化方法。最近的研究表明,转换器模型可以在内部模拟学习过程,特别是对于线性回归等简单任务。尽管实际上没有发生参数更新,但模型的行为表现得就像它通过内部推理循环在根据提示进行调整。这个过程完全发生在模型的情境窗口内发生。
这些发现表明,情境学习在推理过程中涉及类似内部学习的行为,即使在零样本或少样本设置中亦是如此。LLM 不是静态预测器,而是通过使用自然语言提示实时适应任务结构。这种推理和隐性学习的结合使得 ICL 成为一种无需再训练就能解决新任务的有效方法。
1. 模型规模和参数敏感性
ICL 的有效性在很大程度上受到 LLM 规模和设计的影响。较大的模型在 ICL 中表现出更强的涌现能力。而较小的模型往往难以与情境学习功能相匹敌,因为它们缺乏有效模拟复杂任务的参数能力。
2. 预训练数据质量和偏差
情境学习的有效性取决于预训练数据的种类和质量。在狭窄或有偏见的数据集上训练的模型,其推理过程会复现这些局限性,从而导致泛化能力不佳与公平性问题。
3. 领域迁移和泛化
尽管大语言模型展现出卓越的适应能力,但在高度专业化的领域任务中,其性能仍可能出现衰减。在法律、医疗等专业领域,可能仍需要借助特定领域的示例演示甚至传统的微调方法。
4. 伦理和公平
情境学习可能会无意识地延续并强化训练数据中存在的社会偏见。由于提示会影响模型行为,因此确保动态实时交互中的伦理和公平输出仍然是一个重大挑战。
5. 隐私和安全问题
基于情境学习的现实应用系统,若其预训练数据包含敏感信息,可能会无意间记忆或复现这些内容。这种可能性引发了关键隐私问题,尤其是在医疗保健、法律和个性化助理领域。
6. 提示敏感性与稳定性
ICL 对提示设计非常敏感。情境示例的数量、顺序或格式的微小变化都可能导致输出发生较大偏差,从而使稳定性能难以保证。
1. 训练模型
为使 LLM 从根本上提升情境学习能力,研究人员正着力在模型训练期间或训练结束后立即实施优化。3 一个主要研究方向是采用结构化数据进行预训练,即明确组织输入/输出对或任务集群。这种方法有助于模型对任务模式和关系更加敏感,而不仅仅是依赖于广泛的语言分布。
另一种有效方法是元提炼,即让模型接触经过提炼的抽象知识形式:那些简短却信息量高度密集的示例对,能够传达任务的核心要素(例如“剧情紧凑→正面”,“表演糟糕→负面”)。这种方法允许模型在推理过程中快速泛化,同时将演示开销降至最低。
预热训练通过使用符合任务要求的提示形式示例,在预训练和实际推理之间对模型进行微调。例如,在测试之前查看几个“标题→类别”示例可以增强其推广到相关内容的能力,而无需重新训练。
指令微调是另一种关键策略,即通过使用成千上万以自然语言指令编写的任务来训练模型(例如,“判断句子的情绪”)。该策略通过使模型行为更贴近人类指导,从而提升少样本和零样本泛化能力。
2. 设计提示
在推理过程中,提示设计在利用 ICL 中起着关键作用。其中最具影响力的技术之一是示例选择,即通过使用相似性度量、不确定性评分或训练过的检索器来选择合适的示例。
示例重格式化会修改示例的结构方式。一些方法不是使用简单的输入/输出对,而是使用推理链(例如,“前提 → 推理 → 结论”)来增强与模型内部表示的一致性。
另一个微妙但重要的因素是演示顺序。将示例按从简单到复杂的顺序组织,例如先从基础的编程打印语句开始,再逐步过渡到循环,有助于模型逐步建立上下文,从而提升理解能力和输出质量。
最后,通过指令格式化和思维链提示,可以在以推理为主的任务中提升表现,通过明确引导模型完成中间步骤来增强推理能力。这种方法在算术或逻辑推理等领域尤其有用,例如将问题分解为“步骤 1:8 减 3 → 步骤 2:答案是 5”,相比直接问答格式能够提高准确性。
异常检测:通过使用情境学习,LLM 可以获得一些正常和异常网络活动的标注示例。然后,该模型可以准确地将新流量实例分类为正常或可疑,从而实现灵活高效的监控,而无需进行大量重新训练。这种方法可广泛应用于各种网络安全和网络管理任务。
例如,某研究论文展示了在无线环境中应用大语言模型(特别是 GPT-4)进行情境学习以实现自动网络入侵检测的案例。4他们摒弃了需要大量标注数据和高成本微调的传统方法,设计了三种情境学习方案:示例说明式、启发引导式与交互对话式。这些方法通过在提示中提供一些标注示例,并结合特定领域的问题来提高准确性,从而指导 GPT-4 识别攻击类型。在具有 9 种分布式拒绝服务 (DDoS) 攻击类型的真实数据集上进行测试,结果显示性能有所改善。这些改进表明准确性和 F1-Score 提高了约 90%,而 GPT-4 仅用 10 个示例就达到了 95% 以上。这个例子展示了情境学习如何使 LLM 能够快速适应,并在实际的网络安全场景中以极少的训练数据有效执行任务。
特定领域的自然语言处理 (NLP):ICL 通过使用提示中的相关示例,让 LLM 在专门任务中表现出色。这种方法解决了领域特定自然语言处理 (NLP) 任务中标签数据可能稀缺或微调不可行的难题。该路线允许模型仅根据推理过程中提供的情境线索进行调整并生成准确的结果。
一项研究表明,通过 ICL,LLM 可以有效分析航空安全报告,解决语义稀疏性以及需要高计算成本微调等挑战。。5该研究使用 BM25(一种信息检索算法,用于根据文档与搜索查询的相关性进行排名)来选择最相关的提示示例。该模型通过 8 个示例实现了高达 80.24% 的准确性和 84.15% 的 F1 分数,显著提高了分类准确性。通过在提示中提供高质量且相关的示例,模型能够将其理解进行泛化,从而准确地对未见过的报告进行分类。通常,通过增加精心挑选的示例数量可以提高模型的性能,因为模型能够获得更多情境,并更好地捕捉数据中的潜在模式。这种方法表明,通过战略性示例选择的 ICL 能够使 LLM 有效理解和分类专业的航空数据,为领域特定的 NLP 任务提供了一个实用的解决方案。
情感分析:ICL 使 LLM能够通过提供少量带标签的文本示例来分析情感(例如,“服务很棒 → 正面”,“产品糟糕 → 负面”)。当给出一条新的未标注句子时,模型能够高准确地推断其情感倾向。这种方法简化了客户体验分析、意见挖掘和品牌监控中的任务。
情境学习代表了我们与大型语言模型交互并从中提取智能的一种根本性转变。这使得模型能够通过使用任务描述和一些示例来动态适应新任务,ICL 为 AI 系统带来了灵活性、高效率和可访问性。它弥合了静态预训练模型与动态现实世界需求之间的差距,使得单个模型只需观察几个例子就能执行广泛的任务。随着学习算法、预训练策略、提示设计和示例优化等方面的研究不断推进,ICL 有望成为通用人工智能的基石,为各行业打造更加自适应、可解释且可扩展的系统铺平道路。
1. Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., ... & Amodei, D. (2020). Language models are few-shot learners. Advances in neural information processing systems, 33, 1877-1901.
2. Xie, S. M., & Min, S. (2022). How does in-context learning work? A framework for understanding the differences from traditional supervised learning. A framework for understanding the differences from traditional supervised learning.
3. Dong, Q., Li, L., Dai, D., Zheng, C., Ma, J., Li, R., ... & Sui, Z. (2022). A survey on in-context learning. arXiv preprint arXiv:2301.00234.
4. Zhang, H., Sediq, A. B., Afana, A., & Erol-Kantarci, M. (2024). Large language models in wireless application design: In-context learning-enhanced automatic network intrusion detection. arXiv 预印本 arXiv:2405.11002。
5. Yang, Y., Shi, D., Zurada, J., & Guan, J. (2024, September). Application of Large Language Model and In-Context Learning for Aviation Safety Prediction. In 2024 17th International Conference on Advanced Computer Theory and Engineering (ICACTE) (pp. 361-365). IEEE.