从原理总结chatGPT的Prompt的方法

news2025/1/10 16:45:53

一 什么是chatGPT

chatGPT全称是Generative Pre-trained Transformer,它是一种专注于对话生成的语言模型,可以根据用户的文本输入,做出相应的智能回答。chatGPT是由OpenAI于2018年研发的语言模型,其中OpenAI是于2015年由特斯拉的马斯克、Sam Altman及其他投资者创立,目标是开发出造福人类的AI技术。
chatGPT主要有如下特征:

  • 敢于质疑:对不正确的问题会反驳
  • 承认无知:承认自己知识的局限和不足,吸收对话人员的知识
  • 支持多轮对话
  • 主动承认错误:如果对话人对其答案不满足,它会承认自己的错误

二 ChatGPT的工作原理

这里不会做过多的算法公式深入,只是从浅显的表面介绍chatGPT,其作用是为如果做Prompt来做前提深入

2.1 核心原理

chatGPT的核心原理,用chatGPT自己的回答来说主要有三个部分:
Transformer模型:是一种基于自注意力机制的神经网络模型,被广泛应用于自然语言处理领域中的文本生成任务。简单来说,可以做长文本的处理,并支持下一轮对话
自监督预训练 :是指从无监督的原始数据中提取出有用的信息,从而训练神经网络。简单来说,就是它可以自己监督自己,获取信息训练自己。
Fine-Tuning微调 :在已经预训练好的模型的基础上,通过少量的数据对模型进行重新调整以适应新的下游任务。简单来说,就是不断的做自我的调整,优化模型和参数,使得对话回答更加高质量。

2.2 其他相关原理

除了chatGPT的核心原理,其实我们也需要关注相关的辅助基础模型原理,这些原理都是chatGPT可以正常交流的基础,因为ChatGPT是一种集成了语言运用、语义理解和世界知识的复杂模型。下面主要总结如下。

2.2.1 NLP模型

NLP全称是Natural Language Processing,翻译成中文是自然语言处理,简单来说,模型的设计主要是让计算机可以读懂人类语言,将文字转化为可以被计算识别的数字,向量或矩阵,再根据处理的数据结果,按照实际需求任务进一步处理。
NLP主要有两大任务:一类是文本序列输出,即根据给定的文本序列输出新的文本序列,这类常见的包括语言类的翻译,还有文本风格的转换;另一类是文本识别分类,这一类比较常见的包括情感分类以及关键实体的名词识别等。
NLP两大任务

2.2.2 GPT模型

GPT全称是Generative Pre-trained Transformer,中文是生成型预训练变换模型,其主要的作用是,通过录入的文本,来判断文本实际是人话的概率,并且可以根据文本来预测下一个位置出现文本字典对应各个文字的概率,概率大的即为实际要回复的文本。这里也就是2.1部分所说的核心原理,整个模型和模型结构是非常复杂的,这里不做过多的模型结果表述
在这里插入图片描述

2.2.3 RLHF模型

RLHF全称是Reinforcement Learning From Human Feedback,中文是人类反馈强化学习,该模型实际是强化学习的一种,其主要的原理是,通过机器与所处的环境进行交互,交互的结果会使用奖励或者惩罚的方式反馈给机器,机器会根据实际的反馈结果做自我的学习和自我的决策调整。该模型主要应用于游戏领域,一般是游戏机器和人进行博弈时,针对实际的有效状态做出不同的游戏机制,当游戏机制关卡开启后会开启下一个游戏的状态,依次进行。
RLHF这里的训练主要是有三个步骤:
第一步:预训练语言模型(SFT,Supervised fine-tuning),即提供基础的训练模型,做基础的参数初始化
第二步:收集数据并训练奖励模型(RM,Reward Model),即给出收集的数据,并根据训练结果给出奖励和惩罚的模型
第三步:通过强化学习微调语言模型 LM(LM,Language Model)
下图是RLHF源说明的经典图例:
RLHF原理

2.2.4 TAMER框架

TAMER的全称是Training an Agent Manually via Evaluative Reinforcement,对应中文是评估式强化人工训练代理,其主要的使用原因,从笔者的理解,是因为目前强化学习存在一些弊端。首先是强化学习需要做不同领域的数据收集和探索,其成本比较高;其次强化学习的收敛速度比较慢,不一定在短期内达到训练的效果;最后是因为强化学习整体的训练成本比较高。
为了加快训练速度,TAMER框架被引入,即通过人类标记者向Agents机器提供奖励反馈(即指导Agents进行训练),从而快速达到训练任务目标,不同人的参与和标识的知识,以奖励的形式训练Agent,可以帮助其快速收敛。
下图是TAMER比较经典的一张原理流程图:

TAMER流程

2.2.5 迁移学习

迁移学习英文是Transfer Learning,学术的解释是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。简单来说,迁移学习更像是举一反三的写照,比如研究麻雀,可以帮助研究其他鸟类;学习电子琴可以帮助高效学习钢琴。
迁移学习和监督学习、无监督学习有一定的联系。监督学习往往是在已有的大量的样本数据上进行的已有的学习训练模型,主要应用的场景包含回归和分类场景;无监督学习,往往是在样本不足甚至没有的场景下进行的学习训练模型,一般是做聚类场景比较多,比如K-Means聚类。
但是目前的监督和无监督学习存在的主要问题有如下:首先存在数据量大,但是不一定有完整标注的的数据,无法支持模型训练;其次虽然有数据,但是现有计算资源和数据量都是有限的无法做完整的训练;再者存在不同的个性化需求,同一个任务往往一个训练模型无法做到多种场景的个性化支持;另外也存在部分迁移或者冷启动的场景,数据和程序无法做完整支持。
迁移学习针对迁移的方法不同,可以分为如下几种:

  • 基于样本的迁移(Instance based Transfer Learning):即做数据样本的迁移,由于增加样本权重因素等场景需要可以做到样本的重复使用;
  • 基于模型迁移((Parameter/Model based Transfer Learning):即对模型的迁移,使得源域和目标域对象的参数可以共享,并做模型的重复使用;
  • 基于特征的迁移(Feature based Transfer Learning):即基于特征变换,将源域的和目标域做迁移,减少源域和目标域之间的差距;
  • 基于关系的迁移(Relation Based Transfer Learning):即基于源域以及其相关的逻辑关系进行迁移

2.3 chatGPT的发展

chatGPT自2018年开始研发到现在,其实发展了多个版本,由于训练数据的范围,在3.5版本之前它还没有联网搜索能力。因此ChatGPT3.5版本及之前版本只能基于2021年提供的数据做回答,比如它不知道2022年世界杯的冠军,也不知道2023年的春晚节目单。
自发布到现在,已经迭代多个版本,每一个版本迭代后,其参数量都是呈现爆炸式增长,可以参考如下:
参数量变化
参考折线图如下:
参数变化

三 如何做promot

3.1 基于原理的思考

如今最初使用chatGPT的人是否和笔者有同样的经历,在咨询chatGPT的时候,会有获得不到想要的答案的困惑。其实在总结上述的基础原理上可以很轻易了解,自己的困惑对应的问题出现在哪里,是否是自己根据实际机器的原理来做问题的回答。
综合上述原理,我们可以理解和机器沟通的技巧,应该要考虑:

  • 是否可以正常说出语言
  • 是否可以给出机器能听懂的语言
  • 是否可以提供给机器正确的反馈和要求
  • 是否了解自己想要什么

总结参考原理,沟通的要求可以参考如下图:
参考原理

3.2 经典范式

除了根据原理的思考外,我们更重要的是要总结,是否有统一的范式,可以帮助我们做更标准的沟通咨询,从而获得chatGPT的高质量回复。这里适用比较多的一种范式,是参考情景学习的方式
情景学习,即把咨询的问题要交代清楚是来自哪一个领域,最好是举一个例子,把chatGPT当做6、7岁的孩子做说教,有利于模型快速定位检索出实际需要的相关知识。其次最好有一个统一的格式来呈现说明的例子和问题及要求,这样可以方便chatGPT按照格式,根据规定依次按照顺序回答问题。

标准的范例参考如下格式:好的Prompt提示=立角色+说问题+给目标+补要求

  • 立角色:即给出实际的chatGPT角色,方便chatGPT快速定位业务领域
  • 说问题:说明自己要咨询的问题是什么
  • 给目标:即需要chatGPT输出一份怎样的结果给自己,即其任务是什么
  • 补要求:即对输出结果的要求补充,以及问题的前提条件

可以参考下图举例:

经典范式

3.3 来自chatGPT给的建议

如下是咨询chatGPT,chatGPT回复的几种prompt的方式参考
chatGPT回复

3.4 其他提示方式

也有推荐的几种提示词可以做参考:
方式1 :let’s think step by step(请按照步骤来思考)
当你需要了解分析思路和步骤时,可以使用这个指令
举例参考如下:
回复结果1

方式2:“Please provide a detailed explanation”(请提供详细说明)
当涉及到专业术语和名词的解释时,可以在问题后附加这一句话
范例2

方式3:“Please list the pros and cons”(请列出优缺点)
当你针对某个主题需要做选择或者建议时,需求chatGPT给出详细的建议,可以附加这个指令
参考样例如下:
范例3

方式4:“Can you provide a step-by-step guide?”(你能提供一步一步的指导吗?)
当你需要完成某个任务或学习某个技能时,这个指令可以让ChatGPT提供一个分步指南
参考样例如下:
范例4

方式5:“Can you break it down into simpler terms?”(你能把它分解成更简单的术语吗?)
咨询时,需要做必要说明时可以附加这个指令
参考样例如下:
范例5

3.5 针对范式的其他总结

目前不同行业领域也有不同的范式总结
使用chatGPT做回答,已经逐渐成为自己的一种生活助手和工作提效工具,更好的咨询可以帮助为工作和生活更好的赋能
其他资料包,可以自行参考总结,目前笔者收集可提供的资源链接参考:ChatGPT的Prompt相关资料汇总,如有需要,可以自行免费下载

四 关于ChatGPT的总结

4.1 可以考虑的应用场景

首先chatGPT应用的场景很多,不仅仅做简单的问答,笔者梳理可参考的场景如下:
应用场景

4.2 ChatGPT如何发挥更大效果的思考

chatGPT的应用可以结合不同的AI自动化工具或者其他应用工具实现,能够发挥其意想不到的效果。
比如chatGPT可以输出文案,比如小红书格式的文本;也可以使用相关自动PPT工具,自动生成PPT,参考PPT自动生成工具:mindshow;利用chatGPT也可以输出画图的相关脚本,做出简单的流程图;chatGPT做知识框架梳理也是非常无敌,可以根据实际输出的结果,转化成md格式,直接打开脑图。
参考如下是chatGPT输出的Excel基础知识框架
chatGPT的输出结果展示

4.3 chatGPT相关缺点

ChaTGPT也有一些缺点需要参考借鉴:
1.可能会胡说八道: 如果相关领域的资料缺乏,或者相关语言资料缺乏,chatGPT仍然会给出一个回答,但是这种答案可能是错误的,容易误导人,所以结果需要自己再做一轮检验
2.无法处理复杂语言结构: ChatGPT无法处理复杂冗长或者特别专业的语言结构,对于金融、自然科学或医学等非常专业领域的问题,如果没有进行足够训练,ChatGPT可能无法生成适当的回答
3.需要考虑性能问题:chatGPT的机器涉及到数十亿的参数模型,需要惊人的计算资源和大算力服务器支持,需要考虑实际的运行成本
4.需要谨慎非法场景:提问时,需要小心考虑相关提问的私人信息会被收集;另外也会存在被某些人滥用来制造虚假信息和虚假内容等,防止上当受骗
5.需要考虑其主观的色彩 :如果训练内容不足,回复的结果容易生成带有偏见、歧视和不符合伦理的内容(训练使用的数据集里就存在),因此不能保证ChatGPT不会产生攻击甚至伤害用户的表述
6.回复依赖问题的提问方式:某些任务的返回结果受提示词的影响较大,如果问的方式不对,回复可能不是想要的结果,因此提问人需要考虑如何优化自己的提问方式

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

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

相关文章

Postman新手教程

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶 目录 文章目录 一、Postman背景介绍 二、Postman下载地址 三、Postman简单使用 一、Postman背景介绍 Postman是Chrome插件类产品中的代表产品之一,这款网页调试工具不仅可以调…

位图布隆过滤器

位图 概念:就是用每一位来存放某种状态,适用于海量数据,数据无重复的场景。通常是用来判断某个数据存不存在的。 比如,需要在40亿个整数中,查看某个数是否存在? 1G1024M*1024KB*1024B~10亿字节~80亿比特。…

k8s实战篇1-用minikube发布服务hello-minikube

1 安装minikube curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 sudo install minikube-darwin-amd64 /usr/local/bin/minikube 2 Install kubectl binary with curl on macOS 1 Download the latest release: curl -LO "h…

Eclipse Ⅶ

哈喽各位,今天继续分享第七部分的内容,喜欢可以点赞和收藏,这是我的动力来源hahahhah! 今天谈谈Eclipse 生成 jar 包、Eclipse 关闭项目以及Eclipse 编译项目。 废话不多说,开始咯! Eclipse 生成 jar 包…

Linux常见指令-2

我们本期继续学习Linux基本指令,没有看过第一期的小伙伴建议先看第一期 (4条消息) Linux常见指令-1_KLZUQ的博客-CSDN博客 目录 15.时间相关指令 16.cal指令 17.find指令 18.grep指令 19.zip/unzip指令 20.tar指令 21.bc指令 22.uname –r指令 22.重要的几…

PMP考试总结-2023-05-27

目录 前言 为什么会参加PMP考试? 那么什么是PMP? Plan 目标: 方式方法: 达标标准: Do 执行内容: Check 执行效果 计划的复盘 一、考试前及当天的计划: 二、整个备考计划&#xff…

如何正确地使用ES6提高我们的代码质量

前言 相信每个前端工程师,或者了解前端的人都知道ES6。它是js的一次巨变,它为我们开发js前端项目的时候带来了许多更好的去书写代码的方式。但是很多时候我们可能都没有过度地去关注优化代码这一块内容,哪怕有也只是注意到了一些比较大众化&…

Linux进程概念引入

文章目录 冯诺依曼体系操作系统概念设计目的定位系统调用和库函数的概念 进程概念描述进程PCBtask_struct内容分类 组织进程查看进程通过系统调用获取进程标识符通过系统调用创建进程 冯诺依曼体系 目前我们的计算机基本都是遵守冯诺依曼体系的,在冯诺依曼体系中&am…

[Kubernetes] - RabbitMQ学习

1.消息队列 消息: 在应用间传送的数据队列,先进先出 1.2. 作用 好处:解耦, 容错,削峰坏处:降低系统可用性,系统复杂度提高,一致性问题; RabbitMQ组成部分&#xff1a…

云上高校导航 导入 与 配置教程

开通 云开发 功能(首月免费,次月19.9),激活 云数据库、云存储和云函数 功能。 将 项目 文件夹下 最新版本的 文件夹下的 Cloud-based_University_Navigation 整个文件夹 复制到项目路径下(比如 D:\WeChatProjects&…

Zabbix Server Api批量添加Zabbix Agent

脚本或使用自动化工具来批量添加Zabbix Agent,从而减少手动操作和提高效率 使用API添加主机可以减少人为错误的发生。通过自动化和脚本,可以确保正确的配置被应用到每个主机上,避免了手动操作可能导致的配置错误。 使用前提条件 1、zabbix…

C919用了哪些人工智能(AI)技术?

#国产大飞机C919商业首飞#近日,C919在国人的期盼下终于迎来了首次商飞,机票已公开售卖。众所周知,C919是一款全新的、先进的大飞机,那你知道它采用了哪些新的人工智能(AI)技术吗?下面让我来为大…

[golang 微服务] 2. RPC架构介绍以及通过RPC实现微服务

一.简介 在上一节简单了解了微服务定义和优缺点之后,在使用微服务框架之前,需要首先了解一下RPC架构,通过RPC可以更形象了解微服务的工作流程 RPC的概念 RPC(Remote Procedure Call Protocol),是 远程过程调用的缩写,通俗的说就是…

【提示学习】HPT: Hierarchy-aware Prompt Tuning for Hierarchical Text Classification

论文信息 名称内容论文标题HPT: Hierarchy-aware Prompt Tuning for Hierarchical Text Classification论文地址https://arxiv.org/abs/2204.13413研究领域NLP, 文本分类, 提示学习, 层级标签文本分类提出模型HPT(Hierarchy-aware Prompt Tuning)来源EMNLP 2022源码https://gi…

SpringBoot AOP切面编程 使用案例

参考资料 Springboot AOP实现指定敏感字段数据加密 (数据加密篇 二)【SpringBoot-3】切面AOP实现权限校验:实例演示与注解全解【小家Spring】Spring AOP中Pointcut切入点表达式最全面使用介绍AOP编程过程中的Signature接口 本篇文章核心思想…

(详解)vue中实现主题切换的三种方式

目录 一、背景 二、实现思路 方法1:定义全局的CSS变量 方法2:切换已定义好的css文件 方法3:切换顶级CSS类名 (需使用css处理器,如sass、less等) 一、背景 在我们开发中我们会遇到像是需要切换程序风格、主题切换啦这种应用场景。 参考大佬…

经典智能合约案例之发红包

经典智能合约案例:发红包 角色分析:发红包的人和抢红包的人 功能分析: 发红包:发红包的功能,可以借助构造函数实现,核心是将ether打入合约; 抢红包:抢红包的功能,抢成…

Flume系列:案例-Flume 聚合拓扑(常见的日志收集结构)

目录 Apache Hadoop生态-目录汇总-持续更新 1:案例需求-实现聚合拓扑结构 3:实现步骤: 2.1:实现flume1.conf - sink端口4141 2.2:实现flume2.conf- sink端口4141 2.3:实现flume3.conf - 监听端口4141 …

32 KVM管理系统资源-管理虚拟内存热插

文章目录 32 KVM管理系统资源-管理虚拟内存热插32.1 概述32.2 约束限制32.3 操作步骤32.3.1 配置虚拟机XML32.3.2 热插并上线内存 32 KVM管理系统资源-管理虚拟内存热插 32.1 概述 在虚拟化场景下,虚拟机的内存、CPU、外部设备都是软件模拟呈现的,因此…

深度学习进阶篇-国内预训练模型[5]:ERINE、ERNIE 3.0、ERNIE-的设计思路、模型结构、应用场景等详解

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…