【文献阅读】从模型中学习(LFM),而不仅仅是微调
从模型中学习,而不仅仅是微调
1 概要
原文标题:Learning from models beyond fine-tuning
作者:一作 Hongling Zheng ;武汉大学 中山大学 南洋理工大学
期刊:Nature Machine Intelligence 2023
主要贡献:
- 基于对当前研究的深入理解,我们首先总结并提出了LFM的概念,旨在概述基于FM的研究,将思维模式从传统的数据学习范式中解放出来。
- 与现有调查相比,我们对LFM进行了更系统的调查。我们的调查包括LFM方法的具体分类和前沿分析,以及相应的应用趋势,为该领域提供了更全面的概述。
- 我们的研究是科学界的垫脚石,揭示了在追求从大型预训练模型中学习的过程中面临的各种机遇和挑战。我们希望我们的工作将促进对LFM范式的更深入理解,促进突破,最终使工业界和学术界在未来几年受益。
2 Model Tuning 模型调优
- 目的:设计FM的参数,以便迁移到下游任务。
- 优势:与基于数据的新任务再训练模型(从数据中学习)相比,基于迁移学习的模型调优思想减少了数据集不足和训练成本高的隐患,并利用FM本身存储的常识知识为新任务的参数初始化提供了便利。
2.1 Weigth Tuning
2.1.1 Fine-Tuing
- 一种迁移学习技术,使用预训练好的网络解决新的任务,能显著提高网络在新任务下的泛化能力。
- 具体例子:由大语言模型微调到实现如文本分类,语义识别等具体任务。
- 缺点:需要掌握所有模型的所有参数和结构,梯度反向传播。
- 需要大量计算资源;过拟合风险;忘记预训练学了什么;模型稳定性问题。
2.1.2 Adapter Tuning - Figure 3
- 保留模型参数,在模型不同层之间加入可学习的参数(层)。由Houlsby在2019年提出,旨在减小计算消耗和过拟合风险。
-
\(h\) 的特征维度为d,\(W_d\in\mathbb{R}^{d\times r}\),\(W_u\in\mathbb{R}^{r\times d}\)。
-
优点:1)最小限度的对原模型的改动;2)不必重新训练原来的模型,减小微调阶段的训练量;3)由于分散在模块之间,使adapters在不同任务间能很好的shared和transferred,适用多任务和迁移学习。
-
缺点:导致推理延迟:当模型部署在实际应用中时,速度下降将非常明显。
2.2 Input Engineering
2.2.1 Prompt Tunign
- 与fully paramters tuning 不同,减小训练负担的同时保持了模型的性能。
- 以是否能获取梯度和参数分类:1)白盒提示调优;2)黑盒提示调优。
2.2.2 Instuction Tuning - Figure 4
- 指以监督的方式在由(指令、输出)对组成的数据集上对FM进行深度训练的过程。
- prompt引导模型生成相关内容。
- instruction训练模型以执行特殊任务。
- 需要研究的改进点:1)增加指令任务的数量和模型大小,提高模型在新任务上的性能以及零样本能力;2)需要更精确的指令模板,注意训练和推理的指令模板设置之间差异;3)要注意不同任务下数据平衡,每个任务下的训练样本数量不需要太多。
2.3 Databsae Augmentation
- 优势:1)让模型能获得训练之后出现的新知识;2)缓解FM的幻觉问题,使大模型的输出更接近现实世界;3)许多开源FM都是通用的,并且与特定领域的外部知识库相结合,这些模型可以更好地处理特定领域的问题。这不仅提高了模型的效率,而且是低成本的应用大模型。将检索增强策略应用于FM,可以为这些模型提供更广泛的知识,更好地处理复杂的现实世界问题,并在特定领域提供更准确和深入的响应。
- 简单来说:上网查资料
2.3.1 Language Database Augmentation
- 文字资料
2.3.2 Multimodal Database Augmentation
- 文字+图片+视频…
2.4 讨论和应用
模型调优的主要目的是将FM推广到指定的下游任务。
- 权重调整主要面向白盒场景,其中模型内部的参数和结构是已知的,允许对模型进行修改。
- 输入工程可以处理这两种情况下的模型泛化问题。
- 数据库增强通过引入外部知识库来提高模型性能。
这些方法的共同点是,参数调整需要模型给出的反馈,并通过LFM实现模型优化。
- 优势:与使用采样数据从头开始训练模型的LFD范式相比,LFM需要更少的数据和计算能力,并且可以根据模型的现有常识理解新任务。
- 改进方向:
- 损失函数设计
- 平衡内存与检索效率
- 定制检索指标
3 Model Distillation 模型蒸馏 - Fig.6
- Deepseek
优点:1)压缩模型大小;2)减小计算复杂度;3)提高运行速度;4)在保持模型性能的同时减少内存使用
核心思想:在不接触模型架构和参数的情况下,利用 FM作为 databases to teach 学生模型。
3.1 Noise Optimization
核心思想:主动寻找或优化输入到生成模型(特别是扩散模型 Diffusion Models)的噪声,以影响或改善生成结果的质量或特定属性。
- 区别于随机噪声: 通常,生成模型(如GANs或扩散模型)的输入会包含随机噪声,这是为了引入多样性和生成不同样本。噪声优化不是简单地使用随机噪声,而是有目的地调整这个噪声。
- 目的:
- 提升生成质量: 发现能产生更高质量、更逼真图像的噪声。
- 控制生成内容: 探索特定噪声如何影响生成图像的风格、内容或构图,从而实现更精细的控制。
- 逆向问题: 在扩散模型中,可能通过优化噪声来反推得到特定图像对应的初始噪声,从而实现图像编辑或内容注入。
3.2 Generative Reconstruction
核心思想: 利用生成模型的强大建模能力来恢复、补全或重建缺失、损坏或不完整的输入数据。
- 区别于传统重建: 传统的重建方法可能依赖于特定的数学模型或信号处理技术。生成式重建则利用深度生成模型(如GANs、VAE、扩散模型)学习到的数据分布,来“生成”出缺失的部分或修正错误。
- 目的:
- 图像修复 (Inpainting): 补全图像中缺失的区域。
- 图像去噪 (Denoising): 从有噪声的图像中恢复清晰的图像。
- 超分辨率 (Super-Resolution): 从低分辨率图像生成高分辨率图像。
- 数据补全: 在各种数据类型(如医疗影像、传感器数据)中恢复缺失信息。
- 方法: 通常涉及将不完整或损坏的数据作为输入,通过生成模型生成完整的输出,并通常结合一个重建损失(衡量生成结果与已知真实部分的一致性)以及可能有的对抗损失(确保生成结果逼真)。
3.3 Adversarial Xxploration
核心思想: 通过引入一个“对抗者”来主动探索模型的漏洞、弱点、边界或敏感区域,从而增强模型的鲁棒性或发现数据/模型的新特性。
- 区别于优化/重建: 前两者通常是为了达到某种“最佳”输出或恢复,而对抗性探索则更侧重于寻找模型的“极限”或“失败点”。
- 目的:
- 生成对抗样本 (Adversarial Examples): 故意制造微小但足以误导模型的输入,以测试模型的鲁棒性。
- 模型安全性评估: 发现模型在恶意攻击下的脆弱性。
- 数据空间探索: 帮助模型探索数据分布中不常遇到的区域,从而可能发现新的模式或提升泛化能力。
- 强化学习中的探索: 在强化学习中,智能体可能与一个对抗性环境或另一个对抗性智能体互动,以更有效地探索状态空间并找到更鲁棒的策略。
- 方法: 通常涉及一个双边优化问题,一方试图生成具有挑战性的输入(对抗者),另一方试图更好地处理这些挑战(模型)。这通常与对抗训练 (Adversarial Training) 相关,但“探索”更强调主动寻找边界,而不仅仅是训练。
| 特性 | Noise Optimization | Generative Reconstruction | **Adversarial Exploration ** |
|---|---|---|---|
| 关注点 | 优化输入噪声,以改善生成质量或控制。 | 利用生成模型来修复、补全、恢复数据。 | 通过对抗性过程来发现模型漏洞或边界。 |
| 主要目的 | 提升生成效果、可控性。 | 恢复丢失信息,提升数据质量。 | 测试模型鲁棒性、安全性,探索极限。 |
| 应用 | 扩散模型中的高质量图像生成,风格/内容控制。 | 图像修复、去噪、超分辨率、数据补全。 | 生成对抗样本,模型鲁棒性评估。 |
| 与生成模型关系 | 通常是生成模型的一个输入控制或优化阶段。 | 生成模型作为核心工具来完成重建任务。 | 常常作为对抗训练的一部分,或评估模型。 |
4 Model Reuse 模型重用
- 来源:在现实世界的训练中,通常会训练具有不同超参数的多个模型,并选择最佳模型或对其进行集成。然而,集成需要更多的推理资源,选择单个模型往往会丢弃有用的知识。
4.1 Ensemble Methods
整合多个模型的输出,最终输出为多个模型输出加权和,其中权重为超参数。
- 例子:BatchEnsemble
4.2 Model Fusion
- 问题:Ensemble Model 在创建集成需要同时运行多个模型,集成中的每个模型都独立处理数据并生成预测,然后将其聚合以做出最终决定,在推理时产生大量的计算资源消耗。
- 解决:通过融合来自多个模型的知识(参数),利用每个模型的优势并提高整体性能。
- 例子:
- BatchEnsemble:通过为所有集成成员使用共享权重,并将其与每个成员特有的秩一矩阵相结合,实现了明显低于典型集成的计算和内存成本。
- [136]:作者提出了切线空间内的系综方法。该方法取决于线性化模型集合的等价性,即围绕预训练权重的一阶泰勒近似,与奇异线性化模型的等价性。该框架的主要优势在于它能够将n个切线模型集合的推理时间从O(n)减少到O(1)
4.2.1 Weight Interpolation
- 核心思想:线性模式连接:当在相同的数据集上进行微调时,来自不同模型的权重可以通过线性轨迹进行关联,同时保持恒定的损失。
- 范式:Uniform Averaging;Weighted Averaging;Task Arithmetic:\(W^{(i)}_{ft}-W_{pre}\)作为任务向量。
4.2.2 Mode Connectivity Based Method
- 核心思想:发现模型权重空间中的不同局部最小值可能通过简单的路径连接,沿着这些路径,模型的训练或验证性能几乎保持不变。这些路径可以通过优化方法找到。寻找模式连通性是一个相对较新的研究领域,已经提出了几种方法。
- 例子:Git Re-Basin;Git Re-Basin
4.2.3 Straightforward Optimization
侧重于通过最小化目标函数来为融合模型找到最佳权重或参数;使用简单的方法来组合模型而不是复杂的算法或框架。
- Ensemble Methods 侧重融合输出
- Model Fusion 侧重融合参数
4.3 讨论和应用
目标/优势:
- 模型互补性研究:通过结合不同模型的互补知识来提高整体预测性能。
- 降低计算成本:与集成多个模型相比,降低了计算成本。
- 知识表示提取:从多个模型中提取基本知识,形成一个抽象的表示。
- 稳健性改进:通过将不同的模型合并为一个统一的整体来建立稳健性。
- 实现高效的模型训练和编辑:通过转移和重用预训练模型中的知识来加速模型训练。
5 Meta Learning 元学习
- 目标:Learning to learn 获得一种通用的元知识,最大限度地减少各种任务的损失,努力提高不同任务的绩效。
- 从LFM范式的角度来看,元学习可以进一步称为无数据元学习(DFML),它通过从一组预训练的模型中进行元学习,而无需访问训练数据,实现了对新任务的有效泛化。
5.1 White-box Data-free Meta-learning : MAML
- 与任何用梯度下降训练的模型兼容,可以应用于各种不同的学习问题,包括分类、回归和强化学习。
- 核心思想:使用一组源任务 \(\{T_1,...,T_k\}\) 来找到参数 \(\theta_0\) 的初始化,从中学习目标任务 \(T_0\) 只需要少量的训练样本。
- MAML变体:MTL;Meta-DETR;Meta-DETR;CDCS
5.2 Black-box Data-free Meta-learning
- 白盒无数据元学习的困境:许多DFML工作只能处理白盒场景中的预训练模型,但这种假设往往很难满足,特别是当商业大型模型的训练成本很高时,元学习要求下游模型也具有相同的架构,限制了可以应用的场景。
DFML: Decentralized Federated Mutual Learning (去中心化联邦互学习)
5.3 讨论和应用
改进方向:
- 有效的黑盒DFML算法:元学习研究的主要重点仍然是数据可知性问题,对无数据元学习(DFML)的研究仍然相对有限。鉴于当前预训练模型激增的趋势,开发高效快速的黑盒DFML算法变得尤为关键。
- 通用DFML算法:设计白盒DFML需要每个预训练模型的精确参数,并要求所有预训练模型共享相同的架构,不能适应大型预训练模型。因此,对通用白盒DFML算法的研究也是一个有前景的方向。
- 成本优化方案:元学习通常需要高度复杂的优化过程,这使得DFML的计算复杂且昂贵。特别是在基于FM的场景中,大量参数的迭代将成倍增加计算成本。相当一部分工作提出了金属冶炼结构的成本优化方法[202]、[203]、[204],后续工作将是一个值得努力的方向。
- 零样本学习/小样本学习:在小样本场景中,元学习的性能仍然弱于微调范式,限制了真实场景中的部署。提高小样本甚至零样本下的元学习性能也是研究方向之一。
- Model Distillation 由大模型蒸馏成小模型,模型更小且能保持原来的模型效果。
- Model Reuse 利用或改编已经训练好的模型,来解决新的、通常是相关的问题。其核心思想是避免从零开始训练,从而节省计算资源和时间。
- Meta Learning 让模型学会一种学习策略或机制,使其能够快速适应并解决新的、未曾见过的任务,尤其是在只有少量数据的情况下。它不是直接学习特定任务的知识,而是学习一个能够高效学习新知识的元知识或学习器。
6 Model Editing 模型编辑 - Fig.8
- 来源:理想情况下,随着世界各种情况的复杂变化,大型模型也应随时随地跟上时代的步伐,但训练新的大型模型的计算负担无法使大型模型实现即时更新,因此基于原始预训练模型的知识更新算法受到了广泛关注。
- 目的:改变特定领域中预训练模型的知识,而不会对其他输入的结果产生不利影响。
- 是模型微调的先决条件。
- 方法:
- 1)在冻结原始模型参数的同时添加额外参数,也称为基于内存的模型编辑,其核心思想是保持原始参数不变,通过添加一组额外的独立参数来修改模型输出的结果。
- 2)直接修改模型的内部参数,基于参数的模型编辑,直接修改原始模型参数以达到预期效果。
6.1 Memory Based Model Editing 基于内存
- 保持原始参数不变,使用额外的编辑器(如新网络)来影响模型的行为。
- 例子:SERAC;MemPrompt;Transformer-Patchcher;MemPrompt
6.2 Parameter Based Model Editing 基于参数
- 应用更新矩阵来编辑模型,以更新模型的一些内部参数
6.2.1 Constrained Tuning
- 为了结合新数据并更新模型内的知识,一个非常自然和简单的想法是使用新数据进行微调。为了减少知识的遗忘,在微调过程中需要添加一些限制,例如尽可能少地更新参数,只更新模型结构的一部分。
- Zhu[217] 将模型修改表述为约束优化问题
6.2.2 Locate And Edit
6.2.3 Meta Learning
6.3 讨论和应用
- 模型编辑技术目前主要针对神经机器翻译、文本风格转移和基于FM的文本图像生成等任务。
- 改进方向:
- 模型编辑对象:当前的模型编辑研究侧重于事实知识的编辑,这相对容易形式化和评估,但编辑模型中包含的其他类型的知识,如偏好,需要更复杂的算法设计。为模型的所有类型的知识开发一个统一的编辑框架也是一个可行的方向。编辑这些内容的实现需要充分理解预训练模型的知识表示。
- 黑箱编辑:之前的模型编辑工作仍然是基于预先训练模型的内部结构已知的前提。相当多的大型预训练模型显示出优异的性能(ChatGPT、GPT4),但只能通过api访问。如何在黑盒环境中编辑模型并将其用于下游任务仍然需要大量的研究。
- 统一的评估基准:大多数知识编辑研究利用的指标包括编辑目标知识的成功率、对无关知识的预测不变率(评估普遍性)和目标知识释义的准确性(评估一致性)。然而,我们发现这些评估在全面评估不同策略的知识编辑能力方面存在局限性。例如,许多评估只从与目标知识相同的分布中抽取不相关的知识。
7 挑战和前景
7.1 研究趋势
- LFM跨学科研究:跨学科研究对于推进机器学习科学至关重要,各个领域通过跨学科研究提供了宝贵的见解和创新。LFM范式本身为每个学科提供了具体可行的泛化思路,而每个学科又为LFM提供了总体方向。
- 多模态大模型学习:
- 大型语言模型在大多数NLP任务上表现出令人惊讶的零/少样本推理性能,但它们天生对视觉“失明”,因为它们只能理解离散文本。
- 大型视觉基础模型在感知方面进展迅速,在推理方面进展缓慢。
- 语言模型和视觉模型同时相互运行的多模式架构有望使LFM更加智能,包括具有更用户友好的界面、更全面的任务解决者以及更适合人类感知世界的方式等优点。
- 模型升级:随着数据的补充和算法的升级,我们认为前一阶段的感知预训练模型已经完成了向认知预训练模型的进步,下一步是向通用预训练模型迈进,即采用更统一的方式使预训练模型在行业中落地。预训练模型和强化学习的结合也是一种新趋势。
- 用基础模型解决LFM问题:随着预训练模型的参数和结构的日益复杂,基础模型的处理在各个研究领域解决大型模型问题方面显示出巨大的潜力,使其成为一个活跃且有前景的研究领域。
7.2 研究问题和前景
- 关注训练数据的质量:
- 原因:当前模型中的一些偏差实际上是由训练数据本身引起的。
- 过拟合:如果训练数据包含来自特定组的不成比例的示例数量,则模型可能会学习过度预测该组的结果。
- 偏见:相反,如果某个群体在训练数据中的代表性不足,模型可能难以准确预测该群体成员的结果。训练数据中的这种不均衡表示导致模型对某些结果有偏见,这种偏见在部署模型时会延续甚至放大现有的社会偏见。
- 方法:确保数据的质量和代表性。这包括仔细整理数据,以确保其全面且代表不同群体和预期的预测结果。数据增强、再平衡和偏差校正等技术可用于减轻训练数据偏差的影响。
- 原因:当前模型中的一些偏差实际上是由训练数据本身引起的。
- 对大型模型内部知识表示的深入分析:模型可以被视为数据的高维表示。充分理解模型的权重表示,有利于加强对算法本身和模型内部运行机制的研究,更好地节省成本,更合理地将大规模预训练模型应用于下游任务。
- 解决LFM中的安全问题:预先训练好的大型模型可以通过独特的指令进行操纵以生成可能被恶意使用的有害、有偏见或冒犯性的内容,从而构成潜在的滥用风险。
- 解决方法:应用基于人类反馈的强化学习(RLHF):将人类的判断整合到训练过程中,从而可以创建更一致的模型。通过在RLHF阶段纳入以安全为中心的指导方针,也可以提高模型安全性。
- 尽管有好处,但RLHF严重依赖于人类注释者的高质量输入,这使得其实际实施具有挑战性。因此,改进RLHF框架以减轻人类注释者的负担并探索更有效的注释器至关重要。例如,使用模型来促进注释任务可能是一种可行的解决方案。
8 总结
创新点:
- 1)总结并提出了LFM概念;
- 2)总结了具体方法,对过去的具体方法/模型进行了系统分类:Model Tuning, Model Distillation, Model Reuse, Meta Learning, Model Dditing.
- 3)提出了各种方法/模型的应用之处和面临的调整之处
| 特性 | Model Tuning | Model Distillation | Model Reuse | Meta Learning | Model Editing |
|---|---|---|---|---|---|
| 目标 | 在特定下游任务上优化预训练模型性能。 | 将大模型的知识转移到小模型,实现压缩和效率提升。 | 直接利用或组合现有模型,减少新任务的开发/训练成本。 | L2L,使模型能快速适应新任务,通常仅需少量数据。 | 精准修改模型中特定事实或行为,无需全量重训练。 |
| 模型状态变化 | 在原有预训练模型基础上,对参数进行增量式修改。 | 创建并训练一个全新的“学生模型”,其架构通常更小。 | 直接使用或拼接现有模型,不一定修改内部参数。 | 训练一个学习“策略”的模型,其自身参数也在学习过程中变化。 | 直接修改模型内部的特定参数或知识单元,通常是局部、增量的修改。 |
| 主要方法 | 1)在特定数据集上,使用较小学习率,对预训练模型的全部或部分层进行梯度下降训练。 2)超参数调优。 3)LoRA (Low-Rank Adaptation) 等参数高效微调 (PEFT) 方法。 |
1)使用大型教师模型的“软目标”(概率分布)来监督小型学生模型的训练。 2)学生模型模仿教师模型的输出行为,而不是硬标签。 |
1)特征提取:使用预训练模型的前几层作为特征提取器。 2)集成学习:结合多个模型的预测结果。 3)直接部署:将预训练模型直接应用于相关任务。 |
1)任务集训练:在大量不同的、但有相似结构的“元任务”上训练模型。 2)MAML:学习一个好的初始化参数,使模型在新任务上通过少量梯度更新就能快速适应。 3)学习优化器:训练一个优化器来优化另一个模型的参数。 |
1)知识编辑算法:识别模型中与特定知识相关的神经元或权重。 2)对抗性训练: 通过特定输入修改模型行为。 3)因果干预:定位并修改模型内部的因果路径以改变输出。 |
| 模型大小 | 通常保持不变(只是参数更新),或通过 PEFT 方法引入少量适配器层。 | 变小,学生模型通常比教师模型小得多。 | 通常不变,但也可能涉及将多个模型组合成一个更大的系统。 | 模型自身的架构通常不变,但训练出的模型具备快速学习新任务的能力。 | 模型自身的架构和整体大小不变,修改是针对其内部知识的。 |
| 计算成本 | 相对较高(但远低于从头训练),需要大量GPU/TPU资源。 | 中等(训练学生模型),通常低于训练教师模型和从头训练。 | 较低(直接使用),无需训练或训练成本小(特征提取器后接小模型)。 | 较高(元训练阶段),因为它需要在多个任务上进行学习。 | 较低,旨在避免耗时耗资源的全面重训练。 |
| 应用 | 1)将大型语言模型(LLM)适应特定领域(如医疗、法律)。 2)将图像分类模型适应特定图像类型(如狗的品种分类)。 3)将通用的AI模型应用于企业内部数据。 |
1)将大型LLM压缩到边缘设备或移动应用。 2)在资源受限环境下部署高性能模型。 3)降低API调用成本。 |
1)使用预训练的图像识别模型(如ResNet)提取特征用于新的视觉任务。 2)结合多个专家系统进行决策。 3)快速验证某个预训练模型在新领域的基础能力。 |
1)少样本学习 :在只有几个样本的新任务上快速达到良好性能。 2)快速适应机器人控制。 3)个性化推荐系统的快速冷启动。 |
1)纠正LLM的“事实性幻觉”(如模型对某个历史事件的错误描述)。 2)更新LLM中过时的信息(如最新的体育比赛结果)。 3)微调模型的输出偏好或安全性(如去除偏见)。 |
| 与Pytorch的关系 | 通过框架的优化器、损失函数和 autograd 机制实现梯度更新。 | 需自定义损失函数,以教师模型的软目标为监督信号。 | 直接调用框架中已有的模型API或加载预训练权重。 | 涉及更复杂的训练循环和自定义学习策略。 | 通常需要更深入地理解框架中模型的内部结构和权重访问方式。 |

浙公网安备 33010602011771号