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

相关推荐
爱喝奶茶的企鹅1 分钟前
Ethan独立开发新品速递 | 2025-08-18
人工智能·程序员·开源
七夜zippoe2 分钟前
如何使用 AI 大语言模型解决生活中的实际小事情?
人工智能·语言模型·生活
算家计算11 分钟前
一行命令,玩转所有主流音视频格式!一站式音视频处理工具——FFmpeg本地部署教程
人工智能
AAA修煤气灶刘哥16 分钟前
Java+AI 驱动的体检报告智能解析:从 PDF 提取到数据落地全指南
java·人工智能·后端
AI 嗯啦24 分钟前
SQL详细语法教程(四)约束和多表查询
数据库·人工智能·sql
三块钱079437 分钟前
如何让AI视频模型(如Veo)开口说中文?一个顶级提示词的深度拆解
人工智能
轻松Ai享生活44 分钟前
从0-1学习CUDA | week 1
人工智能
蒋星熠1 小时前
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
网络·c++·人工智能·深度学习·性能优化·系统架构
wayman_he_何大民1 小时前
初始机器学习算法 - 关联分析
前端·人工智能
杭州泽沃电子科技有限公司1 小时前
告别翻山越岭!智能监拍远程守护输电线路安全
运维·人工智能·科技·安全