在提示中提供解决问题的逻辑思维流程,如“先理解问题,然后建立等式,最后计算结果”。可以明显提升数学推理任务的性能。 示例:
First, let's understand the problem and write down the given information. Then, let's figure out what we need to calculate and what operations to apply. Finally, let's calculate step-by-step to get the answer.
首先,让我们理解问题并写下给定的信息。然后,让我们弄清楚我们需要计算什么以及应该使用哪些操作。最后,让我们逐步计算以获得答案。
提示LLM逐步解决问题,如“让我们一步一步来解决这个问题”。也可用于数学推理中。
示例:
Let's solve this math word problem step-by-step to ensure we arrive at the right solution.
让我们逐步解决这个数学问题,确保我们得出正确的解答。
在提示中给出该任务的输入输出样例,让LLM学习对样例进行推理。
示例:
Here are two input-output examples for mathematical word problems: Input: Mary had 32 apples. She gave Sam some apples. Now Mary has 12 apples left. How many apples did Mary give to Sam? Output: 20 Input: Kevin walked 4 miles on Monday, 3 miles on Tuesday and 2 miles on Wednesday. How many total miles did Kevin walk over the three days?
Output: 9
这里有两个数学问题的输入和输出示例:
输入:玛丽有32个苹果。她给了山姆一些苹果。现在玛丽还剩下12个苹果。玛丽给了山姆多少个苹果?
输出:20
输入:凯文在星期一走了4英里,在星期二走了3英里,在星期三走了2英里。凯文在这三天里一共走了多少英里?
输出:9
明确提示需要考虑的特征,如对电影推荐提示考虑“题材、情节、音乐、评分”等特征。
示例:
To recommend a good movie, let's consider the genre, plot, reviews, ratings, actors, and awards.
推荐一部好电影,我们应该考虑电影的类型、剧情、评论、评分、演员和获奖情况。
提示应遵循的答案模式,如“电影名是:”。规范化输出格式有助理解。
示例:
The movie I recommend is:
我推荐的电影是:
指定应关注对象的哪些属性,如“考虑每个物体的颜色和顺序”。
示例:
Pay attention to the color and order of the objects mentioned.
请注意所提及的物体的颜色和顺序。
构造假设情形,让LLM进行逻辑推理。
示例:
If the person had gone to the park instead during that time, would they have been able to go to the museum afterwards based on the schedule provided?
如果那个人那个时间去了公园,根据所提供的日程安排,他们之后能否去博物馆呢?
使用类比的方式让LLM学习规律,如“音乐家名字改编类似歌曲名字改编”。
示例:
Let's alter the artist's name in a creative way, similar to how song titles can be changed to be funny.
让我们以创意的方式改变艺术家的名字,就像歌曲标题可以改编得有趣一样。
提供必要常识并让LLM运用,可减少错误。
示例:
Keep in mind that a week has 7 days.
请记住一周有7天。
尝试组合使用上述不同类型的提示,发掘更好的提示方式。
示例:
First, list out the key information provided [Chain-of-thought]. Next, consider how to approach this step-by-step [Step-by-step]. Finally, calculate the solution and write it in the form X is Y [Pattern].
首先,将提供的关键信息列出来【思维链】。接下来,考虑如何逐步进行解决【步骤提示】。最后,计算出解决方案并以“X是Y”的形式写出来【模式提示】。
"首先,我们一步一步来理解这个问题。首先写出已知信息,然后确定我们需要计算的目标,最后按照步骤计算结果。"
"考虑这个电影的题材、评分和主演,请告诉我最适合观众喜好的电影名字是:"
"注意每个物体的颜色和顺序。如果第三个物体是红色而不是绿色,后面的顺序是否会改变?"
"我们可以像改编歌曲名字那样创造性地改编艺术家的名字。但是要注意不要用 offensive 的名字。"
"这里有两个数学词问题的输入输出样例......根据这些例子,我们首先理解问题,然后建立等式,最后计算结果。"
"让我们一步一步考虑这个电影推荐问题。首先确定用户的偏好,然后筛选合适题材和评分的电影,最后从中推荐最适合用户的电影。"
"注意每个物体的颜色和相对顺序。如果顺序发生变化,颜色是否也会改变? 请回答这个假设情形下的提问。"
First, list out the key information provided [Chain-of-thought]. Next, consider how to approach this step-by-step [Step-by-step]. Finally, calculate the solution and write it in the form X is Y [Pattern].
首先,将提供的关键如果那个人在那个时间去了公信息列出来【思维链】。接下来,考虑如何逐步进行解决【步骤提示】。最后,计算出解决方案并以“X是Y”的形式写出来【模式提示】。
温度选择
适当的温度可以使模型同时兼顾利用已有模式和探索新的可能。论文中实验表明,温度为1.0时效果较好。太高会过于随机,太低会陷入局部最优。
比如可以这样:
温度0.7时:请简要概括这篇文章的内容。
温度1.0时:这篇文章探讨了使用大语言模型进行优化问题求解,提出了OPRO框架,并在多个任务上进行了评估实验,结果证明了该方法的有效性。
温度1.5时:这是一篇关于火星探索的好文章!
多样化提示
使用不同类型的提示(例如链式思维提示、步骤提示等)可以提供不同角度的指导,组合提示可以让模型综合信息。单一提示容易局限。
单一提示:请告诉我2+3等于多少?
组合提示:首先,2+3需要做加法运算。根据数学知识,2加3的结果是5。
简化提示语言
提示使用简单明了的语言,避免过于复杂的语句让模型难以把握重点。但关键信息不能遗漏。
复杂提示:受限于计算资源及复杂度的约束,先验归纳偏置的设置对于部署实际系统至关重要。
简单提示:选择合适的先验设置很重要。
提供背景常识
适当提供常识性的背景信息,如日期格式、基本运算顺序等,可以减少明显的常识性错误。
不提供常识:7月5日是一个什么日子?
提供常识:今天是2023年2月28日,星期二。7月5日是什么日子?
给出模式
针对要求的输出提供预期的答案模式(如"X之所以发生是因为..."),可以让模型明确方向。
不给模式:介绍一下机器学习。
给出模式:机器学习是_____。
减少无关信息
去除对解决问题无关的语句,只提供关键信息,可以避免引入偏差。
有无关信息:苏格拉底是古希腊哲学家,他提出知道自己不知道是最聪明的。请回答2+3等于几。
无无关信息:2+3等于几?
迭代优化提示
如果初始提示效果不佳,可以尝试通过 OPRO 算法逐步改进提示词语。
初始提示:2+3等于__[ ]。
优化后提示:首先,2加3需要做加法运算。2加3的结果是[__]。
测试不同提示
针对同一问题,测试不同类型的提示词语,Combine 效果最好的提示。
提示1:计算2+3的值。 提示2:进行数学运算,2加3等于多少? 提示3:首先,进行加法运算。其次,2加3的值是多少?