2021-arxiv-Prefix-Tuning- Optimizing Continuous Prompts for Generation

news2024/11/19 15:28:55

2021-arxiv-Prefix-Tuning- Optimizing Continuous Prompts for Generation

Paper:https://arxiv.org/pdf/2101.00190.pdf
Code:https://github.com/XiangLi1999/PrefixTuning

前缀调优:优化生成的连续提示

prefix-tunning 的基本思想也是想减少对模型的参数的改动,低资源对大模型进行SFT达到预期的效果。该方法想法比较直接,自然语言的token固定无法使用反向传播进行优化,那么就在原始输入的token前面添加固定长度的任务相关的virtual tokens ,一起作为新的输入。在训练的时候,会freeze模型的参数,只训练该部分prefix token的参数。

模型架构

对于fine-tuning,会更新模型的所有参数,但是prefix-tuning只更新prefix-tokens的参数,这样不同的任务在微调后,只需要保存对应任务的prefix tokens,因此相较于fine-tuning,prefix-tuning的成本会小的多。

和Pre-training不同的是,prefix- tuning 在上游任务中训练一个语言模型,并可以用于很多不同的下游任务。可以为每个用户设置一个单独的前缀,只对该用户的数据进行训练,从而避免数据交叉污染。此外,基于前缀的架构使甚至可以在一个批次中处理来自多个用户/任务的样本,这是其他轻量级微调方法所不能做到的。

table-to-text任务:输入 X XX 表示一个线性的表格,输出 Y YY 表示一个短文本;
自回归模型:在某一时刻 i ii,Transformer的每一层的隐状态向量拼接起来之后用于预测下一个词;
整体采用encoder-to-decoder架构;

方法:Prefix-Tuning


可以将token优化为连续词嵌入,而不是优化离散标记,其效果将向上传播到所有 Transformer 激活层,然后向右传播到后续标记。 这比需要匹配真实单词嵌入的离散提示更具表现力。 同时,这不如干预所有激活层的表现力,这避免了长期依赖并包括更多可调参数。 因此,Prefix-Tuning优化了前缀部分对应的所有层参数。

  • 添加一个prefix,自回归模型表示为 z = [  prefix;  x ; y ] \mathrm{z}=[\text { prefix; } \mathrm{x} ; \mathrm{y}] z=[ prefix; x;y],encoder decoder模型表示为 z = [  prefix;  x ;  prefix  ′ ; y ] \mathrm{z}=\left[\text { prefix; } \mathbf{x} ; \text { prefix }^{\prime} ; \mathrm{y}\right] z=[ prefix; x; prefix ;y]
  • 输入部分prefix, x ,y 的position id分别记作 P i d x , X i d x  和  Y i d x ;  P_{\mathrm{idx}}, X_{\mathrm{idx}} \text { 和 } Y_{\mathrm{idx}} \text {; } Pidx,Xidx  Yidx
  • prefix-tuning初始化一个训练的矩阵,记作 P θ ∈ R ∣ P i d x ∣ × dim ⁡ ( h i ) \mathrm{P}_\theta \in \mathbb{R}^{\left|\mathrm{P}_{\mathrm{idx}}\right| \times \operatorname{dim}\left(\mathrm{h}_{\mathrm{i}}\right)} PθRPidx×dim(hi),这部分参数用于存储prefix parameters:

h i = { P θ [ i , : ] ,  if  i ∈ P i d x LM ⁡ ϕ ( z i , h < i ) ,  otherwise  h_i= \begin{cases}P_\theta[i,:], & \text { if } i \in \mathrm{P}_{\mathrm{idx}} \\ \operatorname{LM}_\phi\left(z_i, h_{<i}\right), & \text { otherwise }\end{cases} hi={Pθ[i,:],LMϕ(zi,h<i), if iPidx otherwise 
即,处于前缀部分token,参数选择设计的训练矩阵,而其他部分的token,参数则固定且为预训练语言模型的参数。

  • 训练目标为:
    max ⁡ ϕ log ⁡ p ϕ ( y ∣ x ) = ∑ i ∈ Y i d x log ⁡ p ϕ ( z i ∣ h < i ) \max _\phi \log p_\phi(y \mid x)=\sum_{i \in \mathrm{Y}_{\mathrm{idx}}} \log p_\phi\left(z_i \mid h_{<i}\right) ϕmaxlogpϕ(yx)=iYidxlogpϕ(zih<i)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1109554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

西湖大学利用 Transformer 分析百亿多肽的自组装特性,破解自组装法则

多肽是两个以上氨基酸通过肽键组成的生物活性物质&#xff0c;可以通过折叠、螺旋形成更高级的蛋白质结构。多肽不仅与多个生理活动相关联&#xff0c;还可以自组装成纳米粒子&#xff0c;参与到生物检测、药物递送、组织工程中。 然而&#xff0c;多肽的序列组成过于多样&…

瞬态抑制二极管TVS的工作原理?|深圳比创达电子EMC(上)

TVS二极管具有响应速度快、漏电流小、钳位电压稳以及无寿命衰减的特性&#xff0c;从小到信号线静电防护&#xff0c;大到电力系统抗雷击浪涌&#xff0c;TVS都发挥着至关重要的作用。本章对瞬态抑制二极管TVS工作机理展开分析&#xff0c;供产品选型参考。接下来就跟着深圳比创…

用git stash暂存修改

git stash命令用于保存当前工作目录的临时状态&#xff0c;包括暂存区和已修改但未暂存的文件。它会将这些修改保存在一个临时区域&#xff08;即“堆栈”&#xff09;中&#xff0c;让你能够回到一个干净的工作目录&#xff0c;可以进行其他操作。等到你完成其他任务后&#x…

立即报名 | 云原生 + AI Meetup 成都站 11.4 正式开启

2023 年&#xff0c;KubeSphere 社区已经在深圳、杭州、上海三个城市各组织了一场线下 Meetup。第四站&#xff0c;我们将走进天府成都。 11 月 4 日&#xff0c;云原生 AI Meetup 成都站将正式开启&#xff01; 此次 Meetup&#xff0c;我们邀请到了蚂蚁集团、云猿生数据、…

系列十二、Redis的主从复制

一、概述 主从复制架构仅仅用来解决数据的冗余备份&#xff0c;从节点仅仅用来同步数据。 二、架构图 三、搭建主从复制 # 1、准备3台机器并修改配置 -- master port 7379-- slave1 port 7380 slaveof masterip masterport-- slave2 port 7381 slaveof masterip masterpor…

美创科技入选“内蒙古自治区第一届网络安全应急技术支撑单位”

近日&#xff0c;内蒙古自治区党委网信办、国家网络应急技术处理协调中心内蒙古分中心评选“内蒙古自治区网络安全应急技术支撑单位”结果公布。 经自治区各地区、各部门和单位推荐各单位自主申报&#xff0c;资料审查和专家评审等环节&#xff0c;美创科技成功入选“内蒙古自治…

win10下yolov7 tensorrt模型部署

TensorRT系列之 Win10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速部署…

【数据结构】排序--归并排序

目录 一 基本思想 二 代码实现 三 非递归归并排序 一 基本思想 归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法,该算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用。将已有序的子序列合并&#xff…

linux常见命令-文件目录类

9.4 文件目录类 &#xff08;1&#xff09;pwd 指令:显示当前工作目录的绝对路径 &#xff08;2&#xff09;Is指令:查看当前目录的所有内容信息 基本语法&#xff1a; ls [选项,可选多个] [目录或是文件] 常用选项:-a:显示当前目录所有的文件和目录&#xff0c;包括隐藏的…

02Nacos和Feign及Gateway配置

一、Nacos配置管理 1.统一配置管理 配置更改热更新 ①在Nacos中添加配置信息&#xff1a; ②在弹出表单中填写配置信息&#xff1a; 2.配置获取的步骤如下 配置文件bootstrap.yml的优先级比application.yml优先级高。把nacos地址放入bootstrap.yml。 ①在userservice中引入N…

Python —— Reference | hou

Houdini有非常多的Python模块可使用&#xff0c;不止一个hou&#xff0c;如hutil、toolutils、husd、kramautils等&#xff0c;只是帮助文档并没有提起&#xff0c;可从源代码docstring中查询&#xff1b; //查询有效的模块 help(modules) hou模块按功能可分为三类&#xff1a;…

windows 10下安装Pytorch的操作文档与避坑指南

前言 PyTorch3D 是 Facebook AI Research (FAIR) 开发的一个用于 3D 计算机视觉任务的开源深度学习库。它是建立在 PyTorch 框架之上的&#xff0c;并旨在为研究人员和工程师提供处理 3D 数据、渲染和几何计算的工具和模块。 PyTorch3D的用途&#xff1a; 3D 几何操作&#x…

Linux 内核启动分析

Linux 内核启动分析-BugMan-ChinaUnix博客 通过《Linux应用程序elf描述》&#xff0c;我们了解到一个应用程序编译后&#xff0c;最终会按照指定方式进行链接&#xff0c;而我们通过ld --verbose可以查看对应应用的默认链接方式。那么对于Linux内核呢&#xff1f;毫无疑问&…

大模型背景下软件工程的机遇与挑战

点击链接了解详情 本文作者&#xff1a;汪晟杰 导语:AISE&#xff08;AI Software Engineering&#xff09;有人说是软件工程 3.0&#xff0c;即基于大模型&#xff08;LLM - Large Language Model&#xff09;时代下的软件工程。那么究竟什么是 AISE&#xff0c;他的发展历程对…

Java学习入门偏(2)

⭐简单说两句⭐ 作者&#xff1a;后端小知识 CSDN个人主页&#xff1a;后端小知识 &#x1f50e;GZH&#xff1a;后端小知识 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; Hello&#xff0c;亲爱的各位友友们&#xff0c;好久不见&#xff0…

官媒代运营:内容营销是什么?为什么要做内容营销?

在当今数字化时代&#xff0c;信息传播的速度和途径前所未有地广泛&#xff0c;企业们正在寻找新的方法来吸引潜在客户并保持现有客户的忠诚度。在这个背景下&#xff0c;内容营销崭露头角&#xff0c;成为了企业推广和营销的一项重要策略。 今天媒介易来跟大家分享干货知识&am…

Mini小主机All-in-one搭建教程6-安装苹果MacOS系统

笔者使用的ESXI7.0 Update 3 抱着试试的态度想安装一下苹果的MacOS系统 主要步骤有2个 1.解锁unlocker虚拟机系统 2.安装苹果MacOS系统 需要下载的文件 unlocker 这一步是最耗时间的&#xff0c;要找到匹配自己系统的unlocker文件。 https://github.com/THDCOM/ESXiUnloc…

VMware vCenter Server 6.7安装过程记录

0、前言 最近由于一些原因需要安装测试VMware ESXi&#xff0c;无奈所有服务器都是十几年前的&#xff0c;配置低也不支持。后来通过VMware兼容性列表查询&#xff0c;快要放弃的时候发现唯一一台Dell R420&#xff0c;如获至宝。通过查询得知最高支持到6.5 U3&#xff0c;好在…

214. Devu和鲜花

214. Devu和鲜花 - AcWing题库 如果每个盒子里的花的数量是无限的&#xff0c;用隔板法可以得出答案是 现在每个盒子中区的花数要满足n个条件 我们可以求答案的补集&#xff0c;用全部方案数减去补集方案数 每一个不符合条件的要求为&#xff0c;设为Bi 补集方案数为就成了…

内存卡怎么格式化?2个方法就足够!

“我是一名摄影业余爱好者&#xff0c;之前的内存卡里存了很多的文件&#xff0c;导致容量满了。我想将内存卡格式化后继续使用&#xff0c;但是不知道应该如何操作&#xff0c;谁能给些建议吗&#xff1f;” 内存卡格式化是维护存储设备性能和数据安全的关键操作之一。当我们发…