📘今日学习总结
大语言模型提示技术学习笔记
1 提示工程
1.1 提示设计关键要素
五大核心要素:
- 任务描述:清晰明确的任务指令,包含目标、限制条件、数据格式等
- 上下文信息:提供背景知识,帮助模型突破知识局限
- 输入数据:具体的查询内容或问题
- 提示策略:问题分解、多步思考等策略
- 输出格式:期望的回答格式和结构
1.2 任务描述设计要点
- 需要详尽清晰,包含关键信息
- 示例:DeepSeek-V3的摘要生成任务
- 应明确字数限制、内容要求、格式规范
1.3 上下文信息的作用
- 提供时效性信息(如最新政治动态)
- 突破模型知识截止时间的限制
- 确保回答的准确性和时效性
1.4 上下文学习示例
- 通过示例让模型学习解题模式和格式
- 数学问题中的分步推理展示
- 格式规范的示范作用
1.5 提示策略类型
- 角色扮演:赋予模型特定身份(如律师)
- 多专家思考:模拟多个专家共同思考
- 分步推理:将复杂问题分解为子问题
2 上下文学习
2.1 基本概念
- 定义:通过任务描述和上下文示例组成的自然语言提示来指导模型
- 数学表示:LLM(任务描述, 示例, 输入) → 答案
2.2 关键影响因素
2.2.1 示例选择策略
- 基于相关度:k近邻相似度检索
- 基于集合多样性:MMR、DPP算法选择代表性示例
- 基于大语言模型:直接生成相关示例
2.2.2 示例顺序影响
- 模型倾向于关注提示末端的示例
- 基于相关度排序:相似度高的靠近测试样本
- 基于任务性能优化:通过置信度评估最佳顺序
2.2.3 示例数目
- 数量增加通常提升性能,但存在边际效应
- 需要平衡效果与计算成本
2.3 工作机制
2.3.1 任务识别
- 模型利用预训练阶段学习的先验知识
- 识别任务类型并应用相应解决模式
- 小规模模型即具备此能力
2.3.2 任务学习
- 从示例中学习新的输入输出映射
- 注意力机制可视为隐式的梯度下降
- 大规模模型具备更强的任务学习能力
2.3.3 训练影响
- MetaICL:通过多任务训练增强上下文学习能力
- 预训练数据:多样性、长程依赖关系的重要性
- 专门训练:可以显著提升上下文学习效果
3 思维链提示
3.1 基本概念
格式:<输入,思维链,输出>
作用:通过中间推理步骤建立输入与输出的联系
3.2 提示类型
- 少样本思维链:通过示例教会模型生成推理步骤
- 零样本思维链:使用“让我们一步步思考”触发推理
3.3 改进方法
3.3.1 基于采样的方法
- Self-Consistency:生成多条推理路径,投票选择最终答案
- 解决单一思维链错误传播问题
3.3.2 基于验证的方法
- DIVERSE:训练打分模型验证中间步骤
- 识别和标记错误推理步骤
3.3.3 结构改进
- 思维树(ToT):支持回溯的多路径推理
- 思维图(GoT):更复杂的拓扑结构,支持聚合操作
3.4 能力来源分析
- 信息聚焦/过滤:提取与推理相关的关键信息
- 组合函数学习:通过上下文学习生成单步解
3.4.1 关键组件
- 符号:问题中的数字、实体等具体元素
- 模式:推理的模板和结构
- 实验表明模式一致性比符号准确性更重要
3.4.2 增强方法
- 数据增强:复杂化、多样化、具体化
- 强化学习:设计合适的奖励函数
- 验证器选择:基于规则vs基于模型
4 检索增强生成
4.1 基本概念
动机:解决模型幻觉、时效性、专业深度知识缺乏等问题
三阶段流程:
- 文档检索:从信息源检索相关文档
- 提示构造:将检索文档加入输入提示
- 模型生成:基于增强提示生成回答
4.2 检索优化策略
4.2.1 检索数据源优化
- 检索单元:观点 > 句子 > 文档
- 平衡召回率与检索时延
4.2.2 查询优化
- 查询扩展:添加补充信息,分解复杂查询
- 查询重写:突出关键信息,消除歧义
- 假设查询:用初始回答作为伪查询
4.2.3 提示优化策略
- 文档重排序:按相关度过滤和排序
- 上下文压缩:自动摘要、信息抽取、词元选择
4.2.4 过程优化策略
- 迭代检索:多次检索,结合思维链
- 自适应检索:模型自主决定检索时机和方式
- Self-RAG:学习检索、生成和评估的完整流程
4.3 关键思考
4.3.1 检索必要性
- 无关信息可能带来负面影响
- 模型已掌握的知识不需要检索
- 需要智能判断检索时机
4.3.2 成本优化
- 代理模型方法:用小模型判断检索需求
- SlimPLM:效果优于直接使用大模型
- 大小模型知识差距主要体现在长尾知识
4.3.3 实验效果
- 合理的检索增强能显著提升效果
- 自适应检索在多个数据集上表现优异
- 成本控制是关键考量因素