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

7、prefix-tuning、P-tuning、Prompt-tuning

7.1 prefix-tuning主要观点

        Prefix-tuning是⼀种参数⾼效的微调⽅法,主要⽤于⾃然语⾔处理任务。它通过在预训练语
⾔模型(如GPT-2、T5等)的输⼊序列前⾯添加⼀段可训练的前缀(prefix),实现对下游任
务的适应,⽽⽆需更新原有的⼤量模型参数。
        Prefix-tuning的主要观点是在输⼊序列的前⾯插⼊⼀段可训练的前缀,利⽤这段前缀的特征
来引导模型的输出。与全参数微调或其他参数⾼效的微调⽅法(如Adapter、LoRA)不同,prefix-tuning不直接改变模型的内部结构或权重,⽽是通过对输⼊进⾏扩展,以较⼩的参数开销适应下游任务。

7.2 P-tuning

        P-tuning的核⼼思想是在任务输⼊序列的前⾯插⼊⼀段可训练的连续提⽰向量。这些提⽰向量在训练过程中不断优化,以调整语⾔模型在特定任务中的⽣成或理解⾏为。与传统的参数⾼效微调⽅法(如Adapter或prefix-tuning)相⽐,P-tuning不改变模型的结构或权重,⽽是通过优化前缀(提⽰向量)的表⽰来影响模型的⾏为。 主要观点包括:

7.3 Prompt-tuning

        Prompt-tuning是⼀种专注于优化提⽰(prompt)来提升预训练语⾔模型在下游任务中性
能的技术。它通过对提⽰部分进⾏训练,⽽不修改模型参数,从⽽实现对⼤规模语⾔模型的
⾼效适应。Prompt-tuning能够以较少的参数调整,获得接近甚⾄超过传统微调⽅法的性
能,尤其适⽤于⼤规模预训练模型(如GPT-3、T5等)。
        Prompt-tuning的核⼼思想是在输⼊序列前插⼊⼀个可训练的提⽰(prompt),这些提⽰不再是离散的⽂本,⽽是连续的嵌⼊向量。通过对提⽰向量进⾏训练,可以有效引导模型输出更符合任务⽬标的 结果。主要观点包括:
        参数⾼效仅优化提⽰向量,⽽保持模型的其他参数冻结。相⽐传统的微调⽅法,Prompt
tuning在参数更新上具有显著的优势。
        ⼤模型适应性强Prompt-tuning在⼤规模预训练模型(如数⼗亿参数模型)上表现尤为出⾊,能够充分利⽤⼤模型的知识进⾏任务适应。
        任务转换能⼒强通过修改或优化提⽰,可以在多个任务之间快速切换,⽽⽆需对每个任务都进⾏全参数训练。

特性Prompt-TuningPrefix-TuningP-Tuning (v1)P-Tuning v2
灵感来源模仿离散提示词受Prompt启发,为序列添加“上下文”改进离散提示和Prefix-Tuning统一和改进P-Tuning和Prefix-Tuning
可训练参数位置仅在输入层(序列开头添加软提示)每一层的输入端(序列开头添加软提示)主要在第一层(使用LSTM编码器产生提示)每一层(都添加可学习的提示向量)
参数形式可学习的嵌入向量(软提示)可学习的矩阵(软前缀)由小型LSTM网络生成的嵌入向量可学习的嵌入向量(类似Prefix,但结构不同)
训练稳定性非常稳定不稳定,需要复杂的初始化较稳定(通过LSTM编码)稳定,引入了深度提示和梯度传递
模型架构兼容性主要适用于自回归(如GPT)或编码器-解码器模型主要适用于自回归(如GPT)和编码器-解码器模型主要设计用于自编码(如BERT)模型通用(自回归、自编码、编码器-解码器)
性能模型很大时(>10B)效果接近全量微调效果好,但早期版本不稳定在NLU任务上表现良好性能强劲,在小模型上也能接近全量微调效果
http://www.xdnf.cn/news/18804.html

相关文章:

  • 基于数据安全的旅游民宿租赁系统
  • 音频时长裁剪工具:高效处理音频,让内容创作更轻松
  • docker 所有常用命令,配上思维导图,加图表显示
  • 配送算法16 A Deep Reinforcement Learning Approach for the Meal Delivery Problem
  • 【Linux】用户与用户组管理
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day14
  • 蓝桥杯算法之基础知识(3)——Python的idle的快捷键设置(idle改键)
  • OpenCV实战1.信用卡数字识别
  • 极简风格PDF格式转换解决方案
  • 人工智能安全地图:将人工智能漏洞与现实世界的影响联系起来
  • Linux 系统核心调优:CPU、磁盘 I/O、网络与内核参数实战
  • Java全栈开发面试实录:从基础到实战的深度探索
  • 【AI算力平台】算力高效调度策略——GPU调度
  • Rust 登堂 之 函数式编程(三)
  • vagrant怎么在宿主机管理虚拟机镜像box(先搁置)
  • PyTorch生成式人工智能——PatchGAN详解与实现
  • LeetCode 438. 找到字符串中所有的字母异位词
  • 功能强大的PDF工具箱-- PDF补丁丁,v1.1.0.4657新版本,免费无广告,开箱即用版~
  • flutter专栏--dart基础知识
  • Android系统学习2——Android.Utils.Log模块讨论
  • [Maven 基础课程]Maven 是什么
  • Java微服务AI集成指南:LangChain4j vs SpringAI
  • imx6ull-驱动开发篇43——I.MX6U 的 I2C 驱动分析
  • 软件开发技术栈
  • 集成电路学习:什么是ResNet深度残差网络
  • LeetCode 2140. 解决智力问题
  • JavaScript常用的算法详解
  • 8.26网络编程——Modbus TCP
  • 【跨国数仓迁移最佳实践7】基于MaxCompute多租的大数据平台架构
  • 发力低空经济领域,移动云为前沿产业加速崛起注入云端动能