第7章 大模型之Adaptation

 

7.1 引言

在自然语言处理任务中,虽然语言模型(例如GPT-3)在很多任务上能够仅通过提示(prompting)进行上下文学习,但它们并不适用于所有下游任务。特别是当下游任务的格式和主题与语言模型的训练数据存在差异时(例如,自然语言推理NLI、问题回答QA等),就需要对模型进行适配(adaptation)。适配帮助模型调整以应对特定任务的数据分布、领域知识或格式要求。

7.1.1 为什么需要Adaptation?

语言模型通常是任务不可知的(task-agnostic),即它们通过广泛的训练数据获得对多种任务的处理能力,但无法针对特定任务进行优化。下游任务与原始训练任务之间的差异主要表现在以下几个方面:

  • 格式差异:例如,自然语言推理(NLI)任务涉及两个句子的比较以进行逻辑推理,而语言模型通常用于生成下一个标记,这两者存在本质差异。
  • 主题差异:某些下游任务专注于特定领域(如医疗或法律),这些任务可能包含模型未见过的术语和概念。
  • 时间差异:语言模型的知识通常在训练时已固定,无法动态更新,因此可能缺乏最新的信息。

因此,适配任务对于语言模型来说至关重要,它通过调整模型以满足特定任务的要求,从而提升模型在这些任务上的表现。

7.1.2 通用的Adaptation配置

在语言模型适配过程中,通常会涉及以下几个步骤:

  • 预训练语言模型(LM):这是一个通用的语言模型,已在大规模文本数据上进行训练,但并未针对任何特定任务进行优化。
  • 下游任务数据集:来自具体任务的数据集,例如情感分析或文本分类任务的样本数据。
  • 适配参数:为使预训练的模型适应特定任务,需要找到一组适配参数,通常来自原有模型的部分参数或全新参数。
  • 任务损失函数:通过定义损失函数来评估模型在特定任务上的表现,例如交叉熵损失。
  • 优化问题:通过最小化任务损失函数来优化适配参数,使得模型能够更好地完成特定任务。

7.2 当前主流的几种Adaptation方法

7.2.1 Probing

Probing是一种在模型预训练阶段广泛使用的微调策略,主要用于分析和理解语言模型的内部表示。通过在模型的输出层加上一个简单的预测头(例如线性层),可以用来预测特定任务的标签(例如词性标注)。Probing通常用于理解模型如何存储和表示任务相关的信息。

  • 固定长度表示策略:很多下游任务要求固定长度的输出。常见的方法包括:
    • CLS Token策略:通过在输入前添加一个特殊的CLS token,并将其嵌入向量作为整个序列的表示。
    • 平均化Token策略:通过对所有输入Token的嵌入进行平均,生成一个固定长度的表示。

7.2.2 Fine-tuning

Fine-tuning是最常见的适配方法,通过优化预训练语言模型的所有参数(包括任务特定的预测头)来适应下游任务。微调通常使用较小的学习率,并在相对较短的时间内进行。

  • 零样本学习(Zero-shot learning):微调后的模型通常在未见过的任务上表现得更好,能够通过调整提示(prompt)来快速适应新任务。
  • 人类对齐语言模型的微调:在微调过程中,使用人类反馈来对模型进行调整,确保模型的输出符合人类的期望和需求,例如减少有害内容的生成。

7.2.3 Lightweight Fine-tuning

**轻量级微调(Lightweight Fine-tuning)**是一种节省计算资源的微调方法,旨在减少模型存储需求的同时保持较好的任务性能。常见的轻量级微调技术包括:

  • 提示调整(Prompt Tuning):通过优化输入的提示(prompt)而非修改模型本身的参数来调整模型,使其适应特定任务。
  • 前缀调整(Prefix Tuning):在输入前添加任务特定的前缀,并在每个注意力层中加入可学习的权重,以调整模型的输出。
  • 适配器调整(Adapter Tuning):通过在模型的隐藏层插入可训练的适配器模块来进行微调,这样可以在不修改原始预训练参数的情况下对模型进行优化。

7.2.3.1 Prompt Tuning

Prompt Tuning是一种专注于输入调整的轻量级微调方法,通过在输入的前面添加可学习的嵌入标记(tokens),优化任务的表现。与传统的微调方法相比,Prompt Tuning不改变模型的参数,减少了计算和存储负担。

7.2.3.2 Prefix Tuning

Prefix Tuning主要用于生成任务,通过在每个注意力层添加可学习的权重来优化生成过程。与Prompt Tuning类似,Prefix Tuning通过修改输入的结构来调整模型行为,但它在每一层的注意力机制中加入额外的权重,从而更加精细地捕捉任务特定的上下文。


总结

在语言模型的适配过程中,ProbingFine-tuningLightweight Fine-tuning 是主要的适配方法。通过不同的策略(如调整输入提示、插入适配器模块、修改输入结构等),可以显著提升模型在特定任务上的表现,而不必完全依赖传统的全量微调。通过这些技术,语言模型能够更好地处理下游任务的多样性和复杂性,实现更加高效和灵活的人工智能应用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

确实啊,对对对

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值