大模型学习笔记07------大模型之Adaptation
- 使用语言模型在学习了上下文后,仅通过给出的提示就能够执行一些任务
- 并不是所有的下游任务都可以通过提示方法完成,如:
- 自然语言推理(NLI)
- 问答(QA)
- 网络表格转文本
- 解析电子健康记录(EHR)
- 等
- 下游任务与语言模型的训练数据之间存在的问题
- 可能在格式和主题上有所不同
- 需要实时数据或信息
- 语言模型需要使用特定任务的数据或领域知识来针对下游任务进行适配
1、为什么需要Adaptation
- 语言模型是在大量知识文本上训练出来的通用知识模型,没有单独对某特定任务进行优化。被设计为能够捕捉到语言的通用特性和结构,以便可以用于许多不同的下游任务。这种方法的优点是灵活性和广泛适用性,相同的模型可以用于各种各样的的应用。
- 因为通用模型可能在特定任务上不如专门为该任务训练的模型表现出色,因此为了在不同的应用场景中实现最佳性能,需要对基座模型进行适配
- 由于各类下游任务与语言模型的预训练方式不同,可能存在一些问题
- 格式不同
- 自然语言推理:涉及两个句子的比较以产生单一的二进制输出。这与语言模型通常用于生成下一个标记或填充MASK标记的任务截然不同
- BERT训练与MASK标记: BERT训练过程中使用了MASK标记,而许多下游任务可能并不使用这些标记。这种不同可能导致在针对具体任务时需要对模型进行显著的调整。
- 主题转变
- 特定领域的需求:如医学
- 广泛主题的灵活性:新的或非常独特的领域
- 时间转变
- 新知识的需求
- 非公开信息的需求
- 格式不同
2、通用的adaptation配置
- 预训练语言模型:被训练来理解和生成语言,不特别针对任何特定任务
- 下游任务数据集:具有特定任务的样本输入与目标输出
- 适配参数:找到一组参数,使得预训练的语言模型适合特定的下游任务
- 任务损失函数:衡量模型子啊下游任务上的表现
- 优化问题:通过损失函数最小化寻找适合的适配参数
3、当前主流的几种Adaptation方法
- Probing(探针)策略:具体来说,对于一个在训练在主任务上的大型神经网络,Probe是一个插入在其中间层的浅层神经网络,通常是一个分类器层2。Probe有助于探查不同层捕获的信息。使用辅助任务对Probe进行训练和验证,以发现是否捕获了此类辅助信息
- Fine-tuning:微调,通过特定任务数据对基座模型参数进行部分调整,以达到对特定任务上更好的表现。其中包括全量微调与轻量微调,以下有几种轻量微调的方法
- 提示调整(prompt tuning):通过对输入的提示词进行调整,在没有修改模型参数的情况下,完成对模型输出的影响,已达到调整模型的目的
- 前缀调整(prefix tuning):前缀调整通过在注意力机制的键和值部分添加可学习的权重,为模型提供了一种强大的微调手段。这种方法允许模型更好地捕捉任务特定的模式,并与提示调整等其他技术相辅相成,提供了一种灵活和强大的任务特定优化手段。
- 适配器调整(Adapter tuning):适配器调整是通过在模型的隐藏层之间插入可训练的"适配器"模块来微调模型的一种方法。这些适配器模块允许模型在不改变原始预训练参数的情况下进行微调,从而降低了存储和计算的需求。
注
学习内容地址:添加链接描述