[论文阅读笔记76]GPT Understands, Too(P-tuning)

news2025/2/10 21:53:30

1. 基本信息

题目论文作者与单位来源年份
GPT Understands, Too清华大学

Citations, References

论文链接:https://arxiv.org/pdf/2103.10385.pdf

论文代码:

2. 要点

研究主题问题背景核心方法流程亮点数据集结论论文类型关键字
微调大模型采用传统微调的gpt在自然语言理解(NLU)方面未能取得良好的效果,所以提出了P-tuning.LAMA,SuperGlueP-tuning在少样本上,在bert,gpt都取得不错的效果。

3. 模型(核心内容)

3.1 模型例子

pCeDFvn.png

这里的模型思想是例如有一个模板T:The capital of [X] is [Y], 这里的X定义为上下文,Y定义为目标,其它字符表示prompt.

对于离散型,每一个prompt提示词都可以在V词典中查到,然后都可以经过预模型模型进行编码。

*** T = {*****[P_0:i ], x, *****[P_*****i+1:m], y}, [P_i ] *****∈ V, ***

pCesHCF.png

在p-tuning中p_i被看成是一个伪token,对应用的模板应该是这样的:

pCesoNT.png

这里的h_i是可以训练的的,通过训练可以获得列准确的prompt,这个prompt将会超过当前的prompt.

最后的损失函数为:

pCeyAKA.png

其它这个跟之前几篇思想是一样的。直接把离散的代替成了连续的。

优化时面临两个挑战:

Discreteness

如果h用随机分布初始化,优化器很容易落入局部极小值。

Association

嵌入的h应该是相互联系的,并不是独立的,在设计时应该把h的相关作用加入去。

解决这个方法: 把h隐变量建立成一个序列,采用一prompt编码器来进行编码,这个编码器采用小而轻的神经网络的完成。实际的实践中采用了lstm来完成。

pCey6Vx.png

4. 实验与分析

4.1 实验

任务1:LAMA (Petroni et al., 2019) knowledge probing

把三元组 (Dante, born-in, Florence) 变成cloze的句子:“Dante was born in [MASK].”,作为原始的样本。

pCe6Kdx.png

1) Manual Prompt(MP):使用LAMA的原始手工提示;

2)Fine-tuning(FT):通过主语与微调模型去预测宾语;

3) Manual Prompt with Fine-tuning(MP+FT):使用手工提示数据来微调语言模型;

4)P-tuning:使用连接提示(固定语言模型的参数)。

另外发现,LAMA-29k数据集中P-tuning比fine tuning还要好。

任务2:SuperGlue (Wang et al., 2019b)

BERT-base-case,GPT2-base,BERT-large-cased, GPT2-medium, 从这些实验结果来看,基本上是超过Fine-tuning的效果的。

pCe6qmR.png

pCe6L01.png

few shot中的提示的语义、格式、语法没有明显的相关性,其次,手动提示中的微小变化会导致巨大的性能差异。

pCecN3F.png

5. 总结

思想与之前的两篇的差不多,这篇也做了很多实验,效果大部分可与fine tuning进行比较了。挺好的。

7. 知识整理(知识点,要读的文献,摘取原文)

8. 参考文献

made by happyprince

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

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

相关文章

css空间转换

目录 1. 3D移动 translate3d 1.1 三维坐标系 1.2 3D移动 translate3d 1.3 透视 perspective 1.4 translateZ 2. 3D旋转 rotate3d 2.1 左手法则-判断元素旋转方向的取值正负 3. 3D呈现 transform-style【***】 4. 3D缩放 transform:scale3d 1. 3D移动 translate3d …

nacos运行报错-jar: file does not existCan‘t retrieve image ID from build stream

一、问题 Deploying nacos Dockerfile: ruoyi-visual/ruoyi-nacos/Dockerfile… Building image… Preparing build context archive… [>]211/211 files DoneSending build context to Docker daemon… [>] 6.099MB DoneStep 1/8 : FROM openjdk:11---> 5505a9a39df…

chatgpt赋能python:用Python创建股票池

用Python创建股票池 介绍 如果你是一位投资者,你一定知道股票池是什么。它是一个包含一组股票的集合,使投资者能够跟踪和管理他们的投资组合。这些股票可以根据各种因素分类,例如行业,市值,收入增长等。 Python是一…

Oracle的学习心得和知识总结(二十六)|Oracle数据库Real Application Testing测试指南(数据库回放)

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《Oracle Database SQL Language Reference》 2、参考书籍:《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…

学习HCIP的day.13

目录 IPV6 一、特征-升级点 二、IPV6地址 三、IPV6地址分类 1、单播地址 2、多播地址 四、协议 五、思科配置 1、接口配置IPV6的单播地址 2、IPV6的ACL 3、IPV6的单播路由协议 4、IPV4和IPV6共存 六、华为IPV6配置 1、静态 2、OSPF 3、BGP 4、IPV4和IPV6共存…

我的内网渗透-提权大法

拿到shell之后乱码解决 chcp 65001 #将编码设置为UTF-8的编码 出现这个提示就是切换成功,后面也是可以正常显示的 提权 方法一: 新版本的kali直接getsystem,可以提权成功(有时候可以,有时候不可以) mete…

chatgpt赋能python:Python循环3次的方法

Python循环3次的方法 循环是编程中经常用到的一个基本操作,可以让相同的代码运行多次。在Python中,循环也是极其重要的,其中最常用的是for和while循环。在本文中,我们将介绍如何使用Python循环3次。 使用for循环 使用for循环是…

电气器件系列三十八:耐压测试仪2

某型号官方资料: 系列耐压测试仪是测量耐压强度的仪器,可以直观、准确、快速地测试各种被测对象的击穿电压、漏电流等电气安全性能指标,并可以作为高压源用来测试元器件和整机性能。 本系列测试仪符合如下标准:家用电器类标准(IE…

响应式网页

解决方案&#xff1a; 媒体查询 max-width 最大宽度 <768 (从大到小) min-width 最小宽度 >768 (从小到大) media(条件){html{background-color: green;} } 需求&#xff1a; 默认网页前景色是灰色屏幕亮度大于等于768px&#xff0c;网页背景色是粉色屏幕亮度大于…

谈谈GPT-4文本代码降本减料引起的质量下降

先是少数用户提出质疑&#xff0c;随后大量网友表示自己也注意到了&#xff0c;还贴出不少证据。 有人反馈&#xff0c;把GPT-4的3小时25条对话额度一口气用完了&#xff0c;都没解决自己的代码问题。 无奈切换到GPT-3.5&#xff0c;反倒解决了。 总结下大家的反馈&#xff0c…

gitlab+jenkins+harbor实现CI/CD(2)——初级

文章目录 一、docker git安装二、jenkins使用步骤创建项目在jenkins主机获取密钥 三、实时触发构建四、整合harbor仓库 一、docker git安装 git安装 yum install -y gitjenkins主机上安装docker-ce [rootvm6 yum.repos.d]# yum install -y docker-ce [rootvm6 ~]# systemctl…

01-抒写代码之诗:Golang 关键字的文学探索

&#x1f4c3;个人主页&#xff1a;个人主页 &#x1f525;系列专栏&#xff1a;Golang基础 &#x1f4ac;Go&#xff08;又称Golang&#xff09;是由Google开发的开源编程语言。它结合了静态类型的安全性和动态语言的灵活性&#xff0c;拥有高效的并发编程能力和简洁的语法。G…

chatgpt赋能python:Python如何开三次方根

Python如何开三次方根 Python是一种强大的编程语言&#xff0c;它被广泛用于数据科学、机器学习、Web开发和自动化等领域。在这篇文章中&#xff0c;我们将介绍如何用Python开三次方根。 什么是三次方根&#xff1f; 三次方根是一个数学术语&#xff0c;表示一个数的立方根。…

《统计学习方法》——条件随机场(上)

引言 这是统计学习方法第十一章条件随机场的阅读笔记&#xff0c;包含所有公式的详细推导。 条件随机场(conditional random field,CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型&#xff0c;其特点是假设输出随机变量构成马尔可夫随机场。 建议先阅…

chatgpt赋能python:Python和SEO:如何通过Python编程获得更好的结果?

Python和SEO&#xff1a;如何通过Python编程获得更好的结果&#xff1f; Python已经成为SEO行业和数字营销领域中的热门工具。Python编程语言可以提高SEO结果&#xff0c;加快啮合速度并获得更好的结果。在本篇文章中&#xff0c;我们将介绍Python编程语言在SEO中的应用&#…

docker容器的介绍

目录 一、docker介绍和安装 官方网站&#xff1a;Docker: Accelerated, Containerized Application Development 下载docker引擎地址&#xff1a;Install Docker Engine | Docker Documentation 安装步骤 1、卸载原来安装过的docker软件&#xff0c;如果没有安装则可以不用…

Spring注解使用

文章目录 前言存储Bean对象① 配置扫描路径 -② 使用注解存储Bean对象Controller(控制器存储) 这里讲一下Spring的调用流程 及 注解的含义getBean里面的命名规则使用⽅法注解&#xff1a;Bean 获取Bean对象1. 属性注⼊属性注入的优缺点 2. 构造⽅法注⼊ (官方推荐)构造方法注入…

【c++】static和const修饰类的成员变量或成员函数

目录 1、静态成员变量 2、静态成员函数 3、常函数 4、常对象 当我们使用c的关键字static修饰类中的成员变量和成员函数的时候&#xff0c;此时的成员变量和成员函数被称为静态成员。 静态成员包含&#xff1a; 静态成员变量静态成员函数 1、静态成员变量 静态成员变量有…

window系统:python3 + auto-py-to-exe 打包playwright为exe,内含独立浏览器

auto-py-to-exe的使用参考一下链接&#xff1a; 链接: python—auto-py-to-exe—.py文件打包成.exe文件最全最详细&#xff08;用不同的类别做教程&#xff09; 1、使用auto-py-to-exe打包playwright成exe&#xff0c;运行之后运行一直报错&#xff1a;FileNotFoundError: [Wi…

Java-API简析_java.lang.Character类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/131178778 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…