当前位置: 首页 > web >正文

「大模型学习」(15)Prompt Tuning → P-Tuning v1 → P-Tuning v2

1. Prompt Tuning

训练思路

  • 冻结大模型参数,只训练一小段 soft prompt embedding
  • 训练时把 soft prompt 拼在输入前面,让模型学会在不同任务中利用这段提示完成预测。

训练过程

  1. 数据准备
  • 下游任务转为 文本形式

    • 分类任务:"文本: xxx [SOFT_PROMPT]" → label
    • 生成任务:"问题: xxx [SOFT_PROMPT]" → "答案: yyy"
  1. 前向传播
  • 输入向量:

    input = [soft_prompt1,...,soft_promptm, E(x1),...,E(xn)]
    
  • 输入冻结的预训练模型,得到输出 logits。

  1. 计算损失
  • 分类任务:交叉熵 loss。
  • 生成任务:语言模型 loss(next-token prediction)。
  1. 反向传播
  • 梯度只作用于 soft prompt embedding。
  • 大模型参数完全冻结。
  1. 优化
  • 用 Adam/AdamW 只更新 soft prompt 参数
  • 学习率通常比全参微调大(1e-3 ~ 1e-2)。

2. P-Tuning v1

训练思路

  • 解决 Prompt Tuning 在小模型/中文场景效果不稳的问题。
  • Prompt Encoder(MLP / LSTM)生成提示向量,而不是直接训练 embedding。

训练过程

  1. 数据准备
  • 类似 Prompt Tuning,但引入 Virtual Tokens(虚拟 ID,不对应词表)。
  1. 前向传播
  • Virtual IDs → embedding → Prompt Encoder → soft prompt P。
  • 拼接到输入前,喂进模型。
  1. 计算损失
  • 同 Prompt Tuning。
  1. 反向传播
  • 梯度更新方向:Prompt Encoder + Virtual ID embedding。
  • 这个提示编码器(LSTM或MLP)的权重是需要被梯度更新和训练的。​​
  • 大模型冻结。
  1. 优化
  • 学习率一般也比较大(1e-3 ~ 1e-2)。
  • 因为引入了非线性,收敛更稳。

3. P-Tuning v2

训练思路

  • 结合 Prefix Tuning 的思想。
  • 在 Transformer 每一层的 Attention 里加一段 可训练的前缀 Key/Value,比 v1 更强大。
  • 每一层都prompt,相当于一种深度提示。

训练过程

  1. 数据准备
  • 同样是转为文本 + 软提示任务。
  • 不同点:prefix 会注入到每一层。
  1. 前向传播
  • 对每一层 l,生成一组 prefix:

    Kl_prefix, Vl_prefix
    
  • 在注意力时拼接:

    K̂l = [Kl_prefix; Kl_x], V̂l = [Vl_prefix; Vl_x]
    
  • 其余步骤与原模型相同。

  1. 计算损失
  • 同上。
  1. 反向传播
  • 梯度只更新 prefix(可直接训练,或由 Prompt Encoder 生成)。
  • 模型主体冻结。
  1. 优化
  • lr 依然较大。
  • 通常 prefix 长度在 8~64,权衡效果和计算。

4.(补充) Prefix Tuning

训练思路

  • P-Tuning v2 的“前身”。
  • 每一层 Attention 里加 trainable prefix(可训练的“前缀 key/value”)(不一定有 Prompt Encoder)。

训练过程

和 P-Tuning v2 基本一致,只是 prefix 向量直接作为参数训练,而不是通过 Prompt Encoder 生成。

  • 数据准备 → 拼接 prefix → 前向 → 损失 → 更新 prefix。
  • 优点:更强表达力;缺点:参数比纯 Prompt Tuning 大一些。
http://www.xdnf.cn/news/18926.html

相关文章:

  • STM32G4 SVPWM VF开环强拖电机
  • 两周年创作纪念,忆笑傲江湖岁月
  • 【生产实践】局域网多服务器多用户SSH登录批量测试(附完整shell脚本)
  • Linux-服务器初始化
  • 【智能化解决方案】大模型智能推荐选型系统方案设计
  • week5-[字符数组]查找
  • GD32VW553-IOT开发板测评 搭建环境到电灯(QA分享)
  • Element中table组件(el-table)右侧滚动条空白占位gutter处理
  • vue3和react的异同点
  • Tesseract OCR之基线拟合和单词检测
  • 从0开始学习Java+AI知识点总结-26.web实战(Springboot原理)
  • Linux服务器安全配置与NTP时间同步
  • 【Python系列】Flask 和 FastAPI对比
  • 【深度学习新浪潮】SAM 2实战:Meta新一代视频分割模型的实时应用与Python实现
  • Boris FX Samplitude Suite 2025.0.0 音频录制/编辑和母带处理
  • springcloud篇5-微服务保护(Sentinel)
  • 数字IC前端设计——前仿篇(VCS,DVE,Verdi)
  • 企业级集群部署gpmall商城:MyCat+ZooKeeper+Kafka 环境部署与商城应用上线流程
  • Linux SSH 基于密钥交换的自动登录原理简介及配置说明
  • 税务岗位职场能力解析与提升路径规划
  • spring全家桶
  • VMware 中 Ubuntu 右上角网络图标消失的 5 种终极修复方案
  • Android 中使用开源库 ZXing 生成二维码图片
  • Android 播放MP4格式,大视频 几个小时的视频点击快进键视频进度会倒退一秒
  • 基于 Elasticsearch 解决分库分表查询难题
  • MySQL 索引:结构、对比与操作实践指南
  • OpenAI o1:OpenAI最新推出的AI大语言模型,更擅长推理也更贵
  • 使用JDK11标准 实现 图数据结构的增删查改遍历 可视化程序
  • Linux应急响应一般思路(三)
  • Vulkan 学习路线图