So-Large-LM-Task05: 大模型的训练
输入“/”快速插入
So-Large-LM-Task05: 大模型的训练
飞书用户6850
1月22日创建
Training / 大
模型的训练
“神经网络在数据上进行训练获得权重,成为深度学习模型”,这是我对基于深度学习的模型的理解。在讨论完网络架构、数据后,最后一步就是如何进行训练。
训练基于深度学习的模型,在代码角度,最重要的就是 Loss 和 Optimizer,在数学角度,就是 Objective Functions 和 Optimization Algorithm。
Objective Functions
目标函数会按 LLM 的网络架构进行讨论,分为
•
Decoder-Only (e.g., GPT-3):根据 Transformer, Decoder 部分用的是单向自注意力层,其输入时有一个 mask 矩阵遮挡了每个 token 后面的 tokens。因此,Decoder-Only 的模型计算前向上下文嵌入向量,一次生成一个 token,适合生成任务,如文本生成。
•
Encoder-Only (e.g., BERT): 根据 Transformer, Encoder 部分用的是双向自注意力层,其输入时没有 mask 矩阵对输入进行处理。因此,Encoder-Only 的模型计算双向上下文嵌入向量,适合理解任务,如文本分类。
•
Encoder-Decoder (e.g., T5): Encoder-Decoder 模型适用于既需要理解输入,也能够生成输出的输入输出之间相互转换的任务,如机器翻译。
我们可以使用任何模型将 tokens 序列映射到上下文嵌入向量中,例如 LSTM, Transformers
Decoder-Only Models
回顾:自回归语言模型是一个条件概率分布
其定义如下:
•
将
映射到上下文词嵌入向量集合
,即
•
应用嵌入矩阵
来获得每个 token 的得分
•
对其进行指数化和归一化,得到预测下一个 token
的分布
即
嵌入:将高维的局部表示空间
映射到一个非常低维的分布式表示空间
,
.
下图是一个 nndl 一书中,将 4 种颜色的 one-hot 编码映射到 RGB 空间中的例子。
事实上,如果给出 999 种颜色,用 one-hot 编码表示它们就需要 999 维空间(分布在 999 个坐标轴上),而 RGB 表示它们只需要 3 维空间(分布在整个 3 维空间中)。在机器学习中,我们可以使用神经网络来学习将高维空间映射到低维空间的函数。
Maximum likelihood
设
是 LLM 的所有参数,
是由一组序列组成的训练集,
表示每个序列的长度(tokens 的数量),
是一个序列,
是第
个 token。
然后我们可以遵循最大似然原理,定义以下负对数似然目标函数。
并且,有很多的方法可以有效地优化这一目标函数。
Encoder-Only Models
Unidirectional to bidirectional
使用上述最大似然作为目标函数训练,可以得到 Decoder-Only 模型,产生前向上下文嵌入向量。但如果我们倾向于理解任务,可以使用能产生双向上下文嵌入向量的目标函数。
BERT
BERT (Bidirectional Encoder Representations from Transformers) 的目标函数就是这种目标函数,它包含以下两个部分:
•
Masked language modeling(掩码语言建模)
•
Next sentence prediction(下一句预测)
以自然语言推理(NLI)任务(预测 entailment, contradiction, or neutral)中的序列为例
其中有两个特殊的 token
•
: 包含用于驱动分类任务的嵌入
•
: 用于告诉模型第一个序列与第二个序列(例如,前提与假设)的位置。