This commit is contained in:
@@ -5,7 +5,8 @@ pinned: false
|
||||
description: 什么是大模型提示词?
|
||||
tags: [Prompt]
|
||||
category: 学习日志
|
||||
draft: true
|
||||
draft: false
|
||||
sourceLink: [https://ai.google.dev/gemini-api/docs/prompting-strategies?hl=zh-cn#model-parameters,https://github.com/08820048/-LLM-Prompt-Engineering-Google/blob/master/%E6%8F%90%E7%A4%BA%E5%B7%A5%E7%A8%8B(%E4%B8%AD%E6%96%87%E7%89%88).md]
|
||||
---
|
||||
开始前先推荐一个闯关网站
|
||||
[点击跳转](https://gandalf.lakera.ai/)
|
||||
@@ -32,6 +33,8 @@ Gpt-4o Answer:
|
||||
```text
|
||||
“零-shot”指的是在没有提供任何期望行为示例的情况下,直接引导模型进行操作。
|
||||
```
|
||||
|
||||
> 在提示词编写中,建议包含以下要素:角色(可选)、任务、限制条件(规则)、上下文、输出格式和输出要求
|
||||
### Few-shot prompts 少样本提示
|
||||
少样本提示指的是提示词有少许输出示例。例如:
|
||||
|
||||
@@ -54,6 +57,11 @@ Gpt-4o Answer:
|
||||
```text
|
||||
零样本意味着在没有任何期望行为示例的情况下对模型进行提示。
|
||||
```
|
||||
|
||||
> 提供少量提示,可以让模型更好地知道输出格式,可以让输出更稳定。示例的最佳数量需要多次实验,如果太多示例,会产生过拟合。如果过少,可能达不到提示的效果。并且示例尽可能包含可能出现的全部情况和边缘情况,这样当遇到不符合预期的输入和输出时,模型也能按照预期输出,不会出现无法控制的情况。
|
||||
> 示例尽量使用正向示例,模型的遵守程度会比反例更优
|
||||
> 提示词需要保持风格一致,如果使用xml格式,则全文保持xml格式。避免多种格式混用的情况。
|
||||
> 如果有多个指令,尽量分解指令,不要在一个提示词中包含过多指令。
|
||||
### Chain-of-thought prompts 思维链(COT)
|
||||
思维链是指在提示词中给出几步思考的提示,也可以直接让LLM"让我们逐步地思考这个问题”。
|
||||
Question:
|
||||
@@ -165,6 +173,29 @@ Gpt-4o Answer:
|
||||
|
||||
在此运算得到的信息足以再度验证其过程和值,最终结论证明在具体高偏运动中需考虑更微量但关系理论可应对。
|
||||
```
|
||||
正确答案是乙的速度为60米/分钟,甲乙相距90米。虽然最终没有解答正确,
|
||||
正确答案是乙的速度为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,找到确定性和随机性的最佳平衡。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user