模型设计和训练

大语言模型需要大规模模型。本节介绍大语言模型的大规模模型的设计、训练和推理过程中的优化方法。随着大语言模型越来越大,但训练用的 GPU 硬件资源(如存储单元)是有限的,因此,人们提出了各种方法,来优化模型的存储和计算。

模型设计和训练

我们首先来看大语言模型基于的 Transformer 模型的设计和训练。

首先,Transformer 的模型结构有两项重要更新:SwishGLU 和 RMSNorm。最近,它也有一些改进,比如:相对位置编码,旋转表征、ALiBi 表征、Gated FFN。

其次,为了支持超过 1T 参数的模型训练,需要多 GPU 并行训练和优化存储。其中,通过采用“混合精度” 和 TensorCores ZeRO 冗余,降低对存储的需求。

然后,为了提高效率,还有各种技巧,包括:

最后,训练 Transformer 也有很多技巧。GPT-3 的论文中也介绍了很多训练技巧。

上面的这些内容,详见斯坦福 CS224U 的 PPT 和 Yandex 课程的 PEFT PPT。

模型理解

人们探索了如何理解训练获得的语言模型。

首先,可以观察学习到的 Attention。如 Anthropic 2022 年 3 月发表的 In-context Learning and Induction Heads 指出,“Induction heads” 是大多数 In-Context Learning 的内在机制。

其次,研究者在 GPT-2 中找到了一个用于自然语言任务的大电路,并对我们的人类可理解的解释进行了定量评估。这个电路由 26 个 Attention Head 组成,包括 Previous Token Head, Induction Head, Duplicate Token Heads,很有意思。《Interpretability in the Wild: a Circuit for Indirect Object Identification in GPT-2 Small》,2022。

最后,有研究者发现,Transformer 里的 FFN 层起到了 Key-Value 存储的效果《Transformer FFN Layers are Key-Values Memory》, EMNLP 2021。

课程材料

软件

论文

普林斯顿大学课程材料

Systems

Refer:

Sparse models

Refer:

约翰霍普金斯大学

模型 Generalism

Diagnosis:

Model

Additional Reading(s):

参考

深度学习模型的实现

深度学习模型层出不穷。要跟上最新的趋势,最好的办法,可能是看 Lucidrains 的 Github 仓库。这个人特别神。他专门实现各种流行的、影响力很大的 AI 模型。从他实现什么模型,就能看出现在最流行什么模型。真的是精力旺盛。

HF Transformer 模型参数

代码

系统

Index Previous Next