2 大模型高效参数微调;prompt tunning

近年来,以GPT为代表的大型预训练模型(Pre-trained Language Models, PLMs)在自然语言生成任务中表现出色。为了更好的适配下游任务,传统的全参数微调(Fine-tuning)需要为每个下游任务存储和更新数十亿参数 ,这对计算资源和存储成本提出了巨大挑战。针对这个问题,GPT3中提出了prompt工程,然而大模型对用户设计的prompt比较敏感,因而也难以保证效果。在此背景下,Prompt Tuning 作为一种轻量高效的微调方法备受关注,仅需对每一个任务训练一个提示向量,就可以大大提高大模型在这项任务的表现

一、什么是Prompt Tuning?

传统的Fine-tuning通过在预训练模型的基础上添加任务相关层(如分类器)并更新所有参数来适应具体任务。然而,这种方法有两个主要缺陷:

  • 参数低效:每个下游任务需独立保存完整模型副本。
  • 灾难性遗忘:微调可能覆盖预训练模型中的通用知识。

相比之下,Prompt Tuning的核心思想是通过在输入中插入可学习提示(Prompt),以极小的参数调整来适配下游任务。这种方法仅需优化提示相关的参数(通常占总参数的0.1%~1%),而冻结原始模型参数。如Figure1所示,Prompt Tuning所需要训练的参数最小。prompt Design就是Prompt工程,是不可训练的。

Figure1、不同微调方法所更新的参数

二、Prompt Tuning训练过程

2.1、设计提示模板

在原始输入前添加 k 个可学习的提示嵌入 (例如 [P1][P2][P3][P4]),并拼接模板引导输出。例如:
Input: [P1][P2][P3][P4] 这部电影很有趣。总体评价是 [MASK] 的

其中,

    • [P1]-[P4]:可训练的提示,相当于4个待学习的token。每个P的嵌入维度与文本嵌入的维度一致,比如768。
    • [MASK]:模型需预测的位置,映射到标签(如"好"→"正面","差"→"负面")。
    • 对于k的选择,论文中做了实验,20个性价比最高,如Figure3所示。本文中仅以4个作为例子。

Figure3

2.2、输入编码

    • 输入文本被转换为嵌入向量。
    • 提示嵌入原始输入的嵌入向量拼接后输入冻结的预训练模型(如 GPT3)。

2.3、计算损失

    • 模型预测 [MASK] 位置的 token 概率(如"好"的概率为 0.8,"差"为 0.2)。
    • 根据真实标签(假设是"正面"),计算交叉熵损失:Loss = -log(P("好"))

2.4、反向传播

    • 仅更新提示嵌入的参数[P1]-[P4] 嵌入向量)。
    • 预训练模型的参数保持冻结。

3、预测过程

Prompt Tuning训练完毕后,可学习提示嵌入的向量就保持不变,对该任务下的所有问题都使用这个提示嵌入。换言之,不管用户输入的问题是什么,只要是同一个任务下的问题,所插入的提示嵌入[P1]-[P4]都是一样的。要适配多任务,就需要为每一个任务训练一个可学习的提示嵌入。

3.1、添加训练后的提示

新输入 特效很棒,但剧情糟糕。 与前缀提示拼接:
[P1][P2][P3][P4] 特效很棒,但剧情糟糕。总体评价是 [MASK] 的。

其中,"总体评价是 [MASK] 的"是人工针对这项任务所设计的模板。要注意的是,**训练后得到的是P1-P4四个嵌入向量,而不是4个token。**需要对输入文本进行embedding后再与学习到的提示嵌入进行拼接。

3.2、模型推理

冻结的预训练模型处理整个输入序列,预测 [MASK] 位置的 token 概率(例如"差"的概率为 0.7)。

3.3、映射到标签

根据 [MASK] 预测结果("差"),输出类别为"负面"。

4、参考文献

【1】 The Power of Scale for Parameter-Efficient Prompt Tuning

相关推荐
SHIPKING3932 小时前
【机器学习&深度学习】制作数据集
人工智能
Ronin-Lotus7 小时前
深度学习篇---剪裁&缩放
图像处理·人工智能·缩放·剪裁
cpsvps7 小时前
3D芯片香港集成:技术突破与产业机遇全景分析
人工智能·3d
国科安芯8 小时前
抗辐照芯片在低轨卫星星座CAN总线通讯及供电系统的应用探讨
运维·网络·人工智能·单片机·自动化
AKAMAI8 小时前
利用DataStream和TrafficPeak实现大数据可观察性
人工智能·云原生·云计算
Ai墨芯1118 小时前
深度学习水论文:特征提取
人工智能·深度学习
无名工程师8 小时前
神经网络知识讨论
人工智能·神经网络
nbsaas-boot8 小时前
AI时代,我们更需要自己的开发方式与平台
人工智能
SHIPKING3938 小时前
【机器学习&深度学习】LLamaFactory微调效果与vllm部署效果不一致如何解决
人工智能·深度学习·机器学习
闻道且行之9 小时前
Windows|CUDA和cuDNN下载和安装,默认安装在C盘和不安装在C盘的两种方法
windows·深度学习·cuda·cudnn