分类目录归档:DeepLearning

高级 RAG 技术

前置知识:检索增强 RAG

相比于朴素 RAG,高级 RAG 在预检索过程(Pre-Retrieval Process) 和 后检索过程(Post-Retrieval Process) 两个阶段引入了一些改进措施,提高检索质量

  • 预检索过程的重点是索引优化与查询优化;前者目的是提高被索引内容的质量,包括检索粒度、索引结构优化、元数据附加、对齐优化和混合检索等操作;后者目的是优化用户的原始问题表述,比如查询重写、查询转换和查询扩展等技术
  • 后检索过程的重点是相关上下文的有效整合;比如重排序,将最相关的信息排在考前的位置;或者上下文压缩,

Read more

检索增强 RAG

上下文学习 ICL 是大模型 RAG 的前提基础

朴素 RAG

RAG(retrieval-augmented-generation):基于信息检索的提示词增强技术

RAG 的一般流程:

  1. 先对文档切分,再借助 Embedding 模型实现知识的向量化存储
  2. 通过余弦相似度等度量标准,检索与查询向量最相似的文档(召回)
  3. 重新排序检索到的文档,并只保留最相关的文档(提高 RAG 的质量)

推荐参考 MTEB 排行榜,结合个人需求选择合理的 Embedding 模型

RAG 的优点:

  • 通过事实类知识

Read more

大模型输出配置

输出长度 output length

  • 指定输出文本中的 token 最大长度,一般达到最大 token 时会自动截断
  • 输出长度的设置,并不会导致 LLMs 的输出简洁(可以通过提示工程来实现)
  • 限制最大输出长度,有助于减少能耗,降低响应时间,规避 LLMs 的无效输出

温度 temperature

  • 控制结果的随机性,较高的温度设定会导致输出结果的多样化和不确定性增加
  • 温度较低可以增强 LLMs 对提示词的服从性,偏创意输出的试验可考虑高温度

注意:

  • 当温度设

Read more

多 Agent 设计

多 Agent 设计技巧:

  • 分工合作:大模型负责任务拆分与深度思考,小模型负责子任务执行与广度探索;二者配合,不但能实现并行推理,提高推理的速度和效率,还可以改善最终的任务完成效果
  • 理解 Agent:观察并代入 Agent 的思考模式,并通过精准而有效的提示词来引导 Agent
  • 任务分配:每个子 Agent 都需要有详细的任务目标、输出约束、工具和资源列表、任务边界;在合理的情况下,考虑通过子 Agent 的任务并行来加快效率(比如独立工具的并行调用)
  • 根据查询复杂度调整工作规模:简单的信息收集仅需 1 个智能体,调用 3-10 次工具;直接比较可能需要 2-4 个子智能体,每个调用 1

Read more

思维链 CoT 进阶

前置知识:思维链提示 CoT自洽性 self-consistency

思维树 ToT

思维树 ToT (Tree of Thoughts,2023-05):

  • ToT 的核心思想是将问题解决过程视为在思想树中的搜索,其中每个节点代表一个部分解决方案,每个分支代表对解决方案的修改,通过多条推理路径评估实现更优的推理决策

以“24 点数字”游戏为例来说明 ToT 的实现步骤:

  • “24 点数字”是一种简单的数字推理游戏,给定 4 个数字,比如 $[4,9,10,13]$;游戏目标是将 4 个字数进行加减乘除的四

Read more

提示工程 Prompt

基础提示技巧

一个好的提示包含以下内容:系统提示、角色提示、语境提示、示例提示

提示词基础技巧

  1. 肯定式指令,减少不精确的模糊描述,提高紧迫感(PUA)
  2. 通过示例明确输出格式,必要时可引导任务的拆分或自检
  3. 找一个好的提示词框架,明确角色、目标、行为、场景与期望

系统提示

系统提示:定义模型的基本功能和总体目标

Read more

Agent 通信协议

MCP 模型上下文协议

MCP 协议基本架构(图源

  • 由 Anthropic 提出,用于标准化 LLMs 与外部系统交互的接口
  • 开发者能以统一的方式将大模型对接到各种数据源和工具
  • MCP 采用了经典的 C/S 架构,包含主机、服务端和客户端三部分

目前 MCP 协议已得到了广泛的生态支持,兼具通用性和灵活性

MCP 底层通信

MCP 的会话管理

  • 通过一个健壮的两步握手(i

Read more

注意力机制进阶

前置知识: 10.《动手学深度学习》注意力机制

普通线性注意力

原始 Tansformer(左) VS 线性 Tansformer(右):

  • N:序列长度,在自然语言处理任务中,指句子中 Token 或词的数量。
  • d:特征维度,即每个元素(如单词的词向量)的维度。
  • O(N²d)、O(Nd²) :计算复杂度。大 O 描述了计算量随输入序列变长的增长速度,如 O(N²d) 表示计算量与 N² 和 d 成正比 。
  • Q(Query):“查询” 矩阵,用于在自注意力机制中向其他元素询问相关

Read more

上下文学习 ICL

大语言模型(LLMs)的上下文学习:经过预训练的 LLMs 能根据文本提示或任务示例来直接对下游任务进行预测,而无需更新模型权重,这种能力也被称为上下文学习(in-context learning,ICL)或语境学习

简单来说,ICL 就是在不更新模型参数的前提下,通过输入经典示例作为提示来增强模型的能力

以情感分析为例,来说明 ICL 的一般流程(图源):

  • ICL 需要一些示例来形成一个用于情景演示的上下文,作为提示输入来增强 LLMs
  • ICL 示例一般用自然语言模板编写,并拼接真实的输入查询(Text)与结果(Label)

ICL 的分类:

  • Few-shot learning,

Read more

TabPFN 表格数据基础大模型

TabPFN 的主要特点:

  • 一种面向小规模表格数据(样本量<=10000)的预训练 Transformer 模型
  • 不同与以往基于 X 预测 Y 的传统模型,TabPFN 更类似于 AutoML 或者元学习的思路,其先基于真

Read more