ICLR 2025 研究:大模型为何擅长小样本学习?

ICLR 2025 研究揭示大模型擅长小样本学习的原因:ICL 执行预训练数据分布上的最优算法,并可通过借鉴传统深度学习方法提升性能。

原文标题:大模型何以擅长小样本学习?ICLR 2025这项研究给出详细分析

原文作者:机器之心

冷月清谈:

本文总结了 ICLR 2025 上的一项研究,该研究深入探讨了大语言模型(LLM)擅长小样本学习的原因,特别是其上下文学习能力(ICL)。研究将 LLM 建模为元学习器,证明了其在学习算法表达方面的强大能力,超越了传统元学习器。研究表明,ICL 执行的是在预训练数据分布上最优的算法,但可能不具备可泛化的规则。此外,文章还提出可以将传统深度学习的技术迁移到元学习层面,以提升 ICL 的性能,例如通过元课程学习加速预训练收敛,或利用元-元学习提高在少数据领域的快速适应能力。这项研究对于理解和提升 LLM 的小样本学习能力具有重要意义。

怜星夜思:

1、文章中提到 ICL 模型执行的是在预训练数据分布上最优的算法,那么如果预训练数据存在偏差,ICL 的表现会受到什么影响?在实际应用中,我们该如何有效地缓解这种偏差带来的负面影响?
2、文章提到可以将传统深度学习的技巧迁移到元学习层面以提升 ICL 性能,例如元课程学习和元-元学习。那么,除了文中所述的方法,还有哪些深度学习中的技术有潜力应用到元学习中,以进一步提升 ICL 的性能和效率?
3、文章中提到 ICL 模型在预训练数据受限或测试数据分布有偏移时性能表现不佳。那么,针对实际应用中可能遇到的数据分布偏移问题,除了文章中提到的方法,还有哪些策略可以提高 ICL 模型的泛化能力和鲁棒性?

原文内容


近年来,大语言模型(LLM)在人工智能领域取得了突破性进展,成为推动自然语言处理技术发展与通用人工智能实现的核心力量。上下文学习能力(In-Context Learning, ICL)是 LLM 最显著且重要的能力之一,它允许 LLM 在给定包含输入输出示例的提示(prompt)后,直接生成新输入的输出,这一过程仅通过前向传播而无需调整模型权重。这种能力使得 LLM 能够基于上下文中的示例快速理解并适应新任务,展现出强大的小样本学习和泛化能力。理解 LLM 是如何实现 ICL 的,对于提高模型性能与效率、提升模型可解释性与 AI 安全、推广大模型应用与改进小样本学习算法具有重要意义,也是近来机器学习研究热点之一。有以下关键问题需要回答:


1.LLM 能够学到哪些学习算法,例如梯度下降、比较近邻等?

2. 在具体问题的 ICL 过程中在执行哪一种学习算法?

3. 如何进一步提升 LLM 的 ICL 能力?


ICL 通常建模为将多个已知样例与预测目标输入一起,拼接成序列输入 LLM 中的 transformer 模型,输出对目标的预测(图 1 左)。现有工作已证明 ICL 在不同模型和数据分布条件下,能够分别实现如线性回归和梯度下降等具体的学习算法,从已知样例中学习到任务对应输入输出映射,并作用于目标输入上产生预测输出。而这种学习算法是 transformer 模型通过预训练过程得到的,现实中 LLM 的预训练涉及海量的文本数据,含有复杂的语义信息,难以用单一的数学分布建模。现有工作对 ICL 实现小样本学习算法的解释难以泛化到真实世界场景或实际 LLM。为了对 ICL 的小样本学习能力有更直观的认识,在近期发表于 ICLR2025 的工作 “Why In-Context Learning Models are Good Few-Shot Learners?” 中我们对 ICL 模型作为元学习器的本质进行了建模与研究,以对上面三个问题进行了回答。



  • 论文链接:https://openreview.net/pdf?id=iLUcsecZJp 

  • 代码链接:https://github.com/ovo67/Uni_ICL


1. 将 LLM 建模为元学习器覆盖学习算法空间


ICL 模型可以学到所有传统元学习器学到的算法。元学习(Meta-Learning)是一种 “学习如何学习” 的方法,可通过设计模型使其能够快速适应新任务应用于小样本学习。它通过在多个相关任务上进行训练,学习到一种通用的学习策略或算法,从而在面对新任务时能够快速调整自身参数或结构,实现快速优化和泛化。借助元学习领域成熟的理论基础与方法经验,理论证明了作为实现学习算法的模型,基于 transformer 的 ICL 模型与传统的元学习器相比具有更强的表达能力(图 1 右)。


图 1 大语言模型的上下文学习示例,以及上下文学习模型在学习算法空间中与传统元学习模型的关系。


2. ICL 模型学到并执行在预训练分布上最优的算法


ICL 算法的学习是通过对预训练数据分布的拟合。在预训练充足的情况下,ICL 模型能够学习到在预训练任务集上最优(在与训练数据分布上最小化损失)的学习算法,从而在仅有少量样本的情况下实现快速适应。我们构建三类已知最优算法(Pair-wise metric-based/Class-prototype metric-based/Amortization-based 三种任务的最优算法分别可由元学习器 MatchNet/ProtoNet/CNPs 学习得到,图 3a)的任务。首先分别在单一种类任务集上训练,测试表明 ICL 性能与该预训练数据下能学到的最优算法表现相当(图 2 上)。然后再混合三种任务集上训练,三种传统元学习器的性能都有所下降,而 ICL 的性能依然与单一种类任务训练得到的最优性能一致(图 2 下)。以上结果说明 ICL 模型能够学习到预训练任务集上最优的学习算法,并且与传统的元学习器相比 ICL 模型具有更强的表达能力,因为它们不仅能够学习到已知的最优学习算法,还能够根据数据的分布特性表达出传统视野之外的学习算法,这使得 ICL 模型在处理多样化任务时具有显著优势。


图 2(上)分别在三种任务集上训练并对应测试的测试表现;(下)在混合任务集上训练并分别测试三种任务的性能表现。


我们还对 ICL 模型学习到的算法的泛化性进行了实验研究。展示出了其作为深度神经网络受数据分布影响的特性:其预训练过程本质上是在拟合以特定结构输入的训练任务集的数据分布,而无法保证学习到显式的基于规则的学习算法,这一发现纠正了现有工作将 ICL 解释为算法选择(Algorithm Selection)的过程。这将导致 ICL 模型在预训练数据受限或测试数据分布有偏移时性能表现不及预期(图 3)。


图 3 ICL 与 “算法选择” 行为的比较(a)两种模型在三类已知最优算法的任务上训练,在未知最优算法任务上测试;(b)对于测试任务 ICL 可以处理而 “算法选择” 无法处理;(b)ICL 对测试数据分布敏感而 “算法选择” 不敏感。


3. 将传统深度网络的相关方法迁移到元学习层面以提升 ICL 性能


基于上述对 ICL 模型作为学习算法强表达、难泛化的认识,可以将 ICL 模型对特性与传统深度神经网络的特性进行类比。我们提出通过 “样本 - 任务” 的概念映射将传统深度学习技巧迁移到元学习层面以优化 ICL 模型。例如实现了基于任务难度的元课程学习提升 ICL 模型预训练过程的收敛速度:图 4 展示了对于线性回归任务以递增非零维度数量作为课程的效果,元 - 课程学习能有效加速 ICL 模型的收敛,但不一定提升其最终性能。


图 4 元 - 课程学习(左)训练过程 loss 变化;(中)200000 episodes 时的测试结果;(右)500000 episodes 时的测试结果。


又例如实现了基于领域划分的元 - 元学习,即将训练数据划分为多个领域,每个领域含有一个训练任务集和验证任务集,即可将以单个任务为输入的 ICL 模型作为待适应网络,构建元 - 元学习器在每个领域上利用训练任务集进行适应。实验效果如图 5 所示,提升了 ICL 模型的有限垂域数据高效适应能力。


图 5 采用元 - 元学习的 ICL 模型分别在给定每领域 64/256/1024 个任务时的适应表现。


4. 总结


本文通过将 ICL 模型建模为元学习器,证明了 ICL 模型具有超过已有元学习器的表达学习算法的能力;ICL 执行在预训练数据分布上最优的算法,而不一定具有可泛化的规则;可以将传统深度网络有关技术迁移到元学习层面用以提升 ICL,如元 - 课程学习加速预训练收敛,元 - 元学习提升少数据领域微调快速适应能力。


作者介绍


吴世光,清华大学电子工程系博士研究生,本科毕业于清华大学电子工程系。当前主要研究方向包括元学习与大语言模型。


王雅晴,现任北京雁栖湖应用数学研究院(BIMSA)副研究员,长期从事机器学习、人工智能和科学智能的研究,致力于构建高效、低成本的智能算法,以精准匹配海量数据的科学解释并解决现实问题。她在 NeurIPS、ICML、ICLR、KDD、WWW、SIGIR、TPAMI、JMLR、TIP 等国际顶级会议和期刊上发表 27 篇论文,总被引用 4500 次。2024 年,她入选全球前 2% 顶尖科学家榜单。


姚权铭,现任清华大学电子工程系助理教授,研究方向为机器学习和深度学习。共发表文章 100 + 篇,涵盖机器学习领域顶级期刊 JMLR、IEEE TPAMI 和顶级会议 ICML、NeurIPS、ICLR 等,累计引用超 1.2 万余次。担任 ICML、NeurIPS、ICLR 等会议领域主席,NN、TMLR、MLJ 等期刊(资深)编委。获首届蚂蚁 In Tech 科技奖、国际人工智能学会(AAAI)学术新星、国际神经网络学会(INNS)青年研究员奖、吴文俊人工智能学会优秀青年奖,同时入选全球 Top 50 华人 AI 青年学者榜和福布斯 30under30 精英榜。


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:[email protected]

对抗样本确实是深度学习模型的一大挑战,对于 ICL 模型来说也不例外。如果预训练数据中混入了对抗样本,ICL 模型可能会学习到错误的模式,甚至直接被对抗样本“欺骗”,导致在正常数据上的表现下降。

提高 ICL 模型对对抗样本鲁棒性的方法,可以借鉴传统深度学习中的一些思路:

1. 对抗训练: 在预训练过程中,将对抗样本加入到训练数据中,迫使模型学习对对抗样本不敏感的特征。这种方法可以显著提高模型的鲁棒性,但需要仔细调整对抗样本的生成策略和训练参数。
2. 防御性蒸馏: 通过蒸馏技术,将一个在对抗样本上训练过的模型的知识转移到一个新的模型上。由于蒸馏过程可以平滑模型的决策边界,因此可以提高模型对对抗样本的鲁棒性。
3. 输入预处理: 对输入数据进行预处理,例如图像压缩、滤波或者随机噪声注入,以消除对抗样本中的细微扰动。这种方法的优点是简单易行,但可能也会影响模型在正常数据上的表现。
4. 集成方法: 训练多个 ICL 模型,并采用集成学习的方法来提高整体的鲁棒性。例如,可以训练多个具有不同结构的 ICL 模型,或者使用不同的预训练数据。
5. Prompt鲁棒性: 设计更加鲁棒的Prompt,使其不容易受到对抗样本的干扰。例如,可以使用多个Prompt进行投票,或者在Prompt中加入一些冗余信息。

需要注意的是,提高模型对对抗样本的鲁棒性往往会带来一定的性能损失,因此需要在鲁棒性和准确性之间进行权衡。

你说的迁移学习的思路很直接有效!预训练模型强大的特征提取能力确实可以为元学习提供很大的帮助。冻结大部分预训练模型的参数,只训练一小部分适配器,不仅可以提高训练效率,还可以避免过拟合。

强化学习也是一个很有意思的方向。把元学习看作是一个强化学习问题,可以让我们更方便地利用强化学习的理论和算法。不过,如何设计一个合适的 reward 函数是一个挑战。Reward 函数需要能够准确地衡量元学习器的学习效果,并且需要具有良好的可塑性,以便适应不同的任务。

除了你提到的方法,还可以考虑以下几个方面:

1. 多任务学习: 将元学习和多任务学习结合起来,让模型能够同时学习多个任务,从而提高泛化能力。
2. 终身学习: 让模型能够不断地学习新的任务,并且能够保持对旧任务的记忆,从而实现终身学习。
3. 自动机器学习(AutoML): 利用 AutoML 技术来自动设计元学习器的结构和参数,从而降低人工设计的成本。

你这个比喻太形象了!AI的“食物”确实很重要,质量和多样性都不可或缺。

除了数据,我觉得以下几个因素也会影响ICL的能力:

1. 模型结构: Transformer 模型是 ICL 的基础,但不同的 Transformer 变体(例如,更大的模型、更深的网络)可能会影响 ICL 的性能。
2. 训练策略: 预训练的目标函数、优化算法和训练时长都会影响 ICL 的能力。例如,对比学习可能比传统的语言建模更适合 ICL。
3. Prompt 设计: 好的 Prompt 可以引导模型更好地理解任务,从而提升 ICL 的性能。Prompt 的选择、格式和内容都至关重要。
4. 评估方法: 不同的评估方法可能会得出不同的结论。因此,需要选择合适的评估指标来衡量 ICL 的性能。
5. 计算资源: 训练和部署 ICL 模型需要大量的计算资源。资源的限制可能会影响模型的规模和训练时长,从而限制 ICL 的能力。

总而言之,ICL 能力的提升是一个系统工程,需要综合考虑数据、模型、训练策略、Prompt 设计、评估方法和计算资源等多个因素。

除了元课程学习和元-元学习,深度学习中还有很多技术有潜力应用到元学习中,以提升 ICL 的性能和效率:

1. 注意力机制: 将注意力机制引入元学习器,使其能够更好地关注与当前任务相关的特征和信息,从而提高泛化能力和适应性。
2. 图神经网络(GNN): 利用 GNN 来建模任务之间的关系,从而更好地共享知识和经验。例如,可以将每个任务表示为一个节点,任务之间的相似度表示为边,然后利用 GNN 来学习任务的表示。
3. 生成对抗网络(GAN): 利用 GAN 来生成更多的训练任务,从而扩充训练数据集,提高元学习器的鲁棒性和泛化能力。
4. 知识蒸馏: 将一个复杂的元学习器的知识转移到一个简单的元学习器上,从而降低计算成本和部署难度。
5. 自监督学习: 利用自监督学习方法从未标记数据中学习任务的表示,从而减少对标注数据的依赖。由于获取标注数据的成本很高,所以自监督学习在元学习中具有重要的应用前景。
6. 模型压缩和剪枝: 进一步压缩 ICL 模型的大小,减少计算和存储需求,使其更容易部署在资源受限的设备上。

总的来说,将深度学习技术应用于元学习是一个非常有前景的研究方向,可以帮助我们构建更强大、更高效的 ICL 模型。

同意楼上的观点,数据质量是基础!但是,我觉得在实际应用中,完全消除数据分布偏移是不现实的。所以,除了优化数据和模型,我们还需要建立一套有效的监控和预警机制,以便及时发现和处理数据分布偏移问题。

以下是一些可能的策略:

1. 监控模型性能: 持续监控模型在实际应用中的性能表现,例如准确率、召回率等。如果模型性能出现下降,则可能意味着数据分布发生了偏移。
2. 监控数据分布: 持续监控输入数据的分布,例如均值、方差、分布形状等。如果数据分布发生了变化,则可能意味着数据分布发生了偏移。
3. 使用漂移检测算法: 使用专门的漂移检测算法来检测数据分布的偏移。这些算法可以自动检测数据分布的变化,并发出警报。
4. 建立预警机制: 建立一套预警机制,当数据分布偏移超过一定阈值时,自动触发警报,并通知相关人员进行处理。

通过建立一套有效的监控和预警机制,我们可以及时发现和处理数据分布偏移问题,从而保证 ICL 模型的稳定性和可靠性。

这个思路非常棒!认知科学和心理学确实可以为元学习提供很多有价值的启示。

以下是一些可能的方向:

1. 类比推理: 人类在学习新事物时,经常会利用已有的知识进行类比推理。可以将这种机制引入 ICL 模型中,使其能够根据已有的任务经验来解决新任务。
2. 概念学习: 人类具有很强的概念学习能力,能够从少量样本中提取出关键特征,形成抽象的概念。可以将概念学习的方法应用于元学习,使其能够更好地理解任务的本质。
3. 元认知: 元认知是指对自身认知过程的认知和控制。可以将元认知机制引入 ICL 模型中,使其能够根据自身的学习状态来调整学习策略。
4. 注意力分配: 人类在学习时,会根据任务的难度和重要性来分配注意力。可以将这种机制引入 ICL 模型中,使其能够更好地关注与任务相关的特征和信息。
5. 社会学习: 人类可以通过观察和模仿他人的行为来学习新技能。可以将社会学习的方法应用于元学习,使其能够从多个任务中学习到通用的知识和经验。

将认知科学和心理学的理论融入到元学习中,可以帮助我们构建更智能、更高效的 ICL 模型。不过,这需要对人类的认知过程有深入的理解,并且需要找到合适的方法将这些理论转化为具体的算法。

解决数据分布偏移问题,我想到了一个“以不变应万变”的思路:与其费尽心思去适应各种各样的数据分布,不如想办法让模型学习到一些更加本质、更加通用的知识。这样,即使数据分布发生了变化,模型也能凭借这些通用知识来应对。

具体来说,可以尝试以下方法:

1. 对比学习: 通过对比学习,让模型学习到数据之间的相似性和差异性,从而提取出更加本质的特征。
2. 因果推理: 学习数据之间的因果关系,从而更好地理解数据的生成过程。这样,即使数据分布发生了变化,模型也能根据因果关系来进行预测。
3. 知识图谱: 将知识图谱引入 ICL 模型中,让模型能够利用已有的知识来进行推理和预测。

这些方法的目标都是让模型学习到一些更加本质、更加通用的知识,从而提高模型的泛化能力和鲁棒性。

当然,这些方法也存在一些挑战。例如,如何设计合适的对比学习目标函数,如何学习数据之间的因果关系,如何将知识图谱有效地融入 ICL 模型等。这些都是需要进一步研究的问题。

ICL 的表现会受到预训练数据偏差的显著影响。如果预训练数据未能充分代表真实世界场景,模型可能会学习到次优甚至错误的模式,导致在新任务上的表现不佳。实际上,预训练数据的质量直接决定了模型能够学习到何种程度的“最优算法”。

缓解这种偏差的方法有很多:

1. 数据增强与清洗: 扩充预训练数据集,使其包含更多样、更具代表性的样本。同时,清洗现有数据,去除噪声和错误信息。
2. 领域自适应: 利用领域自适应技术,使模型能够更好地适应目标任务的数据分布。例如,可以使用领域对抗训练等方法,减小预训练数据和目标数据之间的差异。
3. 微调(Fine-tuning): 在目标任务的少量样本上对 ICL 模型进行微调,使其更好地适应特定任务的需求。微调可以看作是对 ICL 学习到的“通用算法”进行局部优化。
4. Prompt 工程: 精心设计 Prompt,引导模型关注与目标任务相关的特征和信息,从而减少预训练数据偏差的影响。Prompt 工程是一种轻量级的适配方法,可以在不改变模型参数的情况下显著提升性能。
5. 混合策略: 结合多种方法,例如先通过预训练数据增强和清洗来减少偏差,再利用领域自适应和微调来进一步提升性能。

总之,缓解预训练数据偏差需要综合考虑数据、模型和Prompt等多方面的因素,选择合适的策略并不断优化。