您现在的位置是:首页 >学无止境 >从原理总结chatGPT的Prompt的方法网站首页学无止境
从原理总结chatGPT的Prompt的方法
一 什么是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主要有两大任务:一类是文本序列输出,即根据给定的文本序列输出新的文本序列,这类常见的包括语言类的翻译,还有文本风格的转换;另一类是文本识别分类,这一类比较常见的包括情感分类以及关键实体的名词识别等。
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源说明的经典图例:
2.2.4 TAMER框架
TAMER的全称是Training an Agent Manually via Evaluative Reinforcement,对应中文是评估式强化人工训练代理,其主要的使用原因,从笔者的理解,是因为目前强化学习存在一些弊端。首先是强化学习需要做不同领域的数据收集和探索,其成本比较高;其次强化学习的收敛速度比较慢,不一定在短期内达到训练的效果;最后是因为强化学习整体的训练成本比较高。
为了加快训练速度,TAMER框架被引入,即通过人类标记者向Agents机器提供奖励反馈(即指导Agents进行训练),从而快速达到训练任务目标,不同人的参与和标识的知识,以奖励的形式训练Agent,可以帮助其快速收敛。
下图是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的方式参考
3.4 其他提示方式
也有推荐的几种提示词可以做参考:
方式1 :let’s think step by step(请按照步骤来思考)
当你需要了解分析思路和步骤时,可以使用这个指令
举例参考如下:
方式2:“Please provide a detailed explanation”(请提供详细说明)
当涉及到专业术语和名词的解释时,可以在问题后附加这一句话
方式3:“Please list the pros and cons”(请列出优缺点)
当你针对某个主题需要做选择或者建议时,需求chatGPT给出详细的建议,可以附加这个指令
参考样例如下:
方式4:“Can you provide a step-by-step guide?”(你能提供一步一步的指导吗?)
当你需要完成某个任务或学习某个技能时,这个指令可以让ChatGPT提供一个分步指南
参考样例如下:
方式5:“Can you break it down into simpler terms?”(你能把它分解成更简单的术语吗?)
咨询时,需要做必要说明时可以附加这个指令
参考样例如下:
3.5 针对范式的其他总结
目前不同行业领域也有不同的范式总结
使用chatGPT做回答,已经逐渐成为自己的一种生活助手和工作提效工具,更好的咨询可以帮助为工作和生活更好的赋能
其他资料包,可以自行参考总结,目前笔者收集可提供的资源链接参考:ChatGPT的Prompt相关资料汇总,如有需要,可以自行免费下载
四 关于ChatGPT的总结
4.1 可以考虑的应用场景
首先chatGPT应用的场景很多,不仅仅做简单的问答,笔者梳理可参考的场景如下:
4.2 ChatGPT如何发挥更大效果的思考
chatGPT的应用可以结合不同的AI自动化工具或者其他应用工具实现,能够发挥其意想不到的效果。
比如chatGPT可以输出文案,比如小红书格式的文本;也可以使用相关自动PPT工具,自动生成PPT,参考PPT自动生成工具:mindshow;利用chatGPT也可以输出画图的相关脚本,做出简单的流程图;chatGPT做知识框架梳理也是非常无敌,可以根据实际输出的结果,转化成md格式,直接打开脑图。
参考如下是chatGPT输出的Excel基础知识框架
4.3 chatGPT相关缺点
ChaTGPT也有一些缺点需要参考借鉴:
1.可能会胡说八道: 如果相关领域的资料缺乏,或者相关语言资料缺乏,chatGPT仍然会给出一个回答,但是这种答案可能是错误的,容易误导人,所以结果需要自己再做一轮检验
2.无法处理复杂语言结构: ChatGPT无法处理复杂冗长或者特别专业的语言结构,对于金融、自然科学或医学等非常专业领域的问题,如果没有进行足够训练,ChatGPT可能无法生成适当的回答
3.需要考虑性能问题:chatGPT的机器涉及到数十亿的参数模型,需要惊人的计算资源和大算力服务器支持,需要考虑实际的运行成本
4.需要谨慎非法场景:提问时,需要小心考虑相关提问的私人信息会被收集;另外也会存在被某些人滥用来制造虚假信息和虚假内容等,防止上当受骗
5.需要考虑其主观的色彩 :如果训练内容不足,回复的结果容易生成带有偏见、歧视和不符合伦理的内容(训练使用的数据集里就存在),因此不能保证ChatGPT不会产生攻击甚至伤害用户的表述
6.回复依赖问题的提问方式:某些任务的返回结果受提示词的影响较大,如果问的方式不对,回复可能不是想要的结果,因此提问人需要考虑如何优化自己的提问方式