基于大模型的优质Prompt开发课(2)--学习笔记ing
Prompt优化思路
改进前:
问题分析
尽管我们让模型做“大家都比较点赞的那种”,但模型并不知道我们更偏爱什么样审美,也不知道化作应该精细到什么程度。
即使给定了细节描述,但模型显然并没有完全按照我们想象中的方式去做。
描述画面占用了大量篇幅,但生成效果仍然一般,Prompt的内容不够高效。
思路解析
- 缺乏细节描述:找到更多“细节词” 进行补充来解决
- 为把握重点:提升大模型对重点词敏感度来解决
- Prompt过长:寻找不依赖“细节词”的方法提升效果
改进后:
Prompt优化原理
通俗来说:给模型输入什么数据,模型就会尝试学习什么内容。
不妨模仿这种分词的方式来表达需求:
十个技巧高效优化Prompt
三大类 | 十个技巧
通用技巧 | 定基础
小试牛刀:任务 + 内容主体 能否生成出一个还可以的答案?
还不OK?
通用技巧 | 做强调
以专业影评为例:
一般会覆盖情节、主题和基调、演技和角色、方向、配乐、电影摄影、制作设计、特效、剪辑、节奏、对话等主题
需求强调
- 顺序:因为训练时的预料长度并非是固定字数,所以越靠后的需求描述越有可能会“权重降低”,将对应需求靠前排布会更有助于提升影响。
- 强调词:描述某一点是自己非常看重的内容,增加“非常”、“强调”、“务必”等词来强调自己需求重要程度。
- 语言风格:优化个人语言表达尽可能官方、清晰、有逻辑。
通用技巧 | 提预设
交互更多是细节的展示以及内容延伸
不建议作为细碎的需求修改方式,因为模型能够记忆的内容可能会随多次对话而失去信息
预设大模型的功能以及使用方式,后续更换其他主体词时能够达到事半功倍的效果。
Trick法 | 戴高帽
实际上并不需要加一堆细节词,只需要加入一句“你就是游戏大作的特效师”就能得到很不错的效果,这就叫戴高帽。
举个例子:
某大师级摄影师拍了一张喀纳斯湖风景照,然后把作品命名为新疆喀纳斯奇观,那么这组数据经过加标签、提取对象等操
作后可能是“xxx大师,新疆喀纳斯,巨大湖面,奇观……,而其他喀纳斯湖的照片就质量高,也不会有“大师”标签。
同理,我们如果想生成某种风格的画面,也可以把风格名字带上去,例如像素风、二次元、赛博朋克等。
对于文本生成任务,戴高帽同样适用:
Trick法 | 说好话
一般在教小孩子的时候,父母或老师会说:“多想一想”、“你这个答案是怎么得到的呀”这样的话就能得到更好的效果
大模型也适用,因为加入了适用于学习“思维链”的数据
同理,由于人类沟通中比较礼貌、友善的数据更容易被回复更准确的答案。
因此我们在输入Prompt的时候,也多些礼貌友善,能获得更好的效果哦~
不适用思维链
输入:计算1+1/2
输出:等于1.5
适用思维链
输入:计算1+1/2,请给出步骤与答案
输出:由于四则运算中除法优先级高于
加法,故需要先计算1/2,所以进行
1+0.5计算,可得最终结果为1.5。
Trick法 | 给提示(Few-shot)
提供少量样本,让模型去摸索规律,然后根据你的规律给你答案
Trick法 | 给假设
尽管我们使用了很多方式让模型生成效果尽可能更加准确,但如上节课所讲,由于数据和采样策略的原因,我们很
难保证大模型在生成时不会说胡话,那么使用“增加假设”的方式就可以让模型在有些犹豫时不进行瞎说。
# 一个根本不存在的学校,大模型在开始“瞎说”
优化后的Prompt:如果你的数据存在问题,例如数据不准确、缺乏时效性等情况。那么可以给出否定答复,例如:目前没有相关数据可供参考。
很重要的一个环节,我们有时候并不知道怎么样表达,才能让大模型知道我们想要输出的内容。此时借助工具会是一个很好的办法
工具辅助 | 做检索
不知道好看的文字或图怎样去生成,可以参考:
...
工具辅助 | 做检索
不知道如何优化自己的Prompt
工具辅助 | 搞收纳
想把自己找到的一些Prompt收集起来