简介
本博客内容是《大语言模型》一书的读书笔记,该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品,覆盖大语言模型训练与使用的全流程,从预训练到微调与对齐,从使用技术到评测应用,帮助学员全面掌握大语言模型的核心技术。并且,课程内容基于大量的代码实战与讲解,通过实际项目与案例,学员能将理论知识应用于真实场景,提升解决实际问题的能力。
本文主要记录datawhale的活动学习笔记,可点击活动连接
参考
参考
Attention Is All You Need (Transformer) 论文精读
注意力的神经科学基础
https://zhuanlan.zhihu.com/p/338817680
transformer架构
2.2 主流模型架构
三种主流架构
在预训练语言模型时代,自然语言处理领域广泛采用了预训练 + 微调的范式,并诞生了如下三种主流架构。
- 以 BERT 为代表的编码器(Encoder-only)架构
- 以 GPT 为代表的解码器(Decoder-only)架构
- 以 T5 为代表的编码器-解码器(Encoder-decoder)架构
大规模预训练语言模型。随着 GPT 系列模型的成功发展,当前自然语言处理领域走向了生成式大语言模型的道路,
解码器架构
已经成为了目前大语言模型的主流架构。
进一步,解码器架构还可以细分为两个变种架构,包括
因果解码器(Causal Decoder)架构
和前缀解码器(Prefix Decoder)架构
。
值得注意的是,学术界所提到解码器架构时,通常指的都是因果解码器架构。
大语言模型的参数配置
构建大模型需要考虑的因素
➢ 归一化方法
➢ 位置编码
➢ 激活函数
➢ 注意力计算
层数𝐿、注意力头数𝑁、特征维度𝐻 (根据模型规模大小确定)
详细参数设置
归一化方法
大语言模型的预训练过程中经常会出现不稳定的问题。为了应对这一问题,深度学习方法通常会采用特定的归一化策略来加强神经网络训练过程的稳定性。原始的 Transformer 模型主要使用了
层归一化方法(Layer Normalization, LN)[158]
。随着研究工作的不断深入,基于层归一化的改进技术不断涌现,例如均方根层归一化(Root Mean Square Layer Normalization, RMSNorm)[159]
和DeepNorm [160]
,这些新技术已经在一些大语言模型中得到应用。
激活函数
前馈网络中激活函数的选择对于大语言模型的表现至关重要。通常来说,激活函数主要是为神经网络中引入非线性变化,从而提升神经网络的模型能力。在原始的 Transformer 中采用了
ReLU(Rectified Linear Unit)
激活函数。该激活函数计算较为简单,仅仅是将对输入中每个神经元和“零值”进行比较,并将小于零的神经元的值设置为 0。然而,ReLU 可能会产生神经元失效的问题,被置为 0 的神经元将学习不到有用的信息。
针对ReLU 存在的不足
,研究人员进一步探索了 ReLU 函数的变种,以实现更好的性能。Swish 激活函数
将神经元和该神经元的 sigmoid 激活的乘积作为新的激活函数。而GELU(Gaussian Error Linear Unit)
[166] 则利用标准高斯累积分布函数作为激活函数,被很多的 Transformer 模型所采用。相比于原始的 ReLU 函数,这些新的激活函数通常能够带来更好的性能并且收敛性更好,但是计算过程更为复杂。
位置编码
由于 Transformer 模型中自注意力模块具有置换不变性,因此仅使用注意力机制无法捕捉序列中的顺序关系,从而退化为“词袋模型”。为了解决这一问题,需要引入位置编码(Position Embedding, PE)对于序列信息进行精确建模,从而将绝对或相对位置信息整合到模型中。
注意力机制
注意力机制是 Transformer 架构中的核心技术,它能够针对序列中的词元对构建交互关系,聚合来自于不同位置的语义信息。
混合专家架构 (Mixture-of-Experts, MoE)
大语言模型能够通过扩展参数规模实现性能的提升。然而,
随着模型参数规模的扩大,计算成本也随之增加。为了解决这一问题,研究人员在大语言模型中引入了基于稀疏激活的混合专家架构(Mixture-of-Experts, MoE)
,旨在不显著提升计算成本的同时实现对于模型参数的拓展。
LLaMA与DeepSeek模型配置比较
2.3 上下长文模型
长上下文模型
➢ 长文档分析
➢ 论文阅读
➢ 多轮对话
➢ 故事创作
长度外推 (Length Extrapolation)
➢ 在超出原始上下文窗口的文本上依旧保持与上下文窗口内部相似的性能
➢ 代表模型:AliBi、T5 Bias、xPos
改进方法
2.4 新型架构
Transformer 模型自问世以来,在自然语言处理、计算机视觉等多个领域得到了广泛应用,并展现出卓越的数据表示与建模能力。然而,
Transformer 的自注意力机制
在计算每个词元时都需要利用到序列中所有词元的信息,这导致计算和存储复杂度随输入序列长度的平方级别增长。在处理长序列时,这种复杂性会消耗大量的计算资源与存储空间。为了解决这个问题,研究人员致力于新型模型架构的设计。
这些新型模型大多基于参数化状态空间模型(State Space Model, SSM)
进行设计,在长文本建模效率方面相比 Transformer 有了大幅改进,同时也保持了较好的序列建模能力。在本节中,我们将首先对于参数化状态空间模型展开讨论,然后针对状态空间模型的各种变种模型进行介绍。为了帮助读者更好地理解这些模型之间的区别,我们在表 5.2 中对于它们进行了比较。
参数化状态空间模型
状态空间模型变种
尽管状态空间模型计算效率较高,但是在文本任务上的表现相比 Transformer模型仍有一定的差距。为此,一系列研究工作对于状态空间模型进行了性能改进,在保证计算效率的同时提高其语言建模的能力。代表性模型包括 Mamba [187]、RWKV(Receptance Weighted Key Value)[188]、RetNet(Retentive Network)[189]和 Hyena [190] 等。