datawhale 大模型学习 第六章-大模型之Adaptation(未完)

一、为什么需要Adaptation

1.1 简介

从语言模型的训练方式来说,例如GPT-3,训练语料通常是海量的,各种领域的,不针对任何特定任务的文本信息。

这种方法的优点在于模型具有广泛的适用性,但也带来了一些挑战。比如下游任务的多样性,不同的下游任务与语言模型的预训练方式可以非常不同:

  • 格式不同 :BERT训练过程中使用了MASK标记,而许多下游任务可能并不使用这些标记。
    自然语言推理任务(NLI)涉及两个句子的比较以产生单一的二进制输出
  • 主题变化:专业领域的时候,需要的文本或者话术都需要集中在专业领域。
  • **时间转变:**下游任务中出现了预训练中没有出现过的knowledge。原因有:1. 训练时多数据集已经和预测数据集不同。2. 下游任务数据集不能公开使用

1.2 大模型Adaptation训练一般流程

  1. 准备一个预训练大模型(pre-trained LM) :适配阶段的开始,我们已经有了一个预训练的语言模型,用参数来表示
  2. 下游任务数据集(downstream task dataset) :下游任务的训练集。例如文本分类任务,由输入x和输出y组成:
  3. 适配参数(Adaptation Parameters) :为了使得预训练大模型(LM)适配下游任务,需要定义参数,调整参数以后使得大模型在下游任务上面表现更好
  4. 任务损失函数(Task Loss Function):损失函数 ℓtask 来衡量模型在下游任务上的表现。例如,交叉熵损失是一种常见的选择,用于衡量模型预测的概率分布与真实分布之间的差异。
  5. 优化问题(Optimization Problem):根据下面的方式优化,找到最好的

二、几种主流的Adaptaion方法

2.1 Probing

  • probing引入了新的模型参数,通常是线性层或者浅的网络层
  • probing通常用来探究模型得到的representation的意义,比如如果 模型的probe能预测词性,那么就存储了词性信息。
  • 在adaptation中,通过模型最后一层的输出来训练probe(prediction head)
  • 主要应用于encoder---only模型,但也能用骨decoder-only模型

2.2 Fine-tuning

  • 使用全部的预训练参数作为初始化:
    • 参数包括模型参数和prediction head参数
    • optimizer sate和预训练无关,会在训练过程中更新丢弃
    • 学习率至少比预训练少一个数量级(例如:预训练阶段的学习率是1*e-3,那么fine-tuning阶段的学习率是1*e-4),并且时间短。
  • 根据不同的下游任务都要存储特殊化的模型,expensive。
  • 通常比probing表现好

2.3 Lightweight Fine-tuning

轻量finetune 目的是提升模型的表现能力,通过一次full fine通用适配下游任务,而不需要针对每个下游任务finetune

2.3.1 常见的三中方法

相关推荐
Blossom.118几秒前
KWDB创作者计划—KWDB:AIoT场景下的分布式多模数据库实践
数据库·人工智能·分布式·物联网·性能优化·车联网·kwdb
葡萄成熟时_几秒前
【第十三届“泰迪杯”数据挖掘挑战赛】【2025泰迪杯】【论文篇+改进】A题解题全流程(持续更新)
人工智能·数据挖掘
视觉语言导航2 分钟前
基于视觉语言模型的机器人实时探索系统!ClipRover:移动机器人零样本视觉语言探索和目标发现
人工智能·机器人·具身智能
huang_xiaoen12 分钟前
人工智能简史
人工智能·ai
三道杠卷胡17 分钟前
【AI News | 20250409】每日AI进展
人工智能·python·语言模型·github·aigc
winnower-sliff18 分钟前
Django学习记录-2-数据库
学习·django
九河云26 分钟前
化工企业数字化转型:从数据贯通到生态重构的实践路径
人工智能·重构·云计算·制造
愚昧之山绝望之谷开悟之坡26 分钟前
Node.js是js语言在服务器编译运行的环境,什么是IP和域名
人工智能·笔记
知舟不叙2 小时前
机器学习之PCA主成分分析详解
人工智能·机器学习
Francek Chen3 小时前
【现代深度学习技术】循环神经网络02:文本预处理
人工智能·pytorch·rnn·深度学习·神经网络·文本处理