大语言模型系列-提示工程

文章目录

  • 前言
  • 一、Prompt Learning
  • 二、上下文学习(In-Context Learning)
  • 三、指示学习(Instruction Learning)
  • 四、思维链(Chain-of-Thought)
  • 总结


前言

前文提到自BERT以来,LLM的训练范式变为预训练-微调,然而由于下游任务的微调仍需要大量数据集,并且并不一定能得到很好的效果,因此自GPT-3以来,学者们开始广泛研究预训练-提示工程范式

ps:这里的提示工程指的是广泛意义上不需要重新训练模型(改变模型梯度)的情况下,通过对输入进行改变从而提升预测精度的方法,包含提示学习(Prompt Learning)、上下文学习(In-Context Learning)、指示学习(Instruction Learning)、思维链(Chain-of-Thought)等。


一、Prompt Learning

最初的Prompt Learning就是类似完形填空类的输入,如:

情感分析:给女朋友买了这个项链,她很喜欢。这句话的情感是____。

这样以来,通过选取合适的prompt,我们可以控制模型预测输出,从而一个完全无监督训练的PLM可以被用来解决各种各样的下游任务。

Prompt Learning 的本质:将所有下游任务统一成预训练任务;以特定的模板,将下游任务的数据转成自然语言形式,充分挖掘预训练模型本身的能力。本质上就是设计一个比较契合上游预训练任务的模板,通过模板的设计就是挖掘出上游预训练模型的潜力,让上游的预训练模型在尽量不需要标注数据的情况下比较好的完成下游的任务,关键包括3个步骤:

  1. 设计预训练语言模型的任务
  2. 设计输入模板样式(Prompt Engineering)
  3. 设计label 样式及模型的输出映射到label 的方式(Answer Engineering)

缺点:Prompt Learning都是针对单个任务的,泛化能力弱,比如做个情感分析任务的 prompt tuning,精调完的模型只能用于情感分析任务。

二、上下文学习(In-Context Learning)

简单的Prompt Learning可以认为是先前的zero-shot。这种不加限制或者提醒的方式可能使得模型的回答文不对题。

因此延伸出给予上下文提示的方法,few-shot和one-shot,前面已经提过不再赘述,举例如下:

zero-shot:“销售->”
one-shot:“你好->hello,销售->”
few-shot:“你好->hello,再见->goodbye,购买->purchase,销售->”

缺点:仍针对单个任务的,泛化能力弱。

三、指示学习(Instruction Learning)

相比于提示学习更加明确,会给出明确的指令说明,或者直接给出任务描述:

例1:
判断这句话的情感:给女朋友买了这个项链,她很喜欢。选项:A=好;B=一般;C=差。

例2:
您是一名旅行规划师,通过提供有关目的地、住宿、景点和交通选项的信息来帮助用户制定旅行计划。根据用户的喜好、预算和旅行目标提供量身定制的建议,并分享实用技巧,帮助他们度过一次难忘而愉快的旅行。

优点:与Prompt Tuning相比,Instruct-Tuning更加通用,因为它不仅仅限于某个任务的特定模板,而是可以在任何需要理解指令的任务中使用。

缺点:但是Instruct-tuning对模型的容量有要求,在大模型上表现出色,而在小模型上表现不佳。

四、思维链(Chain-of-Thought)

In-Context Learning的提出改善了模型的输出,但是对于一些复杂的逻辑推理或者言语理解的场景,仍然不能很好的得出结论,这也说明了LLM智能上的局限性。

为了解决上述问题,2022年初,谷歌团队提出了思维链(Chain-of-Thought),旨在进一步提高超大规模模型在一些复杂任务上的推理能力。

思维链是一种特殊的In-Context Learning,对于每个挑选的In-Context Example,除了给出Input-Output Mapping外,还需要给出一个推理过程,称为Relationale或Reasoning Path,其是一个具有逻辑推理过程的短文本。

思维链实质上是问题分解,举例如下:

在这里插入图片描述


总结

合适的提示工程非常重要,prompt的微小差别,都可能会造成效果的巨大差异。一般需要包含明确的角色、任务、上下文、要求(对任务的补充)等。

例如:

任务:为电影[消失的她]写一则无剧透的影视评论任何➕要求:为杭州亚运会赋诗一首,要求表达出对杭州亚运会的美好期待和祝福。

角色+任务+要求:请作为一名媒体编辑,写一个[九九重阳节全民开启登山活动]的新闻报道的标题,要求主题明确、结构合理、节奏鲜明、风格独特。

上下文+任务:想象一下你置身于一个魔法世界,你的魔法能力是可以随心所欲地创造出任何东西。现在,请写一篇关于你如何使用这个魔法能力的故事。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#-WPF 入门

WPF 应用 使用 Visual Studio 创建新应用教程 - WPF .NET | Microsoft Learn Windows Presentation Foundation (WPF) ,这是一个与分辨率无关的 UI 框架,使用基于矢量的呈现引擎,构建用于利用现代图形硬件。 WPF 提供一套完善的应用程序开发…

软考68-上午题-【面向对象技术2-UML】-事物

一、事物 UML中有4种事物: 结构事物;(模型的静态部分)行为事物;(模型的动态部分)分组事物;注释事物。 1-1、结构事物 静态图:类图、对象图、用例图 1-2、行为事物 动态…

【CSS面试题】外边距折叠的原因和解决

参考文章 什么时候出现外边距塌陷 外边距塌陷,也叫外边距折叠,在普通文档流中,在垂直方向上的2个或多个相邻的块级元素(父子或者兄弟)外边距合并成一个外边距的现象,不过只有上下外边距才会有塌陷&#x…

抖音开放平台第三方开发,实现代小程序备案申请

大家好,我是小悟 抖音小程序备案整体流程总共分为五个环节:备案信息填写、平台初审、工信部短信核验、通管局审核和备案成功。 服务商可以代小程序发起备案申请。在申请小程序备案之前,需要确保小程序基本信息已填写完成、小程序至少存在一个…

C++程序设计-练手题集合【期末复习|考研复习】

前言 总结整理不易,希望大家点赞收藏。 给大家整理了一下C程序设计中的练手题,以供大家期末复习和考研复习的时候使用。 C程序设计系列文章传送门: 第一章 面向对象基础 第四/五章 函数和类和对象 第六/七/八章 运算符重载/包含与继承/虚函数…

基于Springboot的高校竞赛管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的高校竞赛管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

lucky-canvas实现老虎机、九宫格和大转盘抽奖

lucky-canvas是一款开源免费的基于 jscanvas 的前端插件,UI精美,功能强大,使用起来比较方便。 lucky-canvas官网https://100px.net/ 一、使用 注意:下例是vue中的应用,具体还有js和uniapp中的应用,详细查…

面向对象(精髓)变继承关系为组和关系(_Decorator模式)

在软件开发中,设计模式是解决常见问题的可重用解决方案。在面向对象编程中,继承和组合是两种常用的代码复用方式。然而,随着软件需求的不断变化,我们需要更灵活的设计方式来应对不断变化的需求。在本文中,我们将讨论从…

手机和电脑同步的好用记事本软件有哪些

我常常需要随手记录各种信息,以便随时查阅和使用。比如,在下班路上,我会用手机记录明天要处理的工作事项、购物清单,或是某个突然迸发的创意想法;而在办公室,我则需要在电脑上整理会议纪要、项目计划&#…

2024年华为HCIA-DATACOM新增题库(H12-811)

801、[单选题]178/832、在系统视图下键入什么命令可以切换到用户视图? A quit B souter C system-view D user-view 试题答案:A 试题解析:在系统视图下键入quit命令退出到用户视图。因此答案选A。 802、[单选题]“网络管理员在三层交换机上创建了V…

(黑马出品_07)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

(黑马出品_07)SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术分布式搜索 今日目标1.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket聚合语法1.2.2.聚合结果排序1.2.3.限定聚合范围1.2.4.Metric聚合语法1.2.5.小…

基于物联网的智能辅助泊车系统设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 物联网技术 3 1.2 JFinal框架技术 3 1.3 uni-app技术 4 1.4 本章小结 4 2 智能辅助泊车系统的分析 5 2.1 需求分析 5 2. 1.1 系统的功能需求 5 2. 1.2 系统的非功能需求 5 2. 1.3 系统业…

Axios中每次发送post请求前都会发送options请求

今天写前端的时候,发现每次post请求都会失败, 反复调试过后发现axios在每次发送post请求前都发送了options请求, 在网络搜罗了一大圈, 发现了原因是因为web页面发送了请求给vue后, vue再请求后端过程中发生了跨域&…

Covalent(CQT)降低数据可用性成本,加快 Layer2 在 Web3 领域的扩张

Covalent Network(CQT)通过其统一 API,正在为 EVM Layer2 生态系统提供支持,减少了开发者需要导航多个数据供应商的需求,通过解决多链环境中的碎片化挑战,极大地提高了他们的效率。 通过其统一 API 支持 2…

pandas plot函数:数据可视化的快捷通道

一般来说,我们先用pandas分析数据,然后用matplotlib之类的可视化库来显示分析结果。而pandas库中有一个强大的工具--plot函数,可以使数据可视化变得简单而高效。 1. plot 函数简介 plot函数是pandas中用于数据可视化的一个重要工具&#xff0…

Tomcat Web 开发项目构建教程

1下载Tomcat安装包,下载链接:Apache Tomcat - Welcome!,我电脑环境为JDK8,所以下载Tomcat9.0 2、下载完压缩包后,解压到指定位置 3.在intelij中新建一个项目 4.选中创建的项目,双击shift,输入add frame...然…

安卓studio安装(从安装到配置到helloworld)

安卓studio安装 2024.3.11官网的版本(有些翻墙步骤下载东西也解决了) 这次写的略有草率,后面会更新布局的,因为截图量太大了,有需要的小伙伴可以试着接受一下哈哈哈哈 !(https://gitee.com/jiuzheyangbawjf/img/raw/ma…

报名开启丨掘金海外,探寻泛娱乐社交APP出海新风口

随着国内泛娱乐行业用户规模趋于见顶,泛娱乐社交APP转向出海是必然趋势。 根据行业数据显示,有超过35%的国内实时社交企业已启动或者正在规划出海,而其中出海商户的音视频流量增长均超过了100%。尤其是在东南亚、中东、拉美等新兴…

【Linux】文件缓冲区|理解文件系统

目录 预备知识 观察现象 第一:携带\n,不使用fork(),打印到显示器 第二:携带\n,使用fork(),打印到显示器 第三:携带\n,使用fork(),打印到文件里 第四:不携…

Aspose.Words指定位置插入table

如果在创建书签,然后在书签位置插入表格,会出现格式错乱,在单元格位置里面有一个表格,不符合实际使用。正确做法是复制模板文件里面的表格行,然后插入若干行。 如图标记红色位置插入动态数据行,是先复制标…