大模型学习笔记——模型架构

7.1 模型概括

分词

架构:Transformer

7.2 分词

句子转化成单词序列。

7.2.1 基于空格分词

7.2.2 Byte pair encoding

字节编码(BPE)

BPE 算法的基本步骤:

1. 初始化词汇表:将输入文本中的每个字符或字符组合作为初始的词汇表。

2. 计算字符(或字符组合)的频率:统计文本中每个字符(或字符组合)的频率,并构建一个频率字典。

3. 合并最频繁的字符(或字符组合):选择频率最高的字符(或字符组合)并将其合并为一个新的字符或字符组合。更新词汇表和频率字典。

4. 重复步骤 3 直到满足停止条件:根据设定的停止条件(如达到设定的词汇表大小或压缩率),重复步骤 3,继续合并频率最高的字符(或字符组合),直到满足停止条件。

BPE 算法经常被用于分词任务,特别是在构建子词(sub-word)级别的表示模型时。通过将连续出现频率高的字符或字符组合替换为一个特殊的字符,BPE 可以捕捉到单词内部的子词信息,从而在处理未见过的词汇时具有一定的泛化能力。

BPE 算法也常用于生成文本的数据压缩、文本预处理和表示学习等任务中。

7.2.2.1 unicode的问题

Unicode字符过多,一般对字节进行BPE编码

7.2.3 Unigram model (SentencePiece)

另一种分词方法定义一个目标函数来捕捉一个好的分词的特征

实例:
 

7.2.3.1 算法流程

EM算法:

EM算法(Expectation Maximization algorithm)是一种迭代优化算法,常用于处理含有隐变量的概率模型参数的最大似然估计问题。

EM算法的基本思想是通过交替进行两个步骤:E步(Expectation step)和M步(Maximization step)。在每一次迭代中,EM算法通过计算期望(E步)和最大化似然函数(M步)来更新模型参数,直到收敛到一个局部最优解。

EM算法就是一个求(局部)最优解的方法。

 7.3 模型架构

将序列转化为矩阵,例如(为啥能这么举例子数据为啥能这么写,希望有朋友答疑):

7.3.1.1  编码端(Encoder-Only)架构

模型:BERT、RoBERTa

特点:生成上下文向量表征,但不能直接用于生成文本。通常用于分类任务。

7.3.3.2 解码器(Decoder-Only)架构

模型:GPT系列模型、自回归语言模型

特点:给一个提示,生成上下文向量特征,对下一个标记生成一个概率分布,补全句子。只能参考单侧上下文

7.3.3.3 编码-解码端(Encoder-Decoder)架构

模型:最初的Transformer模型、BART、T5等

特点:结合了上面两者的优点,它们可以使用双向上下文向量表征来处理输入,并能输出,

7.3.2 语言模型理论

Transform、RNN

Transformer是一种用于序列任务的深度学习模型,特别适用于自然语言处理任务,如机器翻译、文本生成等。它提出了一种全新的架构,摒弃了传统循环神经网络(RNN)和卷积神经网络(CNN)的结构,使用了自注意力机制(self-attention)来建模输入序列之间的依赖关系。

下面是Transformer模型的基本理解和流程:

1. 输入编码:Transformer模型首先对输入序列进行编码,其中输入序列可以是词语、字符等等。每个输入元素通过嵌入层(Embedding)映射到一个连续的向量表示,该向量表示称为嵌入向量(Embedding Vector)。

2. 位置编码:为了引入序列中元素的位置信息,Transformer引入了位置编码。位置编码是一组与嵌入向量相加的向量,以表示输入序列中的位置信息。常见的位置编码方式有绝对位置编码和相对位置编码。

3. 自注意力机制:自注意力机制是Transformer的核心部分。它允许模型在编码器和解码器中自动对输入序列的不同部分进行加权关注。通过计算每个输入元素与其他元素的相关性得分,得到每个元素对其他元素的注意力权重。这样,模型可以获取全局上下文信息,建模元素之间的长距离依赖关系。

4. 多头注意力:为了增加模型的表达能力,Transformer引入了多个并行的自注意力机制,称为多头注意力。其中,每个注意力头都学习不同的相关性表示,从而捕捉输入序列的多个不同子空间。最后,多头注意力输出的结果通过连接和线性转换进行整合。

5. 前馈神经网络:除了自注意力层外,Transformer还包括前馈神经网络层。前馈神经网络由两个线性层和激活函数构成,用于对自注意力层的输出进行非线性变换。

6. 编码器-解码器结构:Transformer通常由编码器和解码器组成。在机器翻译等任务中,编码器负责将源语言序列编码为一系列特征表示,解码器根据这些表示生成目标语言序列。编码器和解码器都由多层的自注意力和前馈神经网络模块组成。

7. 损失函数和训练:Transformer模型通常使用交叉熵损失函数,并通过反向传播和梯度下降等优化算法来最小化损失函数。训练过程中,模型逐步更新参数,使得模型能够更好地预测目标序列。

总结起来,Transformer模型通过利用自注意力机制来建模序列之间的依赖关系,避免了传统循环和卷积结构的限制。它在自然语言处理等序列任务中取得了很大的成功,并成为现代深度学习的重要模型之一。

(学习笔记,欢迎补充勘误)

学习资料:

so-large-lm/docs/content/ch07.md at main · datawhalechina/so-large-lm · GitHub

 

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值