提示词顺序对生成结果的影响说明

释放双眼,带上耳机,听听看~!
本文探讨了提示词

前言

好久不见,甚是想念啊,前一段时间一直在找实习和面试、考试,没有时间去产出。好在最近也算稳定下来了,找到了满意的工作,一切步入正轨。OK,今天要分享的是提示词的顺序对生成结果的影响说明报告,前几天看到公司的一些prompt,发现他的结构有点不合理,引发了我对提示词顺序的思考,所以我做了以下这些思考和实践,希望对大家有启发。

找NLP算法工程师沟通

回来后我便找了我们Datawhale的NLP专家,也是我之前参与的一个开源项目的负责人,以下是我们对话的原文

我:中午好,琴哥。好久不见,今天有个问题想问一下你,就是大模型提示词的顺序是否对大模型的生成效果有影响?这个影响有多大?据我的了解在文生图这一块那肯定是有影响的,越放前面比重是越大的。但是我不知道像GPT这种nlp文本类的是不是也这样,你有看过类似这方面的文章或者论文吗?或者从GPT算法本质出发你怎么看?

他:Hello Jason.提示词顺序与效果这个我觉得和具体的模型和任务有关。根据实际经验来看,对于一个很好的大模型(比如ChatGPT),无论任务是什么,只要描述是清晰明确的,顺序基本上没太多关系。对于7B左右的模型,如果是指令调过的,输入的顺序最好能和训练集里类似的指令任务对齐。抛开这个不谈,在不同任务上也是有可能有区别的,比如文档问答任务,“指令-上下文-问题”和“上下文-指令-问题”结果就有少许不同。

至于这个位置影响,NLP一般会把Q放在最后的位置,而不是倒过来。理论上来说,靠近点效果要比远离要好。根据实践经验,对于一个7B的模型,如果是给定Q,找出5个Q中与给定Q最相似的那个(类似于精排)。此时,如果先输入指令和给定Q,再输入5个Q,模型可能会优先输出最后的那个Q。不过这个任务并不够精确,因为关于相似的标准如果不说清楚的话是很模糊的。

他:没看到相关paper

他:这类问题更多是trick

他:理论上来说,这个位置是不应该有影响的,即便有也很小。

我:OK,谢谢长琴哥的专业分享。

我总结提炼了一下,大概就是下面这几点

1.还是要看具体的模型和具体任务

2.指令和问题要对齐

3.Q一般放在最后

4.理论来说,指令越重要部分应该越放前。

5.但是这个影响也应该比较小

查找和观看相关文章和论文

ChatGPT环境下的汉语学习与教学_蔡薇.pdf

提示工程师:未来新闻工作者的身份转变与逻辑重构_喻国明.pdf

大模型带火新职业,“会咒语的那群人”能走多远_中青报·中青网记者__李若一__实习生__李怡庆.pdf

基于高效参数微调的生成式大模型领域适配技术_丁鑫.pdf

注:针对这个问题的论文确实没有找到,以上文章和论文只是帮助我思考

与ChatGPT沟通以及测试样例

在进行了上面的沟通和学习之后呢,我就这个问题直接和GPT进行沟通问答(用的是3.5,我没有4)

提示词

首先是关于提示词的优化,他给出的建议是

1. 明确问题

2. 上下文提供

3. 详细描述

4. 多步问题

5. 具体示例

6. 时间和地点

7. 要求解释原因

8. 澄清和追问

9. 专业术语

10. 积极反馈

总之,通过明确和具体的提示词,可以更好地引导模型生成满足您需求的回答。不断与模型进行交互,并逐步细化问题,以获得最相关和详细的信息。

系统提示词

随后我又问了关于在设置系统提示(system prompt)的优化建议

1. 清晰明了的表达:  确保系统提示清晰明了,明确指示模型应该生成什么类型的回应。避免模棱两可或含糊不清的表述,以防止模型产生不准确的回应。

2. 明确任务描述:  在系统提示中明确任务或问题的描述。描述越具体,模型生成的回应就越有可能满足您的需求。

3. 积极和礼貌的语言:  使用积极和礼貌的语言来提出请求,这有助于获得更好的回应。避免使用命令式或冒犯性的语言。

4. 具体上下文:  如果需要,可以在系统提示中提供相关的上下文信息,以确保模型了解问题的背景和条件。这有助于模型更好地理解并生成相关的回应。

5. 逐步引导:  如果您的任务或问题涉及多个步骤,请使用逐步引导的方式,逐步引导模型生成答案。这可以帮助确保模型按照您的要求提供信息。

6. 多样性测试:  您可以尝试不同的系统提示,以获取多样性的回应。这有助于检验模型的一致性和多样性。

7. 反馈和迭代:  如果模型的回应不符合您的期望,可以尝试不同的系统提示,并根据模型的回应提供反馈,以帮助模型逐步改进。

8. 安全性和隐私:  避免在系统提示中提供敏感信息,确保您的请求和任务符合隐私和安全准则。

关于这个问题我认为他给出的最有价值的建议就是多样性测试进行迭代和安全性的考虑。

提示词顺序

最后关于提示词顺序的影响他是这么说的:

提示词的顺序可以在一定程度上影响结果,尤其是对于基于语言模型的人工智能系统。这是因为语言模型通常会按照提示词的顺序来生成回答,尤其是对于较长或更复杂的问题。因此,合理安排提示词的顺序可以帮助您获得更具结构性和清晰的回答。虽然提示词顺序可以影响回答的结构和重点,但通常情况下,人工智能语言模型会尽力生成相关和合理的回答,不会受到提示词顺序的太大限制。因此,如果您在问题中稍微调整了提示词的顺序,不必过于担心,模型仍然会尝试提供相关的信息。

举个例子来讲

  1. “什么是人类心脏的结构和功能?”

这个问题首先强调了对人类心脏的结构和功能的整体理解,它要求回答者首先提供关于心脏结构和功能的全面描述。

  1. “人类心脏有什么结构和功能?”

这个问题似乎更关注人类心脏的存在和特征,然后提到结构和功能。这可能会导致回答者在开始时先提及心脏的存在,然后再详细解释其结构和功能。

虽然这两个问题都涉及到心脏的结构和功能,但它们在关注点上略有不同。在第一个问题中,关注点首先放在了整体的结构和功能上,而在第二个问题中,关注点似乎更加强调心脏的存在,然后再提到其结构和功能。这种微小的差异可能会影响回答的语气和重点,但总体来说,两个问题都是关于心脏的结构和功能的。

所以,提示词的顺序可以在问题的表述和重点上略有不同,但通常不会改变问题的主题或基本要求。这些微小的差异可能会导致回答的轻微变化,但不太可能导致完全不同的答案。然而,对于特定的问题或需要特定的顺序的情况,您可以明确要求模型按照您的顺序来回答,以确保获得所需的结果。

最后我用修改前和修改后的prompt进行测试,用他帮我描述“内窥镜的预期用途”,下面是效果

修改前prompt的效果:

内窥镜是一种医疗器械,用于医疗诊断和治疗过程中观察体内腔道或器官的工具。其主要预期用途包括:

  1. 诊断与评估: 内窥镜可以用于诊断和评估各种医疗病况,如胃肠道内出血、息肉、溃疡、炎症、肿瘤等。通过内窥镜,医生能够直接观察腔道或器官的内部情况,以进行准确的诊断和病情评估。

  2. 治疗和手术: 除了诊断,内窥镜还可用于治疗和进行内窥镜手术。例如,胃肠道内窥镜手术可以用于切除息肉、止血、去除异物等,而膀胱内窥镜手术可用于切除膀胱结石或检查膀胱内部病变。

  3. 监控和随访: 内窥镜还可以用于监控疾病的进展和治疗效果。医生可以定期使用内窥镜来观察病情的变化,以指导治疗方案的调整。

  4. 取样和活检: 在进行内窥镜检查时,医生还可以采集组织样本进行活检。这有助于确定病变的性质,例如是否为恶性肿瘤,从而指导后续治疗方案的制定。

  5. 治疗器械的引导: 内窥镜通常配备了导管和治疗器械,医生可以通过内窥镜引导这些器械到达需要治疗的位置,如介入性手术或介入治疗。

总之,内窥镜在医疗领域具有广泛的应用,能够为医生提供直观的内部观察,促进了许多疾病的早期诊断和有效治疗。不同类型的内窥镜用于不同的身体腔道和器官,包括胃肠道内窥镜、膀胱内窥镜、支气管内窥镜等,以满足不同临床需求。内窥镜检查通常由经验丰富的医生或外科医生进行,以确保安全和有效的操作。

修改后prompt效果:

内窥镜是一种医疗器械,用于医生在临床环境中检查患者体内腔道或器官的工具。它是一个细长的管状设备,通常由柔软的光纤束或硬的金属管构成,其末端装有摄像头和光源,以便医生能够实时观察器官内部的情况。内窥镜有多种类型,包括胃镜、肠镜、膀胱镜、支气管镜等,每种类型都用于检查不同部位的器官。

以下是内窥镜的一些预期用途:

  1. 诊断和筛查: 内窥镜用于检查身体内部,以诊断或排除各种疾病和病变。例如,结肠镜用于早期发现结直肠癌,胃镜用于检查胃黏膜,膀胱镜用于发现膀胱癌。

  2. 治疗: 有些内窥镜不仅可以用于观察,还可以用于治疗。例如,内窥镜可以在肠道内移除息肉、在胆道内排石、在支气管内引导治疗等。

  3. 取样和活检: 内窥镜通常配备了一些小工具,如活检夹或刷子,医生可以通过内窥镜取得组织样本,以进行病理学检查。

  4. 监测疾病进展: 内窥镜还可以用于监测慢性疾病的进展,例如炎症性肠病。医生可以多次进行内窥镜检查,观察病情的变化。

  5. 手术辅助: 在一些情况下,内窥镜可以用于辅助外科手术。它可以提供实时图像,帮助医生在手术过程中做出更准确的决策。

总的来说,内窥镜在现代医学中扮演着重要的角色,可以帮助医生准确诊断和治疗各种疾病,同时减少患者的创伤和康复时间。不同类型的内窥镜用于不同的器官和用途,但它们都旨在提供医生清晰的视野,以便他们能够进行精确的医疗操作。

我们可以看到前面部分变多了,我想是因为产品说明书是需要我们对不懂的人进行产品介绍,那么产品本身这部分内容应该更多更全面,所以当我把提示词提前之后这部分的内容就变得更多了,从而达到更好的效果。

在国内大模型进行同样的样例测试

百度文心:改前效果

内窥镜的预期用途非常广泛,主要是在医疗和工业领域。

在医疗领域,内窥镜被用于进行内部可视化的检查和治疗。例如,在消化系统中,医生可以通过内窥镜观察食管、胃和十二指肠的内部情况,发现溃疡、炎症或其他异常状况。这有助于医生做出更准确的诊断,并制定适当的治疗方案。在呼吸系统中,内窥镜可以进入肺部,帮助医生观察和诊断肺部疾病。在泌尿系统中,内窥镜可以进入肾脏和膀胱,进行观察和诊断。

在工业领域,内窥镜被用于检查设备的内部状况,如发动机、汽轮机、管道、研磨机等。它可以发现设备内部的缺陷、损坏或过度磨损等问题,有助于工业维修人员及时进行维修,防止设备在运行中发生故障。

此外,内窥镜在质量控制、技术研发、过程监控、物料检查和设备维护保养等方面也有广泛的应用。例如,在生产制造阶段,内窥镜可以检查铸造件、精密零件以及复杂内型面结构产品的内部质量。在技术研发阶段,内窥镜可以直观地对设备的新研发零部件进行精确分析,帮助改进设计或工艺。在过程监控阶段,内窥镜可以辅助检测人员监控一些原本无法看到的工业操作或处理过程。在物料检查阶段,内窥镜可以检查管道和腔体的内容物状况,如化工行业检查物料管中的状况、观察反应釜中物料的变化情况。在设备维护保养阶段,内窥镜可以帮助确定设备的养护时机以及验证效果。

总之,内窥镜的预期用途包括医疗诊断、工业检查、质量控制、技术研发、过程监控、物料检查和设备维护保养等多个方面。

百度文心:改后效果

内窥镜的预期用途非常广泛,主要应用于医疗领域。它是一台集中了传统光学、人体工程学、精密机械、现代电子、数学、软件等于一体的检测仪器。内窥镜的预期用途包括但不限于以下几个方面:

质量控制:在生产制造阶段,内窥镜被用于检查铸造件、精密零件以及复杂内型面结构产品的内部质量,例如检查汽轮机转子的内部缺陷。

技术研发:内窥镜被用于直观地对火箭发动机、汽轮机等设备的新研发零部件做出精确分析,有助于有的放矢地改进设计或工艺。例如,在核电发电汽轮机转子的研发过程中,工业内窥镜可以直观观测不同腔室间的焊缝背面成型情况,对焊缝背部成型、背部焊道尺寸控制等技术研发关键点提供有效支持。

过程监控:内窥镜被用来辅助检测人员监控一些原本无法看到的工业操作或处理过程。

物料检查:除了设备内部结构以及内壁缺陷外,内窥镜还可以检查管道和腔体的内容物状况。例如,精细化工行业检查物料管中的状况、观察反应釜中物料的变化情况,以及采矿煤炭行业检查研磨机有无残留物料等。

维护保养:内窥镜有助于确定设备的养护时机以及验证效果。例如,在飞机维修中,工业内窥镜可以检查到飞机发动机内部难以触及的地方,发现潜在的安全隐患。

随着先进材料、先进技术的不断融合与应用,我们相信内窥镜的预期用途还将不断扩展,为人类健康和工业生产带来更多的福祉。

讯飞星火:改前效果

内窥镜是一种医疗器械,可以通过口腔或其他天然孔道进入体内,利用图像传感器、光学镜头、光源照明、机械装置等技术,可以看到X射线不能显示的病变,因此它对医生非常有用。例如,借助内窥镜医生可以观察胃内的溃疡或肿瘤,据此制定出最佳的治疗方案。

除了医疗领域外,内窥镜还可以用于工业领域。工业内窥镜是一种用于检测物体内部状况的设备,其核心在于:基于光学或者光电成像原理,加上影像传输技术,使得被检测对象内部的状况以实时影像的方式呈现在操作者眼前,使得远距离观察成为可能,从而可以主动发现设备中的缺陷并积极进行维护 。

讯飞星火:改后效果

内窥镜是一种医疗设备,主要用于医疗诊断和治疗。以下是对内窥镜预期用途的详细描述:

  1. 诊断用途:内窥镜可以进入人体内部,通过观察和拍摄内部器官的情况,帮助医生进行诊断。例如,胃镜和结肠镜可以直接观察食道、胃和结肠的内部情况,帮助医生发现肿瘤、炎症、溃疡等问题。

  2. 治疗用途:内窥镜也可以用于治疗疾病。例如,内窥镜手术是一种微创手术,医生可以通过内窥镜直接在体内进行治疗,如切除肿瘤、修复损伤等。此外,内窥镜还可以用于止血、引流等操作。

  3. 研究用途:内窥镜也可用于医学研究和教学。例如,医生可以通过观察内窥镜下的情况,了解人体的生理结构和功能,从而提高临床技能。同时,学生也可以通过模拟内窥镜的使用,学习医学知识和技术。

  4. 监测用途:内窥镜还可以用于监测患者的健康状况。例如,有些内窥镜可以连接到电脑或手机,医生可以通过远程查看患者的情况,及时发现并处理问题。

总的来说,内窥镜的预期用途非常广泛,既可以用于诊断和治疗疾病,也可以用于医学研究和教学,甚至还可以用于患者的健康监测。从这里也可以看出将重要提示词提前的生成效果是更好的。

一些自己的理解

从算法出发

我的理解主要有两个方面,第一从GPT的底层框架transform出发,在进行Encoder和Decoder中间是有一个Attention注意力机制的,他会帮助大模型进行这句话重点的提取,形成下面这样一个个d0,d1,d2等等这些,再根据这些生成答案。那么这些参数不可能一次性从管道里进去吧,他肯定是d0先去再是d1,d2这样子,不然所有的参数都是一次性的一起进到模型,那管道不会堵住或者奔溃吗?这是我从算法上的理解。

提示词顺序对生成结果的影响说明

从语言学出发

从语言学这个方面,我认为语言是存在模糊性和滞后性的,我们说的话或者看的文本他想要我们的听觉我们的视觉先进行获取,再通过神经进入大脑进行语言的分析和想象才能知道到底是什么样的内容,我们才有那个意识。就像有时候我们需要可视化来帮我们解释一些问题,更直观更清晰,因为图片他就没有这个问题,所以回到我们的问题提示词的顺序到底有没有影响,在文生图领域这一定是有的,而且是公认的,如下是我在百度文心进行的文生图

提示词顺序对生成结果的影响说明

提示词顺序对生成结果的影响说明

我们可以看到图一没有花海,但是图二有,而且我只是将”花海里“这个提示词提前了而已。那么在文生图是这样子,文生文有没有呢,我认为是有的但是因为语言的模糊性和滞后性,没有我们图片来的直接所以才没有那么严重,但是影响小并不代表没有影响。

结论

提示词的顺序确实在一定程度上会影响到最终的生成效果,可能会影响回答的语气和重点的偏向等等,但是总的来说影响比较小。

以上纯属个人一些想法和实践,不代表完全正确(水平有限不知道国外有没有这方面的论文),欢迎指正。

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

AIGC在人工智能领域爆火,引领代际变革

2023-11-29 17:00:14

AI教程

提示词工程:AI时代的新兴技术

2023-11-29 17:13:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索