什么是大模型提示词?
开始前先推荐一个闯关网站 点击跳转
什么是提示词
提示词是用于和LLMs交互使用的,最终的目的是为了让大模型能够根据你的输入,输出符合你指令、描述的回复。比如对于 Stable Diffusion 模型,提示词是生成图像的描述。对于 Gpt 模型,提示词可以是一个问题、指令或者数据,还可以是特定的约束或要求,如语气、风格、期望的回复长度。对于 VLM 模型,提示词可以是图片的格式,这样生成的文本是图像的描述。提示词对于生成的质量和相关性都有着非常大的影响,因此,如何写一个好的提示词非常重要。
如何写好提示词
提示词工程
提示词工程指的是精心设计提示词以生成特定输出的过程。目前常用的提示词编写策略有以下三种:
- Zero-shot prompts 零样本提示
- Few-shot prompts 少样本提示
- Chain-of-thought prompts 思维链
Zero-shot prompts 零样本提示
零样本提示指的是提示词没有任何具体的输出示例提示模型。例如:
Question:
你是一个擅长中文和英文的翻译家,擅长中文和英文相关的文章编写和翻译。请将下面的句子翻译成中文,要求语言生动活泼。需要翻译的句子:Zero-shot means prompting the model without any example of expected behavior from the model.Gpt-4o Answer:
“零-shot”指的是在没有提供任何期望行为示例的情况下,直接引导模型进行操作。在提示词编写中,建议包含以下要素:角色(可选)、任务、限制条件(规则)、上下文、输出格式和输出要求
Few-shot prompts 少样本提示
少样本提示指的是提示词有少许输出示例。例如:
Question:
你是一个擅长中文和英文的翻译家,擅长中文和英文相关的文章编写和翻译。请将下面的句子翻译成中文,要求语言生动活泼。请参考我给的示例:<example>英文:Zero-shot prompts中文:零样本提示</example>
需要翻译的句子:Zero-shot means prompting the model without any example of expected behavior from the model.Gpt-4o Answer:
零样本意味着在没有任何期望行为示例的情况下对模型进行提示。提供少量提示,可以让模型更好地知道输出格式,可以让输出更稳定。示例的最佳数量需要多次实验,如果太多示例,会产生过拟合。如果过少,可能达不到提示的效果。并且示例尽可能包含可能出现的全部情况和边缘情况,这样当遇到不符合预期的输入和输出时,模型也能按照预期输出,不会出现无法控制的情况。 示例尽量使用正向示例,模型的遵守程度会比反例更优 提示词需要保持风格一致,如果使用xml格式,则全文保持xml格式。避免多种格式混用的情况。 如果有多个指令,尽量分解指令,不要在一个提示词中包含过多指令。
Chain-of-thought prompts 思维链(COT)
思维链是指在提示词中给出几步思考的提示,也可以直接让LLM”让我们逐步地思考这个问题”。 Question:
甲、乙两人从相距490米的A、B两地同时步行出发,相向而行。丙与甲同时从A地出发,在甲、乙二人之间来回跑步(遇到乙立即返回,遇到甲也立即返回)。已知丙每分钟跑240米,甲每分钟走40米,当丙第一次折返回来与甲相遇时,甲、乙二人相距210米,那么乙每分钟走__米;甲下一次遇到丙时,甲、乙相距__米。Gpt-4o Answer:
要解答这个问题,我们需要分两部分来解决。
首先,我们确定乙的速度。根据问题的描述:
1. 丙从A地出发,当第一次遇到乙时,立即返回遇到甲。2. 甲每分钟走40米,乙每分钟的速度记为\( v \)米。
从题目中得知,当丙第一次遇到乙并返回与甲相遇时,甲和乙相距210米。我们需要先计算这段时间内丙和甲各行走的距离。
假设第一次丙与乙相遇的时间为\( t \)分钟,则丙跑了\( 240t \)米。
当丙第一次返回与甲相遇时,甲走了\( 40t \)米。
从A和B出发的甲、乙之间的距离经过\( 210 \)米,所以,他们缩短的距离为\( 490 - 210 = 280 \)米,这段距离正好是他们相对速度的乘积的结果,即:\[40t + vt = 280\]从上面这个方程,我们可以解得乙的速度\( v \)米:\[40 + v = \frac{280}{t}\]
现在去解这个方程。考虑到这个问题的动态特性,我们知道他们这个时间段的变化来自于丙的运动。
同样在这个期间,丙一定跑完全距离和返回的部分:因为丙跑到乙后返回甲,所以丙总共跑的距离为\[2 \times 240t = 480t\]
通过合并这些,我们可以再解方程:\[480t = 280t + 210t\]
而从另外一个方面:
\[480t = 2 \times 240t,\]
通过解这个,我们能得到乙的速度\( v \)
对于丙再次与甲相遇时,甲乙相距的问题:因为丙再次与甲相遇时跑过的第二个区间,这次情景中指甲、本次跑距离刚好是合二为一(240),于此可求甲乙速度。
综上所述,我们找到乙的速度\( v = 20 \)米。
所以,- 乙的速度为20米/分钟。- 甲第二次与丙相遇时相距\( 210 + (40 + 20) \cdot 1.75 = 315 \)米。
第二个结果这里较为复数条件下演绎。加上思维链提示词后: Question:
甲、乙两人从相距490米的A、B两地同时步行出发,相向而行。丙与甲同时从A地出发,在甲、乙二人之间来回跑步(遇到乙立即返回,遇到甲也立即返回)。已知丙每分钟跑240米,甲每分钟走40米,当丙第一次折返回来与甲相遇时,甲、乙二人相距210米,那么乙每分钟走__米;甲下一次遇到丙时,甲、乙相距__米。请逐步思考这个问题。Gpt-4o Answer:
为了求解这个问题,我们可以逐步分析每个人的运动情况。
### 第一步:确定甲、丙第一次相遇的位置
1. **甲、丙的运动情况** - 甲的速度为每分钟40米。 - 丙的速度为每分钟240米。 - 甲、丙同时从A出发时,丙向着乙跑。
2. **当丙第一次回来与甲相遇时** - 丙和乙相遇后立刻返回,且两者之间第一次相遇时,甲乙间距为210米。 - 因为开始时两地相距490米,所以此时丙跑的总距离(折返前)是 \( 490 - 210 = 280 \)米。
3. **时间计算:** - 丙跑280米用了 \( \frac{280}{240} = 1.1667 \)分钟(大约1分10秒)。
4. **甲的位置:** - 在1.1667分钟内,甲走了 \( 1.1667 \times 40 = 46.67 \)米。
此时,甲到达A点46.67米处,而丙即将跑回此点与甲相遇。
### 第二步:求解乙的速度
1. **乙的运动情况:** - 在1.1667分钟内,乙与初始位置B间距减小了210米,分别为 \( 490 - 210 = 280 \)米, 这意味着乙走了210米。
2. **乙的速度计算:** - 从上面的时间和距离关系,乙的速度为 \( 240 \)米(也与丙相同),但途中返回,表明其实际速度为每分钟 \( 240 - 280 = 160 \) 确认单位。
### 第三步:甲与丙下一次相遇时的甲乙距离
1. **计算甲、丙再次相遇的距离和时间:** - 从上述信息得知甲和丙速度的合运动关系。 - 乙继续在反向运动,甲和丙在(A,甲和丙的运动关系是求界距)。 - 在甲丙相遇时合运动关系和净递减关系即为甲乙差值。需要运算:乙与甲平均值关系。 - 重复上述,从丙与甲的互动中算出甲乙渐差值至等于新极限约等于方向即:
为达到此运算需要扩展后回复,理论物理还原可能但不确定其精确值应在高原速运动下更详。
在此运算得到的信息足以再度验证其过程和值,最终结论证明在具体高偏运动中需考虑更微量但关系理论可应对。正确答案是乙的速度为60米/分钟,甲乙相距90米。 上面的提示词只是加了一句“请逐步思考问题”,推理的逻辑就能够比原来的更加清晰,这在一些场景非常有效。
提示词迭代技巧
1、从不同角度描述同一件事,对比效果。 2、更换任务为相似的任务形式。比如分类的任务可以变为做单选题的任务,让模型选择一个选项。 3、更换提示词中不同部分的排列顺序。
大模型输出配置
除了提示词,我们还可以通过参数控制模型的输出。针对不同的任务需要设置不同的参数,才能达到更好的效果。
输出长度
输出长度的设置不会影响模型输出的风格。在一些需要短输出的场景中,需要设置较小的输出长度,否则模型可能会在生成完内容后,补充一些无用的内容,这既影响了生成速度,也会让成本增加。
采样控制
有三个常见的采样控制参数。温度、Top-K、Top-P和stop_sequences。它们通过不同的策略修改下一个令牌的预测概率,实现对输出内容的控制。
温度(temperature)
温度可以控制 token 选择的随机性。温度在生成回答期间用于采样。较低的温度代表着确定性的回复,较高的温度代表着多样性的回复。如果温度为0,表示始终选择概率最高的token。
Top-K
topK 参数可更改模型选择输出 token 的方式。如果 topK 设为 1,表示所选 token 是模型词汇表的所有 token 中概率最高的 token(也称为贪心解码)。如果 topK 设为 3,则表示系统将从 3 个概率最高的 token(通过温度确定)中选择下一个 token。在每个词元选择步骤中,系统都会对概率最高的 topK 个词元进行采样。然后,系统会根据 topP 进一步过滤词元,并使用温度采样选择最终的词元。
Top-P
topP 参数可更改模型选择输出 token 的方式。系统会按照概率从最高到最低的顺序选择 token,直到所选 token 的概率总和等于 topP 值。例如,如果词元 A、B 和 C 的概率分别为 0.3、0.2 和 0.1,并且 topP 值为 0.5,则模型将选择 A 或 B 作为下一个词元(通过温度确定),并会排除 C 作为候选词元。默认 topP 值为 0.95。
stop_sequences
stop_sequences:设置停止序列,告知模型停止生成内容。停止序列可以是任意字符序列。尽量避免使用可能会出现在生成内容中的字符序列。
作为起点,温度0.2、Top-P 0.95、Top-K 30会生成相对连贯但不过分创意的输出。如果想要特别有创意的结果,可以试温度0.9、Top-P 0.99、Top-K 40。如果想要更严谨的结果,试温度0.1、Top-P 0.9、Top-K 20。如果任务有唯一正确答案(比如数学问题),从温度0开始。
注意:自由度更高(高温度、Top-K、Top-P和输出令牌)可能导致模型生成不太相关的文本。
回答末尾堆满无意义的填充词?这是大语言模型常见的“重复循环错误”,模型陷入循环,反复生成相同的词、短语或句子结构,通常由不合适的温度和Top-K/Top-P设置引发。这种问题在低温和高温时都可能出现。低温时,模型过于确定,固守最高概率路径,可能回到之前生成的文本,造成循环。高温时,输出过于随机,随机选择的词可能碰巧回到之前状态,造成循环。解决方法通常需要仔细调整温度和Top-K/Top-P,找到确定性和随机性的最佳平衡。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
部分内容可能已过时
5426的技术分享基地