prompt
Prompt
定义
用于指导生成式人工智能模型执行特定任务的输入指令。
组成
- 任务说明(具体的任务要求)
- 上下文(任务的相关背景,包括知识前提、受众、任务示例或有助于模型理解任务的信息)
- 问题
- 输出格式
prompt分词向量化
token是承载语义的最小单元,将prompt提示词拆分成token,进行向量化表示,拆词颇具挑战性,依赖于分词算法(分词器)——BBPE、BPE、WordPiece等。
每个大语言模型都有自己的分词器,分词器维护一个词表,它的质量对模型的性能有直接的影响。不同的分词粒度导致不同大小的词表。
分词器作用:识别文本中的关键词和短语,分词器的效率直接影响到模型的训练和推理速度,高效分词器可以对文本token优化压缩,缩短模型在处理数据时所需的时间。
prompt工程
定义
设计与优化prompt的技术,称为prompt工程。
核心
将新任务通过prompt构建为模型在预训练阶段已经熟悉的形式,利用模型固有的泛化能力来执行新的任务,而无需在额外的特定任务上进行训练。
意义
模型无需微调,通过prompt特征工程完成既定任务,使得模型在多个领域发挥出不错的性能。
规范prompt编写
-
任务说明
清晰表达动词——判断、分类、生成等
使用具体名词定义任务的输出
简洁直接抓住任务的核心要求
结构化布局,任务说明放置在开头或结尾 -
上下文
丰富:内容的多样性与相关性,包括背景信息、演示示例、对话的连续性内容
清晰:避免不必要的信息、直指任务核心 -
输出格式
结构化:JSON、XML、HTML、Markdown、CSV
- 在prompt中明确指出希望模型使用的输出格式
- 在prompt中提供一个输出格式的具体示例
- 排版
使用合适的分隔符(#…)和格式化技巧(空白或缩进、添加标题和子标题)
prompt编写技巧
- 合理归纳提问,将复杂问题拆解
- 适时使用CoT(将完备的思考逻辑给到模型,任务通常为算术、常识和符号推理)
- 角色扮演:在指令中包含具体属性、职责、知识和技能
- 情景代入:将模型置于特定情境或环境。
- 迭代:不断优化指令(根据思路→尝试实践→得到结果→分析bad case→循环)
- 避免负向指令,告诉模型应该输出什么
上下文学习 In-Context Learning,ICL
定义
通过构造特定的prompt,使得语言模型理解并学习下游任务的范式
分类
- zero-shot:无需提供任何示例
- one-shot:一个示例
- Few-show:几个-十几个示例,示例的增加会显著增加大语言模型推理时的计算成本,多类别样本最好是1:1:1
性能影响因素(影响上下文学习)
- 预训练数据:
- 丰富的跨领域语料库进行预训练,模型具备更稳定的上下文学习能力
- 多样化任务有助于模型学习技能,增强任务泛化能力。
- 训练数据存在突发性分布和罕见类别时,会增强模型的上下文学习能力。
- 预训练模型
模型参数规模越大,上下文学习能力越强
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 邹阳 の 博客!



