prompt工程学习
前置知识:
1.轻松搞懂 Zero-Shot、One-Shot、Few-Shot - 知乎
- Zero-Shot零样本学习:测试集中出现了训练集中没有的类别。需要模型通过对这个类别的描述,对没见过的类别进行分类。
- One-Shot一次性学习:给出一个样例,可以理解为用一条数据fine-tune模型。属于Few-Shot学习的特例。
- Few-Shot少样本学习:对于只有少量样本的类别,希望模型在学习了一定类别的大量数据后,只需要少量的样本就能快速学习。
2.大模型「幻觉」,看这一篇就够了 | 哈工大华为出品 - 知乎
大模型幻觉问题:模型生成的内容与现实世界事实或用户输入不一致的现象。
CoT思维链
参考链接:一文读懂:思维链 CoT(Chain of Thought) - 知乎
在从输入到输出的过程中加入详细的推理小步骤有助于提升推理能力。
完整包含 CoT 的 Prompt 由指令(Instruction),逻辑依据(Rationale),示例(Exemplars)三部分组成。模型规模小、任务简单的情况下,CoT无效。
不添加示例而仅仅在指令中添加一行经典的“Let’s think step by step”,就可以“唤醒”大模型的推理能力。
构造CoT:
- PoT:P 指 Programm 即程序,让模型生成代码在解释器中运行。
- Tab-CoT:Tab 指 Tabular 表格,让大模型在每一步的推理中记录一个“∣步数∣子问题∣过程∣结果∣”的推理表格,并让大模型在推理时从生成的表格中提取答案。
- ToT:T指Tree即树形结构。
- GoT:G指Graph即图形结构。
结构化生成
利用Prompt
参考链接:LLM结构化生成(Structured Generation) - 知乎
利用Prompt是最简单的结构化生成方式,就是在prompt中说明输出的格式(如JSON)。
存在问题:不稳定(格式错误、含义错误)
简单的解决方案:生成——检查——修复
指定规则检查输出,不符合要求则生成报错信息给模型,不断重新输出,直到输出符合要求。
限制解码Constrained Decoding
就是控制输出的可能性,减少生成也有利于加速模型。
将方案转化为正则表达式
待写
- 支持多图推理的模型 eg.internvl模型 上下文模型 告诉实例,QA问法
- decoding structure 输出结构化 structured generation,方便交互,parserable prompt
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 MugaiAshe's Blog!