提示词优化技术详解
提示词优化技术详解
综述
提示工程是增强预训练大语言模型(LLMs)和视觉语言模型(VLMs)能力的关键技术,通过设计特定任务指令(提示)引导模型输出,无需修改模型参数,能使模型适应不同任务,推动人工智能发展。本文从纯prompt的角度入手,不引入其他外部工具。
提示词迭代
提示词从来都不是一蹴而就的,往往需要经过多轮的迭代才能有一个良好的效果。
- 拟定初始prompt
- 观察返回,剖析原因
- 优化prompt指令,考虑加入一些优化技巧
- 重复步骤2和3,直到达到理想情况
技巧
少样本提示(few-shot)
论文地址:《Language Models are Few-Shot Learners》
该技术由 Brown 等人于 2020 年提出,与零样本提示不同,它为模型提供少量输入 - 输出示例,帮助模型理解给定任务。在处理复杂任务时,少量高质量示例能提升模型性能。然而,少样本提示存在一定局限性,添加示例会增加额外的标记数量,对于长文本输入可能成本过高。同时,提示示例的选择和组合对模型行为影响显著,且可能受如偏爱高频词等偏见的影响,要实现最佳性能并减少意外的模型偏见,需进行细致的提示工程。
优点:快,适合做快速任务或者大批量任务,也是把大多数传统NLP模型拉下神坛的体现。
缺点:选择合适的示例对于模型性能至关重要,而且对于长文本输入,包含示例可能会变得不切实际。
思维链提示(CoT)
论文地址:《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》
由Wei等人于2022年提出,针对LLMs在复杂推理任务中表现不佳的问题,通过引导模型进行连贯的逐步推理,让模型生成更具结构化和思考性的回复。在数学和常识推理基准测试中,利用CoT提示的PaLM 540B模型达到了90.2%的准确率。
优点:CoT可以显著提高模型在解决复杂、多步骤问题时的表现,尤其是在需要逻辑推理的任务中。
缺点:慢,同时有些时候可能需要调用外部工具,一般需要有足够好的生态。
自动思维链提示(Auto - CoT)
论文地址:《Automatic Chain of Thought Prompting in Large Language Models》
Zhang等人于2022年提出,为解决手动创建高质量CoT示例耗时且效果不佳的问题,通过“Let’s think step-by-step”提示自动引导LLMs生成推理链,并通过多样化采样增强鲁棒性。在使用GPT-3的实验中,在算术和符号推理任务上,平均准确率分别提高了1.33%和1.5%,性能超越了CoT范式。
逻辑思维链提示(LogiCoT)
论文地址:《LogiCoT: Logical Chain-of-Thought Instruction-Tuning》
Zhao等人于2023年提出,针对现有方法缺乏有效验证机制的问题,利用符号逻辑中的归谬法验证模型生成的推理步骤,并提供针对性反馈来修正错误步骤。在Vicuna - 33b和GPT - 4模型上实验,在GSM8K和AQuA数据集上相比CoT提示都有准确率提升。
符号链提示(CoS)
论文地址:《Chain-of-Symbol Prompting Elicits Planning in Large Langauge Models》
Hu等人于2023年提出,为解决LLMs在处理复杂空间关系任务时因依赖自然语言而产生的歧义等问题,采用简洁符号进行提示。该方法提升了模型的空间推理能力和可解释性,在Brick World任务上,将ChatGPT的准确率从31.8%大幅提升至92.6%,并减少了多达65.8%的提示令牌。
这个方法真的是震惊到我了。
表格链提示
论文地址:《Tab-CoT: Zero-shot Tabular Chain of Thought》
Wang等人于2024年提出,针对CoT、PoT和ToT等方法在处理复杂表格场景时的挑战,通过动态生成和执行常见的SQL / DataFrame操作,进行逐步的表格推理。在TabFact和WikiTQ两个基准表格数据集上,分别持续提升了8.69%和6.72%的性能。
突出重点
通过“务必”、“必须”等强调词,告诉模型你的要求
你是⼀个财报分析师,请帮我总结一份2024年微软的财务报告,务必将字数控制在500字内
立人设
通过给模型⼀个初始的⼈物设定,帮助模型进⾏任务定位,更有可能⽣成我们想要的内容,比如说我想问周末适合去哪玩,我就会先说:“现在你是一名资深的旅游专家”然后跟上你的其他提示词。
现在你是一名资深的旅游专家
现在我需要你制定一个从广州出发,车程两小时内,时长两天的旅游计划,考虑到现在是冬天,请你帮我想想有哪些可以选择
增加假设
给数据不正确下的返回选择、约束防止胡说等;
你是⼀个财报分析师,请帮我总结一份2024年微软的财务报告
如果你的数据存在问题,例如数据不存在,缺乏时效性,可以给出否定答复,例如:没有可以参考的数据
引用
A Systematic Survey of Prompt Engineering in Large Language Models:
Techniques and Applications
大模型性能优化之Prompt工程全面梳理