#Prompt##提示词工程##AIGC##LLM#使用大型预训练语言模型的关键考量


如果有不清楚的地方可以评论区留言,我会给大家补上的!

本文包括:

Prompt 的一些行业术语介绍

Prompt 写好提示词的方法经验介绍(附示例教程)

LLM自身存在的问题(可以用Prompt解决的以及无法用Prompt解决的)

技术性能与策略

性能指标

  • 精确度 (Precision):选出的东西中,有多少是正确的。(准确-谨慎则高)
  • 召回率 (Recall):所有应该被挑选出来的东西中,实际上有多少被挑选出来了。(全面-宽松则高)
  • F1得分 (F1):同时考虑精确度和召回率,给出一个综合的评分。如果你的F1得分很高,那么你在挑选时既准确又全面。
  • 模板粘性 (Template Stickiness):在语言模型中,模板粘性描述的是模型在多次使用相同的提示或模板时,保持一致性的能力。高粘性意味着模型很可能重复使用相同的方式来回应,而低粘性意味着模型的回应可能会有更多的变化。(灵活则低)

输入方法

定向刺激提示与标准提示
定向刺激:需要特定信息或在特定情境下的问题

详细地说明,"这是一朵玫瑰,它有红色的花瓣和带刺的茎。" 你给予的信息是具体的、有方向的,旨在引导他更准确地识别玫瑰。
标准提示:普遍性回答的场景

"这是一朵花,你认为是什么种类?"这里你没有给出具体的指引,只是提出了一个开放式的问题。标准提示就是这样,它不包含额外的指导或信息,让模型自己去解释和回答。这种提示更加通用,可以适用于更多的情况,但可能不会像定向刺激提示那样引导出特定类型的回答。

输入:问题+文本+选项

输出:基本原理+回答
程序辅助语言模型 (PAL)

复制代码
输入(用户提供):
提示(用户给模型):
我有一系列的数字:3, 7, 2, 8。我需要计算它们的总和。请写一个Python脚本来计算这些数字的总和。


输出(模型生成):
回答(模型给出的Python脚本):
# Python脚本来计算数字总和
numbers = [3, 7, 2, 8]
total_sum = sum(numbers)
print("数字的总和是:", total_sum)

提示词列表

随机指示必须出现的词语

(比如儿童list[

"王子", "公主", "巫婆", "巨人", "精灵", "小动物",

"魔法", "魔法森林", "魔法法杖", "魔法咒语",

"冒险", "困难", "危险",

"友情", "朋友", "支持", "关心",

"爱情", "浪漫",

"家庭", "亲子关系",

"冒险之旅", "未知世界", "新朋友",

"奇幻世界", "仙境", "仙女王国", "奇幻森林",

"教育", "道德", "品德", "解决问题",

"快乐结局",

"魔毯", "魔镜", "魔法戒指"

])

训练数据、教科书式训练、扩充训练:目标受众对应训练数据不一样

策略定义与应用

  • Baseline: 标准使用,无特殊策略。
  • CoT (Chain of Thought): 提供推理链的示例来帮助模型分步骤解决问题。
  • Zero-CoT: 不提供示例,要求模型自发推理。
  • **Auto-CoT:**内部进行推理但不显示全部过程的系统。

Auto-CoT通常是通过训练过程中使用特定的数据集和训练策略来实现的,让模型学会在给出答案前先展现出解题的逻辑链条。

  • +inst (instructions) : 添加说明以指导模型回答。
    • +rawinst: 用户直接提供指导。"请按照五段式论文的格式回答以下问题..."
    • +sysinst: 系统提供角色和任务说明。"作为一个旅行顾问,你应该提供..."
    • +bothinst: 指导分为用户消息和系统消息。
      | 简称 | 描述 | |
      | --- | --- | --- |
      | Baseline | 标准的回答模式,不使用任何特别的指导或推理策略。 | "巴黎是哪个国家的首都?" -> "巴黎是法国的首都。" |
      | CoT | 展示解决问题的思考过程,通常用于复杂问题的逐步推理。 | "如果我有3个苹果,吃掉了一个,我还有几个?" -> "你开始有3个苹果,吃掉1个,所以3-1=2。你还有2个苹果。" |
      | Zero-CoT | 不展示推理过程,直接给出答案。 | "如果我有3个苹果,吃掉了一个,我还有几个?" -> "你还有2个苹果。" |
      | rawinst | 用户提供明确的指导来告诉模型如何回答问题。 | 用户提示: "用诗的形式告诉我太阳的重要性。" -> 模型回答: "太阳,天空的炽热之心..." |
      | sysinst | 系统提供的角色和任务说明,指导模型如何回答。 | 系统提示: "作为历史老师,解释一下法国大革命。" -> 模型回答: "法国大革命是..." |
      | bothinst | 结合用户和系统的指令来指导模型。 | 系统提示: "作为科学家...", 用户提示: "...解释黑洞。" -> 模型回答: "黑洞是..." |
      | mock | 通过模拟对话来提供指令,通常用于角色扮演。 | "如果我是国王,你作为顾问会告诉我什么?" -> "陛下,我建议..." |
      | reit | 通过重复关键说明来强化指导。 | "请记住,每次回答都要提到数据。数据显示..." -> 模型每次回答时都会提及数据。 |
      | strict | 要求模型严格按照给定的模板回答。 | "按照五段论格式回答..." -> 模型回答会有明确的介绍、三个支撑段落和结论。 |
      | loose | 允许模型在给定的框架内自由发挥。 | "你可以自由地讨论关于月球的事实。" -> 模型提供了一系列有关月球的有趣事实。 |
      | right | 要求模型得出正确的结论,强调准确性。 | "确保你的回答是科学上正确的..." -> 模型回答时会重点确保信息的准确性。 |
      | info | 提供额外的信息以解决常见的推理失败。 | "考虑到地球是圆的,解释日落。" -> 模型会利用这个信息来解释日落。 |
      | name | 为模型提供一个名称,有助于在对话中建立身份和上下文。 | "你叫什么名字?" -> "你可以叫我Alex。" |
      | pos | 在查询之前向模型提供积极的反馈。 | "你之前的解释非常好,请继续这样解释..." -> 模型在后续的回答中会保持同样的风格。 |

实例说明

  • 用例分析:使用CoT策略提高解决数学问题的准确率。
  • 性能提升 :在使用+bothinst策略时,F1得分提升至87.5%。
    | 提示修改 | 精确度(Precision) | 召回率(Recall) | F1得分(F1) | 模板粘性(Template Stickiness)模板粘性(模板粘性) |
    | --- | --- | --- | --- | --- |
    | 基线 (Baseline)基线(Baseline) | 61.2 | 70.6 | 65.6 | 79% |
    | CoT | 72.6 | 85.1 | 78.4 | 87% |
    | Zero-CoT | 75.5 | 88.3 | 81.4 | 65% |
    | +rawinst | 80 | 92.4 | 85.8 | 68% |
    | +sysinst | 77.7 | 90.9 | 83.8 | 69% |
    | +bothinst | 81.9 | 93.9 | 87.5 | 71% |
    | +bothinst+mock | 83.3 | 95.1 | 88.8 | 74% |
    | +bothinst+mock+reit | 83.8 | 95.5 | 89.3 | 75% |
    | +bothinst+mock+reit+strict | 79.9 | 93.7 | 86.3 | 98% |
    | +bothinst+mock+reit+loose | 80.5 | 94.8 | 87.1 | 95% |
    | +bothinst+mock+reit+right | 84 | 95.9 | 89.6 | 77% |
    | +bothinst+mock+reit+right+info | 84.9 | 96.5 | 90.3 | 77% |
    | +bothinst+mock+reit+right+info+name+ | 85.7 | 96.8 | 90.9 | 79% |
    | +bothinst+mock+reit+right+info+name+pos | 86.9 | 97 | 91.7 | 81% |

文化考量与偏见

语言与文化关联

https://arxiv.org/pdf/2303.17466.pdf

  • 文化适应性 :通过添加特定文化提示,减少模型回应的文化差异。
    • 英语与美国文化
    • 汉语与中国文化

文化偏见

https://arxiv.org/ftp/arxiv/papers/2303/2303.16281.pdf

  • GPT文化偏见问题:指出GPT等模型在处理不同文化背景的输入时可能存在的偏见。
  • 重要性:数字平台在社会领域的广泛影响和跨学科合作的必要性。

改进措施

  • 案例研究:分析数字平台如搜索引擎和社交媒体在文化表达上的差异。
  • 多学科合作:推动计算机科学与人文社会科学的交流合作。

模型的逻辑连贯性

GPT逻辑步骤

  • 跳步问题:连续逻辑步骤中的错误累积可能导致后续推理的准确率下降。

解决策略

  • 记忆性能提升:提高模型对前文记忆的保持能力,减少逻辑跳步问题。

不让GPT输出过多信息

https://www.promptingguide.ai/applications/pf
DO NOT SAY THINGS ELSE OK, UNLESS YOU DONT UNDERSTAND THE FUNCTION
只要输出......,其余不要输出。

案例

案例一

现在你是导演 ,我讲给你补充知识和示例,你需要为我的故事设计连续并且完整 的多个镜头,并将这些镜头整理成文字给我。我将给你这个故事的剧本,请按照故事剧本里的内容,将故事剧本的内容进行分拆,并转化成摄像机从开始到结束的画面,分拆后的每一个画面作为一个镜头文本的内容。请注意,生成的镜头文本不要遗漏故事剧本里的内容,也不要重复地出现故事剧本的内容。保证你所设计的镜头,能让故事连贯、流畅、完整地展现

+inst (instructions) +sysinst: 系统提供角色和任务说明。

reit 通过重复关键说明来强化指导。

知识补充:

2.镜头语言,你需要有创意性地设计镜头语言,镜头语言包括镜头种类和镜头角度。镜头种类有以下几种:单人镜头、双人镜头、多人镜头、过肩镜头、主观镜头 ;镜头角度有以下几种:平视、俯视、仰视、航拍。

提示词列表

7.你需要分析故事剧本的内容,对每一个镜头发生的地点进行补充。请按照以下顺序逐次进行补充细化:1、地点的具体名词,如卧室的床、花园的角落、厕所的马桶、树木的树根等。2、地点的造型特点,如陈旧腐朽的、整洁干净的、凌乱的等。......

CoT

**示例:**第1场,第1镜

#剧本原文#:一群人围在药店柜台前,手中还提着塑料袋,塑料袋里装着各种感冒药与退烧药(非特写)。

#镜头语言#:['多人镜头','平视']

#关键词#:['药店','群众','塑料袋','感冒药','退烧药','中年男人','柜台','不耐烦','离开','气愤','大声喊叫','混乱','焦急','挤向柜台','叙事重点','情绪高涨','失控']

......

strict 要求模型严格按照给定的模板回答。

案例二

逐步分析最后一句话表达的此时情况:

CoT

  1. 这段话里面出现的人物有几个
    输出要求:只用告诉我阿拉伯数字,不要输出其他内容
    输出示例:人物个数:2

strict 要求模型严格按照给定的模板回答。

......

  1. 人物之间最后所处的相对位置推理过程
    相对位置即人物间的距离和角度,人物分别在场景中的位置,可通过逐句推理获取相对位置,推理过程需要展示,小场景人物位置判断需要结合上下文。大场景人物位置需要按照上文推理。

info 提供额外的信息以解决常见的推理失败。

reit 通过重复关键说明来强化指导。

5.相对位置推理结论

输出要求:根据上面的推理过程获得最后的相对位置。无论结果是什么,位置信息具体描述 以外的多余内容不要输出。如果未提供相对位置且无法推测,请直接输出"无法确定",其余内容不用输出

只要输出......,其余不要输出。

参考资料

www.promptingguide.ai
https://www.promptingguide.ai/applications/pf Prompt Engineering Guide
https://flowgpt.com/creative/stable-diffusion
https://arxiv.org/abs/2305.18189v1 标记角色:使用自然语言提示来衡量语言模型中的刻板印象
https://arxiv.org/abs/2301.01768 对话式人工智能的政治意识形态:ChatGPT 亲环境、左翼自由主义倾向的证据汇集
https://arxiv.org/abs/2303.16421 ChatGPT 是一个知识渊博但缺乏经验的求解器:大型语言模型中常识问题的调查
https://arxiv.org/abs/2304.05351 华尔街新手:针对多模式股票走势预测挑战的 ChatGPT 零样本分析

相关推荐
喜欢吃豆8 小时前
OpenAI Agent 工具全面开发者指南——从 RAG 到 Computer Use —— 深入解析全新 Responses API
人工智能·microsoft·自然语言处理·大模型
Coovally AI模型快速验证10 小时前
当视觉语言模型接收到相互矛盾的信息时,它会相信哪个信号?
人工智能·深度学习·算法·机器学习·目标跟踪·语言模型
Scabbards_10 小时前
KGGEN: 用语言模型从纯文本中提取知识图
人工智能·语言模型·自然语言处理
猫头虎11 小时前
昆仑芯 X HAMi X 百度智能云 | 昆仑芯 P800 XPU/vXPU 双模式算力调度方案落地
人工智能·百度·开源·aigc·文心一言·gpu算力·agi
极客密码14 小时前
充了20刀 Cursor Pro 的朋友看到我的方案沉默了...
aigc·ai编程·cursor
serve the people17 小时前
Prompt Serialization in LangChain
数据库·langchain·prompt
AI Echoes17 小时前
LangChain 使用语义路由选择不同的Prompt模板
人工智能·python·langchain·prompt·agent
Wilber的技术分享17 小时前
【大模型实战笔记 6】Prompt Engineering 提示词工程
人工智能·笔记·llm·prompt·大语言模型·提示词工程
小高不会迪斯科17 小时前
大话大模型应用(二)--让大模型听话:Prompt Engineering&Context Engineering
人工智能·prompt
leafff12317 小时前
AI研究:大语言模型(LLMs)需要怎样的硬件算力
大数据·人工智能·语言模型