文章目录
- 1 概述
- 2 内容摘录
- 2.1 深度学习架构的历史
- 2.2 预训练概念、三种训练方式、效果对比
- 2.3 现代Transformer模型概览
- 1. **PaLM (Pathways Language Model, 2022年10月)**
- 2. **Llama-1 (2023年2月)**
- 3. **Falcon (2023年6月-11月)**
- 4. **Llama-2 (2023年8月)**
- 5. **Mistral (2023年10月)**
- **关键技术概述**
- 2.4 RoPE, GQA, Sliding Window Attention
- 2.5 计算机视觉领域概述(40页~115页)
1 概述
该文件涵盖了现代 Transformer 和卷积神经网络 (CNN) 的基础和应用。主要内容包括:
- 现代 Transformer 架构:详细介绍了 RoPE(旋转位置嵌入)、GQA(分组查询注意力)和 Longformer 模型中的滑动窗口注意力机制。这些技术改善了 Transformer 模型在处理长序列时的效率和效果。
- 语言建模:讨论了 RNN-LM 和 Transformer-LM 在语言建模中的应用,重点在于如何通过条件前序词生成下一个词。
- 深度学习的发展历程:回顾了多层感知机、RNN、CNN 等网络架构的历史,并介绍了预训练和微调的概念,说明了在无监督预训练后进行有监督微调能够有效提升模型的表现。
- 卷积神经网络 (CNN):文件深入探讨了 CNN 的基本原理,尤其是卷积操作、下采样、池化层的应用,以及 CNN 在图像分类中的成功应用(如 AlexNet 在 ImageNet 比赛中的表现)。此外,还讲解了数据增强和正则化技术如何减少过拟合问题。
- 视觉中的特征提取:介绍了图像处理中的卷积矩阵用于边缘检测、模糊处理和锐化等任务。
总的来说,该讲义主要针对生成式人工智能中的 Transformer 和 CNN 两种模型,讨论它们在文本生成、图像分类等领域的应用和改进。
2 内容摘录
2.1 深度学习架构的历史
深度学习的架构可以追溯到20世纪中期:
- 1960年代:Rosenblatt 提出了三层多层感知机(MLP)和 ReLU(线性整流函数)。
- 1970-80年代:提出了循环神经网络(RNN)和卷积神经网络(CNN)。
- 1990年代:线性自注意机制逐渐被提出,开始为后续的 Transformer 打下基础。
这些早期的神经网络架构为现代深度学习的快速发展提供了基础。
2.2 预训练概念、三种训练方式、效果对比
- 预训练的关键作用:
2006年,Hinton 和 Salakhutdinov 等人提出了深度学习中的预训练概念。
- 无监督逐层预训练:预训练的关键思想是逐层训练网络的隐藏层。通过先在没有标签的数据上进行训练,网络可以学到更好的初始参数,进而在有标签的数据上通过监督学习进行微调。
- 有监督微调:在经过预训练后,使用有标签的数据进行微调,从而使网络的特征适应具体任务。这种训练方式能显著提升深度网络的效果,尤其在数据不足的情况下。
- 这个无监督预训练的方法解决了深度神经网络难以训练的瓶颈,使得深度学习模型能够成功应用于各种任务。
- 三种训练方式:
a. Idea #1: Supervised fine-tuning only(仅有监督训练)- 这一想法是直接对模型进行有监督学习,使用带有标签的数据进行训练,并通过损失函数进行微调。
- 这种方法在没有任何预训练的情况下,直接通过反向传播进行参数更新。缺点是,当网络很深时,可能出现梯度消失或爆炸的问题,导致模型难以有效训练。
- Idea #2: Supervised layer-wise pre-training + Supervised fine-tuning(有监督的逐层预训练+有监督的微调)
- 先逐层进行有监督的预训练,即逐层训练神经网络的每一层,使得每一层的参数在训练过程中不断得到调整和优化。然后再通过全局的有监督微调对整个网络进行参数优化。
- 这种方法通过分阶段训练网络,避免了直接训练深层网络时的梯度消失问题,但其预训练和微调过程都依赖于标签数据。
- Idea #3: Unsupervised layer-wise pre-training + Supervised fine-tuning(无监督的逐层预训练+有监督的微调)
- 先通过无监督的逐层预训练,即利用没有标签的数据来训练网络的每一层,逐步优化每一层的特征表示。然后再通过有标签的数据进行微调。
- 这种方法不需要在预训练阶段依赖标签数据,因此可以充分利用大量无标签数据来学习有用的特征表示,再通过微调使得这些特征更加适应具体的任务。这种方法尤其适合数据集标签稀缺的情况。
- 总结来看,Idea #1 是最基础的有监督学习方法,Idea #2 引入了逐层预训练以改善训练效果,而 Idea #3 通过无监督预训练和有监督微调的结合,能够在深层网络中有效解决梯度问题,并能更好地利用无标签数据
这张图展示了 Bengio 等人在 2006 年对 MNIST 数字分类任务的实验结果,比较了不同训练方法在深度神经网络中的表现。图中的 Y 轴表示错误率(% Error),即越低越好。不同方法的表现如下:
- Shallow Net(浅层网络):
-
浅层网络的错误率约为 1.6%。由于网络较浅,它没有复杂的特征提取能力,性能有限,但还能在简单任务上表现较好。
-
Idea #1(深度网络,无预训练):
- 直接对深度网络进行有监督微调,没有任何预训练的深度网络在 MNIST 上的表现相对较差,错误率大约为 2.3%。这是因为没有预训练的深层网络容易出现梯度消失或爆炸的问题,导致训练效果不佳。
-
Idea #2(深度网络,有监督预训练):
- 在有监督逐层预训练后进行微调,性能有所提升,错误率约为 1.5%。有监督预训练帮助每一层更好地初始化参数,从而改善了深度网络的表现,但依然受限于训练过程中对有标签数据的依赖。
-
Idea #3(深度网络,无监督预训练):
- 这是错误率最低的方案,错误率约为 1.2%。通过无监督逐层预训练,网络可以有效学习到更好的特征表示,然后通过有监督微调进一步优化。这种方法不仅解决了梯度问题,还能利用大量无标签数据来提高模型的性能。
从图中可以看出,深度网络通过无监督预训练结合有监督微调(Idea #3)可以显著提高模型性能,错误率最低;而没有预训练的深度网络(Idea #1)表现最差。这表明预训练尤其是无监督预训练对于深层网络的有效训练至关重要。
2.3 现代Transformer模型概览
Modern Transformer Models部分介绍了近年来多个现代Transformer模型的创新和发展,重点讨论了PaLM、Llama、Falcon、Mistral等模型的架构、训练方式以及它们相较于经典Transformer模型(如GPT-3)的改进。以下是对该部分的详细介绍:
1. PaLM (Pathways Language Model, 2022年10月)
-
参数规模:5400亿参数(这是一个非常大的模型)。
-
创新:
- SwiGLU 代替了常用的ReLU、GELU或Swish激活函数,这提高了模型的表现。
- 多查询注意力 (Multi-query attention, MQA) 代替了传统的多头注意力机制(MHA),通过减少注意力头的数量,提高了计算效率。
- 旋转位置嵌入 (Rotary Position Embeddings, RoPE) 取代了绝对位置嵌入,能够更好地处理长序列信息。
- 输入和输出层共享相同的嵌入矩阵,减少了模型的参数量。
-
训练:使用Adafactor优化器,在7800亿个tokens上进行训练。
2. Llama-1 (2023年2月)
-
模型参数规模:包括7B、13B、32B和65B四个版本。
-
创新:
- RMSNorm 应用于输入,而不是传统的在输出中使用的LayerNorm,这有助于稳定模型训练。
- SwiGLU激活函数 代替ReLU,使得模型的激活更加平滑。
- RoPE 代替了绝对位置嵌入,提升了位置编码的性能。
-
性能:Llama-13B 在许多任务中优于GPT-3。
-
训练:使用AdamW优化器,在1.0-1.4万亿个tokens上进行训练。
3. Falcon (2023年6月-11月)
-
模型参数规模:包括7B、40B和180B三个版本。
-
特点:
- 这是第一个完全开源的模型,采用了Apache 2.0许可证。
- 分组查询注意力 (Grouped Query Attention, GQA) 替代了传统的MHA,使得模型在计算上更为高效。
- RoPE 表现优于其他位置编码方法(如Alibi)。
- GeLU激活函数 被采用,替代了SwiGLU。
-
训练:使用AdamW优化器,180B参数的模型在3.5万亿个tokens上训练,且引入了z-loss和权重衰减机制来稳定训练。
4. Llama-2 (2023年8月)
-
模型规模:7B、13B、70B版本,Llama 2-Chat专为对话代理微调。
-
创新:
- GQA (Grouped Query Attention) 替代了MHA。
- 上下文长度扩展:上下文长度从Llama-1的2048增加到4096,使得模型能够处理更长的输入。
-
训练:使用AdamW优化器,在2.0万亿个tokens上训练。
5. Mistral (2023年10月)
-
模型表现:Mistral 7B在平均性能上超越了Llama-2 13B。
-
特点:
- 这是一个开源模型,采用了Apache 2.0许可证。
- 滑动窗口注意力机制:增加了上下文长度,可以处理长度为8192的序列,甚至支持生成长度高达32K的序列。
- 滚动缓冲缓存机制:动态增长缓存,并实现缓存位置的循环覆盖,以提高生成效率。
-
变体 Mixtral:使用专家混合模型(MoE),由多个Mistral模型组成。
关键技术概述
- RoPE (Rotary Position Embeddings):
RoPE是一种相对位置嵌入方法,它将输入向量分解为多个2维向量,并在这些2维向量上进行旋转操作,从而编码位置信息。这种方法能够提升模型处理长序列的能力。
- GQA (Grouped Query Attention):
GQA通过减少注意力计算中查询头的数量,重用相同的键-值对,提升了模型的计算效率。GQA相对于传统的多头注意力机制(MHA)能够显著降低计算复杂度。
- 滑动窗口注意力 (Sliding Window Attention):
该方法通过限制注意力窗口的范围,只对局部的上下文进行注意力计算,降低了内存占用和计算量。该方法最早在Longformer模型中引入,非常适合处理长序列任务。
2.4 RoPE, GQA, Sliding Window Attention
这3个技术全是本次的必读论文,应该是现代大模型里的技术,暂时不了解,放阅读材料专题里详细研究。
2.5 计算机视觉领域概述(40页~115页)
本讲介绍了很多CV技术,按PPT中顺序依次如下:
- IMGENET数据集介绍
- 图像特征工程:canny, Harris,SIFT
- AlexNet网络,以及2010~2015年图像分类领域精度的进化历史
- 卷积介绍、不同卷积核对图像处理的物理意义以及效果展示
- 下采样:卷积下采样、池化操作
- 卷积神经网络的训练流程
- SGD优化器更新CNN网络的原理
- 现场纯手写各模块的前向传播、反向传播原理和公式:ReLU, softmax, 全连接层、2D卷积、最大池化
- CNN网络介绍:LeNet5, alexnet, vgg16, (目标检测)fasterRCNN, SSD, FCN, (语义分割)u-net,resnet
- CNN网络可视化网站:https://adamharley.com/nn_vis/cnn/2d.html