分类目录归档:DeepLearning

注意力机制进阶

前置知识: 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

模型量化 Quantization

前置知识:模型参数的数据类型大模型的显存占用

Read more

模型融合 ModelMerge

基本概念

模型融合(model merging):

  • 将多个神经网络模型进行合并,得到一个融合模型
  • 优势在于节省计算/时间成本、无需训练数据(隐私保护)
  • 有时能取得类似多任务学习的效果,也可能具备更好的泛化性

思考:如何验证模型融合的合理性? (此处

Read more

图表示学习

图表示学习方法一般包括图嵌入表示和图神经网络

  • 图嵌入表示(Node Embedding)为每个节点学习一个嵌入表示(低维稠密向量),使得在原始网络中相似的节点,它们的嵌入表示也更为相似
  • 图神经网络(Graph Neural Networks)通过聚合邻域节点的信息来生成节点的表示

图嵌入表示

基于随机游走的图嵌入经典方法:

  • 等长度、无偏的随机游走:DeepWalk (2014 KDD Perozzi et al.)
  • 有偏的、局部与全局视

Read more

循环神经网络

循环神经网络(RNNs):具有隐状态、不同层参数共享的神经网络

常见的三种基础 RNNs :RNN、GRU、LSTM

RNN

隐变量模型:使用隐状态 $h_{t-1}$ 存储前 $t-1$ 步的序列信息 $$P(x_t|x_{t-1},...,x_1)\approx P(x_t|h_{t-1})$$ $$h_t=f(x_t,h_{t-1})$$ 循环神经网络(recurrent neural networks,RNNs) 是具有隐状态的神经网络

假设时刻 $t$ 的输入为 $X_t \in \mathbb{R}^{n\times d}$,对应的权重参数为 $W

Read more

卷积神经网络

卷积神经网络(CNN):引入了卷积操作的神经网络

普通卷积

严格来说,卷积层是个错误的叫法,因为它所表达的运算其实是互相关运算(cross-correlation)

二维互相关运算示例:

汇聚/池化层

池化(pool)层的优点:降低卷积层对位置的敏感性

常用池化层分两种:最大池化层和平均池化层,前者示例如下:

类似于卷积层,池化层也会有填充和步幅,使用大于 1 的步幅可以起到降维的作用

不同于卷积层,池化层在每个输入通道上是单独计算的,所以池化层的输出通道数等于输入通道数

膨胀卷积

膨胀(dilated)卷积,也称

Read more