LLM基础模型系列:Prompt-Tuning

------->更多内容,请移步“鲁班秘笈”!!<------

大型预训练语言模型的规模不断扩大,在许多自然语言处理 (NLP) 基准测试中取得了最先进的结果。自GPT和BERT开发以来,标准做法一直是在下游任务上微调模型,这涉及调整网络中的每个权重(即模型调优)。但是,随着模型变得越来越大,为每个下游任务存储和提供模型的优化副本变得不切实际。

一个有吸引力的替代方案是在所有下游任务中共享一个冻结的预训练语言模型,其中所有权重都是固定的。冻结模型可以通过“上下文”学习来执行不同的任务。通过这种方法,用户通过提示设计为给定任务启动模型,即手工制作带有手头任务描述或示例的文本提示。例如,为了给模型进行情感分析,可以在输入序列之前附加提示“下面的电影评论是正面的还是负面的?”,“这部电影太棒了!”。

在任务之间共享相同的冻结模型大大简化了服务,并允许高效的混合任务推理,但不幸的是,文本提示需要手动设计,即使是精心设计的提示,也会影响精确性,而本文带来的技术将破解手动的难题。

微调与转移学习

Prompt Tuning是通过训练一组提示参数来适应LLMs新任务的过程。这些提示被附加到输入文本之前,以指导生成LLM所需的输出。它在每个样本之前加入了一些虚拟的Token,这些Token用于不同任务的Embedding。

为了更加直观的简述Prompt Tuning。之前先看下面的两张图,第一张图是全微调,也就是说准备好的样本数据,然后继续二次微调模型的参数。

全微调

第二张图是将大模型的参数冻结,然后针对不同的任务训练前缀(粉红色的部分)。下面的训练一个批次是4条样本。

Prompt Tuning

Prompt Tuning的超参数们

那么在样本之前要填充多少的虚拟Token才是最为合适的呢?以T5为例,针对不同任务的标准模型微调实现了强大的性能,但需要为每个特定的任务准备分支副本。

假定使用T5系列的模型,每个调整后的模型副本需要11B参数。相比之下,采用Prompt Tuning技术之后,若填充的虚拟Token为5,那么每个任务只需要20480个参数,减少了5个数量级以上。

回头看看采用Prompt Tuning技术的T5,随着大模型规模的增加,表现不断地提升,而且这个过程中基座模型是冻结的,只有一份。仔细观察下图会发现,其实这种技术在大参数模型还是比较合适的,而在小参数模型中的表现一般,注意黄色(模型微调)和绿色(Prompt Tuning)在不同参数规模的模型的间隙。

上面这幅图是在各种不同的情况下研究一些超参数对这种技术的性能影响。值得注意的是,这种技术的质量随着模型大小的增加而稳定提高。在所有研究中,特大号参数的模型对超参数选择最为稳健。

  • a图说明增加到 20多个虚拟Token通常会带来很大的提升,但是对于特大号的模型而言,增加一个虚拟的Token就足够了。是不是很神奇!

  • b表明随机均匀初始化参数数值落后于使用采样词汇或类标签嵌入的更“高级”初始化,但这种差异在特大号模型下消失。

  • c表明LM Adaptation在跨领域的表现优越,即使在下游任务目标中添加了标记

  • d展示较长的适应步伐(Step)通常会带来更大的收益

Prompt Tuning的优点

采用prompt tuning技术的好处在于它可以自动从一个新的模型中学习最佳的Prompt,就是如何引导大模型能够根据新的任务,给出针对性的回答。之前网上有很多教程,教读者如何学会写高效的Prompt,采用这种技术将自动化的训练对应任务的虚拟Token,然后自动的找出最佳的引导方法。

Prompt 调优保留了模型调优的强大任务性能,同时保持预训练模型的冻结状态,从而实现高效的多任务服务。

大白话说,就是你和蚂蚁沟通,你可以采用很多方式,但是你也可以“烘烘哈衣,@@#¥……”,结果蚂蚁听懂了。“烘烘哈衣,@@#¥……” 就是那些训练出来的虚拟Token,人很难听懂。这么说,有点和禅宗的大喝一声,用力一棒异曲同工。最重要的是,采用这种技术,只需要一个基座模型,对于模型迁移具有很强的弹性。

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

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

相关文章

SCP 使用教程

SCP&#xff08;Secure Copy Protocol&#xff09;是一种通过加密的方式在本地主机和远程主机之间安全地传输文件的协议。它是基于SSH协议的扩展&#xff0c;允许用户在不同主机之间进行文件复制和传输&#xff0c;是Linux和Unix系统中常用的工具之一。本教程将详细介绍SCP的基…

migrate table com.finebi.persist.impl.entity.PackageSubItemEntity failed

记录一个报错解决过程&#xff0c;finebi在连接外部mysql时&#xff0c;要把finebi里的表导入到mysql&#xff0c;但是如果mysql库不是utf8就会报错如下migrate table com.finebi.persist.impl.entity.PackageSubItemEntity failed 解决方法&#xff1a;用下面语句创建的库是…

数字化教育资源如何适应人工智能时代

01 教育资源应动态适应一线教学需求 用好数字化教育资源是一项系统工程&#xff0c;涉及教育教学的各个方面&#xff0c;包括教师和学生的教育观念与技术观念、信息技术素养&#xff0c;以及课程教学改革、教师培训等。还涉及数字化教育资源提供方的服务&#xff0c;如技术支持…

【STM32嵌入式系统设计与开发---拓展】——1_9_1上拉输入和下拉输入

在使用GPIO引脚时&#xff0c;上拉输入和下拉输入的选择取决于外部电路的特性和应用需求。以下是它们各自的应用场景&#xff1a; 1、上拉输入&#xff08;Pull-up Input&#xff09; 用途: 当默认状态需要为高电平时。 避免引脚悬空&#xff08;floating&#xff09;导致的…

计算机网络——网络层(路由选择协议、路由器工作原理、IP多播、虚拟专用网和网络地址转换)

目录 路由选择协议 因特网的路由选择协议特点 路由信息协议RIP RIP衡量目的网络距离 RIP选择路由器的方式 RIP具有以下三个重要特点 RIP的基本工作流程 RIP的距离向量算法 ​编辑 ​编辑 RIP存在的问题——“坏消息传播得慢” RIP的封装 开放最短路径优先协议OSPF…

在CSS中,使用Flexbox布局时,可以通过几个属性来控制容器内的项目之间的间距

display弹性布局&#xff0c;flex:1是占据剩下的空间 关于displa:flex /* 水平和垂直居中&#xff0c;水平和垂直方向上的间距均匀分布 / .container { display: flex; justify-content: space-between; / 左右对齐 / align-items: center; / 上下间距 */ flex-direction: ro…

YOLOv7 更换Neck之 BiFPN

简介 YOLOv7 是 Ultralytics 公司于 2022 年 4 月发布的最新一代目标检测模型&#xff0c;在 COCO 数据集上取得了56.2 mAP 的惊人成绩&#xff0c;超越了所有已知的目标检测模型。YOLOv7 的核心架构与之前的版本基本一致&#xff0c;但对一些关键模块进行了改进&#xff0c;其…

AcWing 668. 游戏时间2

读取四个整数 A,B,C,D&#x1d434;,&#x1d435;,&#x1d436;,&#x1d437;&#xff0c;用来表示游戏的开始时间和结束时间。 其中 A&#x1d434; 和 B&#x1d435; 为开始时刻的小时和分钟数&#xff0c;C&#x1d436; 和 D&#x1d437; 为结束时刻的小时和分钟数。…

昇思25天学习打卡营第23天|基于MindSpore的Pix2Pix实现图像转换

Pix2Pix实现图像转换 Pix2Pix概述 Pix2Pix是基于条件生成对抗网络&#xff08;cGAN, Condition Generative Adversarial Networks &#xff09;实现的一种深度学习图像转换模型&#xff0c;该模型是由Phillip Isola等作者在2017年CVPR上提出的&#xff0c;可以实现语义/标签到…

Spring Boot app: Failed to determine a suitable driver class

目录 问题描述解决方案 问题描述 我尝试连接springboot&#xff1b;当我运行时&#xff0c;出现错误“Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured."” application.yml 应用程序.yml dat…

【贪心算法】贪心算法30题

一、贪心算法简介 证明贪心策略正确性的常用方法&#xff1a;直接证明、交换论证法、反证法、分类讨论… 二、相关编程题 2.1 柠檬水找零 题目链接 860. 柠檬水找零 - 力扣&#xff08;LeetCode&#xff09; 题目描述 算法原理 提示&#xff1a;最优解和贪心解唯一可能不同…

创建React项目:使用 create-react-app 创建 React 应用

在本文中&#xff0c;我们将介绍如何使用 create-react-app 创建一个名为 react-basic 的 React 应用。以下步骤将帮助你快速搭建一个新的 React 项目。 1. 确保已安装 Node.js 和 npm 在开始之前&#xff0c;确保你的系统上已经安装了 Node.js 和 npm&#xff08;Node 包管理…

提取文本中所有图片的链接地址

从给定的文本中使用正则表达式提取出所有的图片链接地址 代码 import re s这是一段干扰信息这是一段干扰信息这是一段干扰信息这是一段干扰信息这是一段干扰信息这是一段干扰信息https://img1.baidu.com/it/u272155668.1962281314&fm26&fmtauto这是一段干扰信息这是一…

Mongodb 3.6 数据恢复操作

一、安装MongoDB 忽略 二、创建账号和授权 在新的MongoDB上创建用户管理员。先切换到admin库&#xff0c;然后通过命令创建数据库管理员账号和密码。最后再验证账号密码是否创建成功&#xff01; use admin db.createUser({user:"root",pwd:"123456Ab",…

《昇思25天学习打卡营第19天|Diffusion扩散模型》

什么是Diffusion Model&#xff1f; 什么是Diffusion Model? 如果将Diffusion与其他生成模型&#xff08;如Normalizing Flows、GAN或VAE&#xff09;进行比较&#xff0c;它并没有那么复杂&#xff0c;它们都将噪声从一些简单分布转换为数据样本&#xff0c;Diffusion也是从…

共建特色基地 协同互促育人

作为芯片和集成电路、人工智能、智能网联车等临港重点产业布局的知识密集型相关企业&#xff0c;核心技术人才和技术骨干是公司参与全球竞争的重要核心竞争力之一。 知从科技通过不断的创新和规范&#xff0c;在深化产教融合、校企合作、“双师型”、联合办学协同育人、产业人…

Java 中怎么解决 0.1 + 0.2 不等于 0.3?

&#x1f446;&#x1f3fb;&#x1f446;&#x1f3fb;&#x1f446;&#x1f3fb;关注博主&#xff0c;让你的代码变得更加优雅。 前言 Hutool 是一个小而全的Java工具类库&#xff0c;通过静态方法封装&#xff0c;降低相关API的学习成本&#xff0c;提高工作效率&#xf…

git回退分支版本git reset --hard HEAD

git回退分支版本git reset --hard HEAD git reset --hard HEAD 上面命令清除本地所有修改&#xff0c;与下面相似&#xff1a; git reset --hard origin/master 等同于&#xff1a; git reset --hard HEAD~0 说明&#xff1a; HEAD 当前版本 HEAD^ 上一个版本 HEAD^^ 上上…

单例模式 饿汉式和懒汉式的区别

单例模式&#xff08;Singleton Pattern&#xff09;是设计模式中最简单、最常见、最容易实现的一种模式。它确保一个类仅有一个实例&#xff0c;并提供一个全局访问点。单例模式主要有两种实现方式&#xff1a;饿汉式&#xff08;Eager Initialization&#xff09;和懒汉式&am…

Linux - 冯-诺依曼体系结构、初始操作系统

目录 冯•诺依曼体系 结构推导 内存提高效率的方法 数据的流动过程 体系结构相关知识 初始操作系统 定位 设计目的 操作系统之上之下分别有什么 管理精髓&#xff1a;先描述&#xff0c;再组织 冯•诺依曼体系 结构推导 计算机基本工作流程图大致如下&#xff1a; 输入设备&a…