当前位置: 首页 > article >正文

【AI论文】Transformer^2: 自适应大语言模型

摘要:自适应大型语言模型(LLMs)旨在解决传统微调方法所带来的挑战,这些方法通常计算量大,且在处理多样任务时能力较为静态。我们提出了一种名为\implname的新型自适应框架,该框架能够实时地为未见任务适配LLMs,仅通过选择性地调整其权重矩阵中的单个组件。在推理过程中,\implname采用了一种两阶段机制:首先,一个调度系统识别任务属性;然后,使用强化学习训练的任务特定“专家”向量被动态混合,以针对输入的提示获得目标行为。我们的方法在参数更少、效率更高的情况下,优于广泛使用的LoRA等方法。\implname在不同的LLM架构和模态中展现出了通用性,包括视觉-语言任务。\implname标志着一个重大的进步,为增强LLMs的适应性和任务特定性能提供了可扩展、高效的解决方案,为真正动态、自组织的AI系统铺平了道路。Huggingface链接:Paper page,论文链接:2501.06252

1. 引言

1.1 背景与挑战

  • 传统微调方法的局限性:传统的大型语言模型(LLMs)微调方法在计算上往往非常密集,并且在处理多样任务时能力较为静态。这些方法通常需要在单个广泛的训练会话中优化模型,以涵盖各种能力,这在实际操作中难以实现,且容易导致过拟合和任务干扰。
  • 自适应LLMs的提出:为了解决这些挑战,自适应LLMs应运而生。自适应LLMs能够根据操作环境或内部状态的变化评估和修改其行为,而无需外部干预。这种能力在动态和多变的环境中尤为重要。

1.2 Transformer²的提出

  • 目标:Transformer²旨在通过实时调整LLMs,使其能够适应未见任务,从而提高LLMs的适应性和任务特定性能。
  • 方法概述:Transformer²通过选择性地调整权重矩阵中的单个组件来实现这一目标。在推理过程中,它采用两阶段机制:首先识别任务属性,然后动态混合任务特定的“专家”向量以获得目标行为。

2. 方法

2.1 奇异值微调(SVF)

  • 原理:SVF是一种基于奇异值分解(SVD)的参数高效微调(PEFT)方法。它通过提取和调整权重矩阵中的奇异值来训练有效的领域特定“专家”向量。
  • 优势
    • 参数高效:SVF只需学习每个权重矩阵的一个向量z,与LoRA等方法相比,参数数量大幅减少。
    • 高组合性:由于分解了权重矩阵中的独立奇异组件,学到的z向量具有高度组合性和可解释性。
    • 正则化:通过仅修改现有奇异组件的幅度,SVF提供了一种有原则且有效的正则化形式,有助于防止过拟合。

2.2 Transformer²框架

  • 两阶段推理机制
    • 第一阶段:模型执行并观察其在测试时的行为,收集相关信息以理解处理当前问题所需的技能。
    • 第二阶段:利用第一阶段的信息组合可用的专家向量,并对LLMs的基础权重进行新的修改,以特定于测试时条件的方式生成答案。

2.3 适应策略

  • 策略一:基于提示的适应:通过构造一个新的“适应”提示,直接询问LLM对输入提示进行分类,并基于响应选择相应的专家向量。
  • 策略二:基于分类专家的适应:使用SVF微调基础LLM本身以处理任务识别任务,从而提高其固有的任务分类能力。
  • 策略三:少样本适应:假设对测试时条件有额外访问权限,通过线性插值多个学到的SVF向量来产生新的专家向量,并使用交叉熵方法(CEM)基于少样本提示的性能搜索最优组合权重。

3. 实验

3.1 实验设置

  • 模型选择:选择了三种预训练的LLMs进行评估,包括L LAMA 3-8B-I NSTRUCT、M ISTRAL -7B-I NSTRUCT -V 0.3和L LAMA 3-70B-I NSTRUCT。
  • 任务选择:在GSM8K、MBPP-pro、ARC-Easy等任务上训练SVF专家向量,并在MATH、Humaneval、ARC-Challenge和OKVQA等未见任务上评估Transformer²的自适应能力。

3.2 实验结果

  • SVF性能:SVF在所有任务和基础模型上均提供了显著且一致的性能增益,而LoRA专家则收益较小,甚至在某些情况下性能下降。
  • 自适应性能:所有Transformer²适应策略在未见任务上均表现出改进,且随着对测试时条件访问的增加,自适应效果越来越明显。特别是少样本适应策略在大多数情况下表现最佳。
  • 效率分析:尽管Transformer²采用了两阶段推理机制,但额外的自适应阶段推理时间通常只占整体推理时间的一小部分。

4. 分析

4.1 调度准确性

  • 分类基适应策略的有效性:基于提示和分类专家的适应策略均能有效匹配输入提示与相似领域的专家向量,分类专家策略通常表现出更高的分类准确性。

4.2 训练任务适应贡献

  • 专家向量的贡献:与未见任务共享相似主题的训练任务专家向量通常对产生的自适应权重贡献最大。然而,也存在一些例外情况,如MATH任务与GSM8K任务之间的差异。

4.3 消融研究

  • 模块敏感性:同时更新MLP和注意力模块通常能获得最显著的性能提升。
  • 目标函数:RL目标函数在任务特定微调中表现优于下一词预测目标函数。
  • SVF与LoRA比较:SVF在性能、稳定性和参数效率方面均优于LoRA。

4.4 跨模型兼容性

  • 专家向量的跨模型转移:在L LAMA 3-8B-I NSTRUCT上训练的SVF专家向量能够为M ISTRAL -7B-I NSTRUCT -V 0.3带来性能提升,这表明专家向量具有一定的跨模型兼容性。

5. 结论

5.1 主要贡献

  • Transformer²框架:提供了一种实现自适应LLMs的新型蓝图,能够动态调整LLMs的行为以适应不断增长的任务集合。
  • SVF方法:一种高效、组合性强且正则化的PEFT方法,为可扩展的自适应框架提供了关键构建块。
  • 适应策略:实现了三种有效的适应策略,每种策略都提供了独特的优势,并且随着对测试时条件访问的增加,性能不断提升。

5.2 未来工作

  • 模型合并:探索将专门化模型合并为一个更强大模型的方法,以进一步提高SVF专家的能力。
  • 高效适应技术:研究更高效的适应技术,以在扩展到大量专门化领域时保持性能优势。

6. 相关工作

6.1 自适应LLMs

  • 宏观视角:通过多个LLMs协作或竞争来实现自适应。
  • 微观视角:通过LLM内部自适应来使单个LLM专门化于不同任务,其中混合专家(MoE)系统扮演了关键角色。

6.2 低秩适应

  • LoRA方法:通过冻结原始模型参数并引入小的可训练低秩矩阵来实现任务特定更新。
  • LoRA的变种:提出了多种LoRA的变种以进一步提高效率和性能。

6.3 SVD在LLM微调中的应用

  • SVD作为PEFT的归纳偏置:通过分解权重矩阵并使用顶部奇异向量来初始化低秩矩阵进行微调。
  • 类似工作:提出了利用SVD权重的各种稀疏化方法,但与Transformer²不同,这些方法不是用于自适应LLMs,也没有使用RL来增强学习效率。

7. 实施细节与超参数

7.1 SVF训练

  • 训练设置:使用RL优化SVF微调,采用AdamW优化器,学习率为2×10^-3,带有余弦衰减,批量大小为256,并进行梯度裁剪。
  • 早期停止:基于验证性能选择最佳KL散度项系数λ。

7.2 LoRA训练

  • 训练设置:遵循社区最佳实践,对查询和值投影层应用LoRA微调,学习率约为5×10^-5,总迭代次数为200,全局批量大小为256。

7.3 超参数

  • SVF超参数:包括初始均值、初始方差、全局批量大小、学习率、梯度裁剪最大值和KL系数λ。
  • LoRA超参数:包括秩、LoRA alpha、LoRA dropout、全局批量大小、学习率和梯度裁剪最大值。

8. 讨论

8.1 少样本适应的效率

  • 样本数量与性能:即使在仅有3到5个测试样本的情况下,少样本适应策略也能带来显著的性能提升,并且性能在超过10个样本后趋于稳定。
  • 与IA3的比较:与另一种利用少样本示例的方法IA3相比,Transformer²的CEM基适应方法在未见测试任务上表现出更优的性能。

8.2 跨模型SVF转移

  • 训练任务的转移性能:在训练任务上,从L LAMA 3-8B-I NSTRUCT转移到M ISTRAL -7B-I NSTRUCT -V 0.3的SVF专家向量也表现出一定的性能提升,尽管不如在未见任务上显著。

8.3 效率考虑与改进

  • 减少少样本数量:即使在3个样本的设置下,也能看到显著的性能提升。
  • 减少最大生成次数:在探索的设置中,CEM参数往往在早期就收敛,远少于100次生成。

http://www.kler.cn/a/525843.html

相关文章:

  • 工作总结:压测篇
  • SSM开发(八) MyBatis解决方法重载
  • OpenEuler学习笔记(十七):OpenEuler搭建Redis高可用生产环境
  • C28.【C++ Cont】顺序表的实现
  • sem_wait的概念和使用案列
  • zyNo.19
  • 数据库备份、主从、集群等配置
  • 【信息系统项目管理师-选择真题】2009上半年综合知识答案和详解
  • 【游戏设计原理】94 - 解决问题的方法
  • 赚钱的究极认识
  • INCOSE需求编写指南-附录 D: 交叉引用矩阵
  • Vscode编辑器下 Markdown无法显示图片
  • Docker小游戏 | 使用Docker部署RPG网页小游戏
  • mysql_init和mysql_real_connect的形象化认识
  • OSPF邻接关系无法建立之MTU问题
  • Day30-【AI思考】-错题分类进阶体系——12维错误定位模型
  • 前馈神经网络——最基本的神经网络架构
  • 【Leetcode 每日一题】350. 两个数组的交集 II
  • 昆虫机器人:从仿生设计到未来应用
  • SpringBoot Web开发(SpringMVC)
  • CF EDU ROUND 172
  • unity学习24:场景scene相关生成,加载,卸载,加载进度,异步加载场景等
  • 前端进阶:深度剖析预解析机制
  • 电梯系统的UML文档13
  • 跟李沐学AI:视频生成类论文精读(Movie Gen、HunyuanVideo)
  • python学opencv|读取图像(五十一)使用修改图像像素点上BGR值实现图像覆盖效果