分类目录归档:DeepLearning

大模型输出配置

输出长度 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. 减少不精确的模糊描述
  2. 通过示例明确输出格式
  3. 找一个好的提示词框架

系统提示

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

  • 有助于生成符合特定要求

Read more

Agent 通信协议

MCP 模型上下文协议

MCP 协议基本架构(图源

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

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

MCP 的两种模式:

  1. Stdio:主要用在本地服务上,操作本地的软件或者本地的文件
  2. SSE:主要用在远程服务上,比如基于 API 访问谷

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

贝叶斯神经网络 BNN

前置知识:贝叶斯算法高斯过程回归

BNN 的定义

贝叶斯神经网络(Bayesian neural networks, BNNs):

  • 神经网络中的可训练参数,即权重(weight)和偏置(bias)都表示为一个分布
  • 一种最简单的 BNN 就是将模型参数看作服从均值为 $\mu$,方差为 $\delta$ 的高斯分布;考虑到中心极限定理的存在,一般认为模型参数符合高斯分布是一种合理的假设
  • 在预测时,BNN 会从每个高斯分布采样,得到一个确定的神经网络,然后用于预测;也可以对参数多次采样后分别进行预测,然后将多次预测结果进行汇总(类

Read more

大模型开发技巧

低显存GPU环境调试大模型

方案:将 config.json 文件中 num_hidden_layers 的值修改为较小的值(比如 1)

原理:隐藏层中 block 的输入输出维度是一致的,因此去除重复的 block 并不会影响模型的处理逻辑;但需要注意该方法会影响模型的性能,因此只适合模型调试阶段使用。

低显存 GPU 环境推理大模型

分层推理法:将模型根据层来进行拆分存储,推理时分批次将要处理的层导入显存

代码示例:

from accelerate import init_empty_weights
from accele

Read more