【论文解读】Prefix-Tuning: Optimizing Continuous Prompts for Generation

news2025/1/12 3:50:34

一.介绍

1.1 前置知识

1.1.1 in-context learning

At the limit, GPT-3 (Brown et al, 2020) can be deployed using in-context learning, which is a form of prompting, without modifying any LM parameters.

"部署" 指的是将 GPT-3 模型用于实际应用或特定任务的过程。

"In-context learning" 是一种通过提供上下文或附加信息来指导模型生成的方法。在这种情况下,用户可以向 GPT-3 提供一些上下文或提示(prompt),以引导模型生成相关的回复或执行特定任务,而不必重新训练或微调模型。模型根据提示生成响应,并且可以根据提示的不同来执行不同的任务。这种方式可以让 GPT-3 在不修改模型参数的情况下,适应多种任务。

1.2 简介

微调(顶部)更新所有LM参数(红色Transformer框),并且需要为每个任务存储完整的模型副本。我们提出prefixtuning(底部),它冻结LM参数并只优化前缀(红色前缀块)。因此,我们只需要为每个任务存储前缀,使前缀调优模块化且节省空间。

前缀调优(prefix-tuning)将一系列,被称之为前缀(prefix),连续的特定于任务的向量添加到输入中。为了生成每个令牌,LM可以像处理“虚拟令牌”序列一样处理前缀,但与提示不同的是,前缀完全由不对应于真实令牌的自由参数组成。

1.3 理解

基于前缀的架构使我们能够在单个批处理中处理来自多个用户/任务的示例,这是其他轻量级微调方法(如adaptertuning)无法实现的。

二 .

2.1 问题建模

一个条件生成任务,其中输入x是一个上下文,输出y是一个令牌序列。有两种模式:第一种是像GPT2的自回归模型,第二种是类似于BART的encoder-decoder架构来建模上述问题

i\in X_{idx}

2.1.1 自回归建模

h_i = [h_i^{(1)};\cdot \cdot \cdot ;h_i^{(i)}]表示在时间步骤i的到第j层的激活向量。

一个自回归神经LM计算h_i作为z_i的函数和过去在其左侧上下文中的激活,如下所示:

最后一层使用Softmax计算下一个token的分布

2.1.2 编码器解码器架构

由双向编码器编码,解码器自回归预测y(以编码的x及其左侧上下文为条件)

通过双向编码器获得当i\in X_{idx}时的h_i,通过自回归解码器获得当i\in Y_{idx}时的h_i

2.2 Prefix-Tuning

上下文可以通过指导从x中提取什么来影响任务输入x的编码,并且可以通过指导下一个令牌分布来影响任务输出y的生成。比较直观的想法就是直接使用词嵌入来替代在使用过程中提供上下文信息和额外信息

  • 自回归 : 增加一个前缀,得到z = [prefix;x;y]
  • encoder-decoder架构:为编码器和解码器都添加前缀,得到z = [PREFIX;x;PREFIX{}';y]

直接更新Pθ参数会导致优化不稳定,直接重参数化为一个小的矩阵P_\theta '和一个大前馈神经网络MLP,即P_\theta [i,:]=MLP_\theta (P'_\theta [i,:]) 。一旦训练完成,这些重参数化参数可以被丢弃,只需要保存前缀P_\theta

2.3 实验结论

  • 当训练样本数量较少时,前缀调优具有相对优势
  • 前缀长度:更长的前缀意味着更多可训练的参数。当前缀长度增加到一个阈值(时,性能会增加,然后出现轻微的性能下降。

  • 增强表现力的链:离散提示< embedding-only < prefix-tuning

embedding-only就是“虚拟令牌”的连续嵌入的实例化实现

  • 前缀调优由优于中缀调优

作者认为这是因为前缀调优可以影响x和y的激活,而中缀调优只能影响y的激活。

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

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

相关文章

项目添加以vue为后缀名的vue文件,怎么解析打包

我们都知道&#xff0c;将css文件打包起来&#xff0c;需要加载css-loader和style-loader&#xff0c;那么vue文件打包也需要 下载插件&#xff1a; npm install vue-loader vue-template-compiler --save -dev 下载过程&#xff1a; 下载成功样子&#xff1a; 下载完之后&am…

学信息系统项目管理师第4版系列33_信息化发展

1. 企业信息化发展战略要点 1.1. 【高22下选12】 1.2. 以信息化带动工业化 1.3. 信息化与企业业务全过程的融合、渗透 1.4. 信息产业发展与企业信息化良性互动 1.5. 充分发挥政府的引导作用 1.6. 高度重视信息安全 1.7. 企业信息化改组改造和形成现代企业制度有机结合 …

Leetcode 剑指 Offer II 049. 求根节点到叶节点数字之和

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个二叉树的根节点 root &#xff0c;树中每个节点都存放有…

基于孔雀优化的BP神经网络(分类应用) - 附代码

基于孔雀优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于孔雀优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.孔雀优化BP神经网络3.1 BP神经网络参数设置3.2 孔雀算法应用 4.测试结果&#xff1a;5.M…

基于SpringBoot的招生管理系统

基于SpringBoot的招生管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 登录界面 管理员界面 用户界面 摘要 基于SpringBoot的招生管理系统是一款现…

基于战争策略优化的BP神经网络(分类应用) - 附代码

基于战争策略优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于战争策略优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.战争策略优化BP神经网络3.1 BP神经网络参数设置3.2 战争策略算法应用 4.测试结果…

mysqld: File ‘./binlog.index‘ not found (OS errno 13 - Permission denied) 问题解决

问题背景 Centos7 安装Mysql 8后启动时遇到的问题&#xff0c;看了好几个博客方案无效&#xff0c;搞了半小时才找到正解&#xff0c;在此次进行记录。 在此假设你已经修改了对应目录的权限&#xff0c;比如配置的mysql data目录初始化后已经执行了chown -R mysql:mysql /XXX/…

bug记录——设置了feign的fallback,但是没有生效

问题描述 feign的代码 package com.tianju.order.feign;import com.tianju.order.feign.fallback.StorageFallback; import com.tinaju.common.dto.GoodsDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMap…

虹科分享 | 超低温冷冻箱温度分布验证的9步指南

虹科分享 | 超低温冷冻箱温度分布验证的9步指南 背景&#xff1a; 在生物制药行业&#xff0c;温度分布验证是确保对时间和温度敏感的产品在保证质量和安全的条件下储存和运输的关键步骤。这对于超低温冷冻箱尤为重要&#xff0c;因为超低温冷冻箱用于在低于 -60℃ 的温度下储…

[人工智能-综述-13]:第九届全球软件大会(南京)有感 -2-新型的云服务:AI即服务,传统的云服务:IaaS,PaaS,SaaS, DaaS

目录 一、传统的云服务 1.1 概述 1.2 从大数据云服务走向AI云服务 二、AI即服务&#xff1a;新型的云服务 1.1 概述 1.2 基于AI服务的应用程序 1.3 基于大语言模型的AI应用程序 1.4 AI 编程云服务平台 1.5 大模型在AI应用程序编程平台中的应用的主要思想 一、传统的…

LC-2316. 统计无向图中无法互相到达点对数(DFS、并查集)

2316. 统计无向图中无法互相到达点对数 中等 给你一个整数 n &#xff0c;表示一张 无向图 中有 n 个节点&#xff0c;编号为 0 到 n - 1 。同时给你一个二维整数数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示节点 ai 和 bi 之间有一条 无向 边。 请你返回 无法互相…

微信小程序开发之会议OA首页后台数据交互(内带新知识点分享)

目录 前言 一、后台数据库交互 1.后台操作 1.1 导入会议OA后台项目 1.2 导入数据库文件以及配置数据库连接 1.3 启动后台验证是否拿到数据库数据 2. 前台操作 2.1 关闭mock.js 2.2 删除原有死数据及配置接口 2.3 定义函数访问获取后台数据 页面效果 二、利用工具类…

《深度学习推荐系统》王喆 笔记

这个笔记&#xff0c;是我记录的阅读该书&#xff0c;对我比较有用的一些点。不算是能完全覆盖全书知识点的笔记。 能完全覆盖全书知识点&#xff0c;比较详尽的笔记&#xff0c;可以参考如下。 《深度学习推荐系统》超级详细读书笔记https://www.zhihu.com/tardis/bd/art/44…

网安周报|OpenSSF 推出恶意软件包存储库

1.OpenSSF 推出恶意软件包存储库 为了应对恶意开源软件包日益增长的威胁&#xff0c;开源安全基金会 ( OpenSSF ) 推出了一项名为“恶意软件包存储库”的新计划。该存储库可能会成为打击恶意代码的主要参与者&#xff0c;旨在增强开源软件生态系统的安全性和完整性。该存储库已…

前端开发中遇到的复杂数据求和问题

在js中常用的数学计算库就是Math&#xff0c;但是Math库中没有能够进行求和的方法 那我们有两种解决办法 1.可以使用另外一种库&#xff1a;BigDecimal.js…或者可以去寻找更合适的库进行操作 2.使用reduce函数 首先我们的数据结构大概是这样子&#xff0c;detials里边的数据可…

软件工程与计算总结(二十三)软件工程职业基础

本系列最后一更&#xff0c;《软计》系列总结的大结局&#xff01;本栏目告一段落&#xff0c;之后会结合真题和练习题再发布新的总结~ 往期链接&#xff1a; 《软件工程与计算》总结 一.软件工程职业 1.行业的发展 20世纪50年代&#xff1a;计算机还是研究型机器&#xff…

STM32基于HAL库RT-Thread Demo测试

STM32基于HAL库RT-Thread Demo测试 &#x1f388;源码地址&#xff1a;https://github.com/RT-Thread/rt-thread/tree/master&#x1f4cc;基于STM32CUBEMX中间件安装《基于 CubeMX 移植 RT-Thread Nano》&#x1f4cd;环境搭建《使用 Env 创建 RT-Thread 项目工程》&#x1f5…

【QT开发(10)】QT 进程

运行一个进程 使用类 QProcess&#xff0c;允许将一个进程堪称一个顺序IO设备。 在Qt中&#xff0c;QProcess类是用于启动外部进程的类。它可以启动任何可执行文件&#xff0c;包括命令行工具和图形用户界面&#xff08;GUI&#xff09;应用程序。 启动一个线程分4步 1、在…

探索图像分割技术:使用 OpenCV 的分水岭算法

贾斯卡兰巴蒂亚 一、说明 图像分割是计算机视觉的一个基本方面&#xff0c;多年来经历了巨大的转变。这将是一系列三篇博客文章&#xff0c;深入研究三种不同的图像分割技术 - 1使用OpenCV的经典分水岭算法&#xff0c;2使用PyTorch实现的基于深度学习的UNet模型&#xff0c;3 …

httpd服务

文章目录 httpd服务1.安装httpd服务2.开启服务&#xff0c;设置服务开机自启立马生效&#xff0c;并查看服务状态3.查看监听端口4.关闭防火墙&#xff0c;设置防火墙开机不自启立马生效&#xff1b;关闭selinux5.写一个index.html文件&#xff0c;在真机浏览器访问测试效果6.查…