模块四-LLM与文本生成

📅 2026/6/28 22:22:31
模块四-LLM与文本生成
模块四-LLM与文本生成系列导航本文是 RAG 技术教程 的第四篇。可与模块三并行学习。前置知识需了解模块一中的 LLM 基础概念词元、上下文窗口、幻觉。模块三讲检索器本模块讲生成器两者互补。版权声明本系列基于 DeepLearning.AI 课程Building and Evaluating Advanced RAG Applications讲师 An Hassan整理为学习笔记性质的二次创作。原始课程版权归 DeepLearning.AI 及讲师所有。1. LLM 与文本生成从 Transformer 到 Agentic RAG1.1 1. LLM 在 RAG 中的核心地位检索器可以找到并准备有用的信息但真正需要利用这些信息生成高质量回复的是 LLM。检索器不需要会写文章LLM 不需要会查资料各司其职。本模块深入 LLM 的工作原理、调优手段和高级应用。1.2 2. Transformer 架构解析1.2.1 起源与核心组件Transformer 在 2017 年论文《Attention Is All You Need》中首次提出最初用于机器翻译。它由两大组件构成编码器Encoder处理原始文本建立深层语境理解。通常用于嵌入模型内部。解码器Decoder利用理解生成新文本。大多数语言模型仅包含解码器——因为只需关注文本生成。1.2.2 九步处理流程提示进入 Transformer 后经历九个步骤步骤名称做了什么1文本分词提示被拆分为词元2初始嵌入每个词元被赋予初始密集向量对该词元含义的初步猜测3位置编码每个词元获得位置向量以捕捉在提示中的位置4注意力机制每个词元查看所有其他词元决定应重点关注哪些5前馈层基于注意力结果为每个词元分配更新的向量嵌入6重复多层步骤 4-5 重复 8-64 次逐步完善理解7概率分布基于最终向量计算词汇表中每个词元作为下一个出现的概率8选择词元从概率分布中采样一个词元追加到文本末尾9自回归生成如果需要生成第二个词元重复步骤 1-8同时考虑原始词元和新增词元1.2.3 注意力机制详解注意力机制是 Transformer 的核心。每个词元会查看提示中的所有其他词元并决定应重点关注哪些。示例“棕色的狗坐在红色狐狸旁边” → “狗可能最关注棕色和坐”70% 给棕色20% 给坐10% 分布在其他词元上。注意力头Attention Head分配注意力的机制。大多数模型包含多个注意力头专门处理不同词语间的关系。一个注意力头可能专注于对象与其描述之间的关系另一个可能专门处理空间关系。小型模型可能使用 8-16 个注意力头大型模型可能超过 100 个。1.2.4 对 RAG 的三个启示解释 RAG 为何有效模型能深入理解提示中添加信息的意义和相关性得益于注意力机制LLM 本质上仍是随机的即使注入了有意义的信息LLM 仍可能随机不基于该信息生成文本 → 需要控制随机性并验证答案计算成本单个词元需要大量处理成本随提示或输出长度增加而增长1.3 3. LLM 采样策略1.3.1 概率分布LLM 添加到回复中的每个词元都是加权随机选择。开源模型可以查看每一步生成的词元概率分布。尖锐分布模型对其选择非常自信只有一个或少数几个词元有实际被选中的可能平坦分布模型有许多可能的方向没有明确的胜出者1.3.2 采样参数详解贪心解码指示 LLM 始终选择概率最高的词元。使 LLM 变得确定性相同提示始终生成相同回复但文本完全可预测可能显得泛泛或生硬有时会陷入重复生成相同词语序列的循环。适用于需要高度可预测输出的场景如代码补全或调试系统。温度Temperature控制 LLM 随机性的最常用参数——调节概率分布形状的旋钮。温度值效果温度 0启用贪心解码仅最可能的词元有 100% 概率温度 1更尖锐的分布只有最可能的词元有生成机会温度 1保留原始分布默认温度 1.1-1.3平滑概率分布增加多样性产生更有趣甚至创意文本温度过高概率分布非常平坦所有词元被选的概率大致相等即使不合逻辑Top-K 采样限制 LLM 从最可能的前 K 个词元中选择。例如同时设置温度为 1.1 并限制从最可能的 5 个后续词元中选择。Top-P 采样Nucleus Sampling限制 LLM 选择累积概率低于阈值的词元。例如设置 Top-P 为 85%从分布左侧开始累加每个词元的概率直到总和超过 85%。Top-P vs Top-K 的区别Top-P 通常更灵活——LLM 始终从固定词元池中选择无论分布形状如何。模型确定时限制为最可能的少数词元不确定时可从更大候选池中选择。重复惩罚降低完成文本中已出现词元的概率使生成文本听起来更自然且多样化。对数偏差Logit Bias调整特定词元的概率永久性调整。例如降低某些词汇的概率以防止生成粗俗内容或提升特定类别的概率以确保 LLM 始终在这些类别中选择。1.3.3 采样参数速查参数作用调大效果调小效果温度控制分布形状更多样、更创意更确定、更保守Top-K限制候选词元数量候选池更大、更多样候选池更小、更确定Top-P限制累积概率阈值候选池更大、更多样候选池更小、更确定重复惩罚抑制重复词元更少重复、更多样允许重复对数偏差永久调整特定词元概率特定词元更易出现特定词元更难出现1.3.4 推荐参数组合场景温度Top-P重复惩罚说明代码/事实性问题0-0.30.91.1保守选择确保准确通用对话0.80.91.2平衡准确与自然创意写作1.1-1.30.951.3鼓励探索性文本1.4 4. 大语言模型选择市面上有大量不同性能级别的语言模型各具独特能力且成本结构不同。选择合适的模型会对应用速度、质量与预算产生重大影响。1.4.1 可量化差异维度说明模型规模通常以参数数量的十亿级别衡量小型 1-100 亿大型 100-500 亿成本模型提供商通常按百万词元固定价格计费上下文窗口最大词元数量更大限制允许更长的提示和响应首次令牌响应时间以每秒词元数表示的速度训练截止日期模型训练数据的最后时间点1.4.2 质量基准自动化基准特定领域的多项选择题测试或数学/编程挑战如 MMLU — 涵盖 57 门学科人工评估基准两个匿名 LLM 对同一提示做出响应由人类评估者选择更优答案 → 使用 ELO 算法生成对比排行榜如 LM ArenaLLM 作为裁判使用一个 LLM 评估另一 LLM 的回答相对廉价但可能偏好自身家族模型1.4.3 基准的陷阱数据污染问题基准测试数据集可能包含在训练数据中导致模型在该基准上表现过优实际能力并非如此。基准饱和现象模型在几年内就能达到与人类专家相当的表现 → 基准不再能区分不同模型 → 需要引入新的更具挑战性的基准。选择合适的语言模型是一个重要但临时的决策应计划最终替换为新发布的更适合的模型。1.5 5. 提示词工程1.5.1 消息格式最常见的格式是 OpenAI 的消息格式——使用 JSON 结构将提示组织为一系列消息。单条消息包含内容纯文本 角色属性。三种角色系统消息指导模型整体行为通常包含高层次指令用户消息记录系统用户已发送的提示助手消息记录 LLM 之前生成的响应1.5.2 多轮对话的工作原理LLM 实际上不会记住之前的对话内容。整个对话会被转换为消息格式每次新用户提示都会提交整个对话。这就是为什么对话历史太长会导致成本和延迟增加——每次都要重新发送所有历史消息。1.5.3 系统提示的设计系统提示是放置高层次行为指导的最佳位置。典型要素包括模型训练数据的知识截止日期、当前日期、响应流程逐步推理、安全约束、输出格式Markdown、个性特征。在 RAG 系统中系统提示可以要求模型仅使用检索到的文档回答问题或判断文档是否相关或在回应中引用来源。1.5.4 增强提示模板构建精心设计的提示模板规定提示的高层次结构系统提示 — 行为指导对话历史 — 用户与 LLM 的历史消息检索文档 — 检索器获取的前 5-10 段落 处理说明最新用户提问使用模板的优势便于实验不同提示结构可修改各个组件并观察对最终生成结果的影响。1.6 6. 高级提示词技术1.6.1 上下文学习In-Context Learning通过在提示中添加示例来帮助模型学习所需输出类型。少样本学习Few-Shot包含多个示例单样本学习One-Shot只包含一个示例。实现方式可以硬编码示例到提示中稳定模型行为也可以使用 RAG 从知识库中检索示例问题和回复如将成功的客户对话索引到向量数据库中。1.6.2 思维链提示Chain-of-Thought鼓励模型分步推理提示内容。指示模型先进行思考或分步分析再给出最终答案。核心思想为语言模型提供一个整理思路的草稿区。常见做法使用草稿标签如draft告诉模型这些标记是思考空间而非最终答案的一部分。模型在草稿区逐步推理然后输出最终答案。这能显著提升复杂推理任务的准确性。1.6.3 推理模型推理模型如 o1、DeepSeek-R1擅长复杂推理任务——编码、数学、规划谜题、复杂工作流程。它们先生成推理词元进行预先规划考虑多种选项然后输出最终响应词元。通常运行速度更慢且成本更高。在 RAG 中推理模型在评估检索文档的相关性方面尤为出色更擅长决定如何将信息最佳融入回答。推理模型的提示技巧无需要求推理模型分步思考这是它们已训练好的能力。它们更擅长明确目标导向的任务。推理模型难以进行上下文学习原因在于训练方式的差异。普通 LLM 的训练目标是给定输入输出最可能的文本收到 few-shot 示例时会把它当作模式来模仿。推理模型的训练目标是拿到问题后先自己推理再输出答案收到示例时不会简单模仿而是把示例也当作需要分析和推理的素材——它想太多了反而偏离了想要的简单输出。所以推理模型更适合直接给目标“判断以下文本的情感”而不是给示例让它模仿。1.6.4 上下文窗口管理初始提示和 LLM 生成的补全内容都会占用上下文窗口。检索文档、上下文信息、学习示例、推理模型规划会迅速填满窗口。上下文修剪方法简单方案保留固定数量的最新消息如最后 5 条复杂方法使用独立 LLM 摘要旧消息缩小体积同时保留关键信息推理模型几乎需要移除聊天历史中的推理词元仅保留响应词元RAG 系统通常只需包含检索到的片段以支持最近问题的响应1.7 7. 幻觉处理1.7.1 幻觉的类型级别表现示例轻微准确描述但细节错误折扣 5% vs 10%中等错误声称存在实际不存在的信息声称某功能已上线严重完全虚构信息虚构公司从未提供的学生折扣幻觉问题没有完美解决方案。RAG 是目前最佳方法之一。1.7.2 减少幻觉的方法系统提示约束修改系统提示要求模型仅能基于检索信息进行事实陈述。这是最直接的手段。引用来源要求模型在每句或段落结尾引用来源。提高模型回应与检索源的一致性便于人类验证。当模型知道需要引用时它更倾向于基于提供的信息作答。自一致性检查让模型对同一提示多次生成回答如 5 次然后检查事实信息是否一致。如果某个事实在 5 次回答中出现了 4 次可信度较高如果只出现 1 次可能是幻觉。成本高且不完全可靠但在高价值场景中值得使用。1.7.3 幻觉检测工具ContextCite 系统逐句处理回应将其归因于检索到的上下文文档之一为每句生成标签标注来源文档。当陈述缺乏支持材料时标记为无来源。ALCE 基准测试衡量系统在生成响应时引用来源的能力生成三个关键指标流畅性、正确性与引用质量。1.8 8. LLM 性能评估1.8.1 专用评估指标大多数指标依赖于使用其他语言模型评估回复质量LLM-as-Judge。回复相关性Answer RelevanceRAG 系统生成的回复 → 输入新 LLM 生成多个可能的示例提示 → 计算实际用户提示与每个示例提示的余弦相似度 → 取平均。检查能否合理地从响应反推用户提示。可信度Faithfulness使用 LLM 识别响应中的所有事实声明 → 判断这些声明中有多少得到知识库中检索到的信息支持。被支持的声明百分比即为可信度。1.8.2 跨系统评估用户反馈点赞/点踩→ A/B 测试系统变更。调整提示并观察对用户满意度的影响。由于模型响应质量具有主观性应计划使用模型作为裁判的评估或人工反馈评估。1.9 9. 自主式 RAGAgentic RAG1.9.1 Agentic 工作流的定义在系统中使用多个语言模型每个负责整个流程中的单一步骤。你已经见过这个概念用于查询扩展的语言模型、提示重写、引用生成。Agentic 系统有两个关键变化任务分解任务被分解为一系列步骤和决策每个步骤都可以调用不同的语言模型完成工具访问语言模型可以访问更广泛的工具如代码解释器、网络浏览器、向量数据库1.9.2 Agentic RAG 完整示例不需要检索需要检索文档不够文档足够用户提交提示路由 LLM生成 LLM检索器查找文档评估 LLM构建增强提示最终 LLM 审核并添加引用返回回答路由 LLM小型模型判断提示是否需要调用向量数据库只输出是或否评估 LLM确定检索的文档是否足以回答问题如果不够则再次请求检索最终 LLM审核响应并添加引用不需要在每个步骤使用相同的 LLM。路由器和评估器可以是轻量级模型运行快、成本低生成回复使用更大的模型。1.9.3 四种工作流模式模式说明示例顺序工作流线性传递输出查询解析 → 查询撰写 → 引用生成条件工作流LLM 决定走哪条路径路由器决定是否需要检索迭代工作流输出路由回早期阶段形成循环代码生成系统多次尝试直到可运行并行工作流拆分为独立任务完成后合并编排 LLM 拆分任务合成 LLM 整合LLM 开始看起来不像独立解决方案而更像是可嵌入更大工作流的模块化组件。1.10 10. RAG vs 微调1.10.1 微调的本质通过重新训练现成的 LLM 以提升特定场景下的性能。使用领域标注数据集包含提示和预期答案进行再训练模型被适配到特定指令。1.10.2 微调的效果以医疗领域为例通用语言模型对特定症状关节疼痛、皮肤皮疹、日光敏感给出泛泛回答 → 微调后显著提升该类问题的解答能力采用更符合医疗领域的风格。在特定领域性能提升但可能降低其他领域的性能。1.10.3 微调的关键认识微调通常不是向 LLM 传授新信息的好方法。它对模型响应提示的方式影响更大如使用的词汇、风格或结构而对模型掌握的信息影响较小。在 Agentic 系统中微调特别适用于小型模型——如果模型的唯一任务是判断提示是否需要检索可以使用小型轻量级模型并充分微调使其仅在单一任务上表现优异。1.10.4 RAG vs 微调对比维度RAG微调最擅长知识注入让 LLM 访问新信息领域适配让 LLM 专注于特定任务/领域典型场景检索信息回答问题路由提示、特定类型响应信息更新只需更新知识库需要重新训练微调和 RAG 常被描述为竞争方案但更准确的是互补工具。可以专门微调模型以将检索信息融入最终响应帮助模型在其 RAG 系统中的角色专业化。将微调模型添加到 RAG 管道中可以提升系统性能。来源吴恩达 RAG 课程模块四讲28-讲38讲师 An Hassan。1.11 思考题温度设为 0 和设为 1.2 分别适用于什么场景如果同时调高温度和调高 Top-K效果会叠加吗思维链提示为什么能提升复杂推理任务的准确性它对简单问题有效吗在你的 RAG 系统中你会选择用 RAG、微调、还是两者结合为什么下一篇模块五生产环境中的 RAG 系统