深入剖析Transformer - 模型训练
本系列文章的目标,是带大家一步步拆解Transformer,把它的内部机制和工作原理讲清楚、讲透彻。这篇是这个系列的第七篇,主题是:
模型训练
Transformer模型的训练,涉及的环节不少:数据选什么、硬件怎么配、训练计划怎么定、优化器怎么选、正则化怎么做。把这些因素组合得当,才能训练出性能过硬的Transformer模型,为各种自然语言处理任务提供有力支撑。下面咱们就逐一拆解。
训练数据和批次处理
训练数据
批次处理
在Transformer的训练中,批次处理通常和优化器(比如Adam、SGD等)配合使用。优化器根据每个批次的损失和梯度来更新模型权重,目标就是让整个训练集上的损失降到最低。
WMT 2014英德数据集

模型在标准的
WMT 2014英德数据集
450万个句子对
约37000个标记的词汇表
WMT 2014英法数据集

针对英法数据集,选用了规模更大的
WMT 2014英法数据集
3600万个句子
32000个词片段的词汇表
包含25000个源语言标记和25000个目标语言标记
硬件和训练计划
模型是在一台配备了8个NVIDIA P100 GPU的机器上训练的。使用论文中描述的超参数,基础模型每步训练大约需要0.4秒。基础模型总共训练了100,000步,耗时大约12小时。大模型每步训练需要1.0秒,训练了300,000步,大约需要3.5天。
硬件

英伟达的P100 GPU,是为深度学习和科学计算专门设计的加速卡。它基于Pascal架构,配备了3584个CUDA核心,这些核心能同时处理多个并行计算任务,大幅提升计算效率。在深度学习任务中,P100 GPU可以更快地完成神经网络中大量的矩阵运算和并行计算,加速模型的训练和推理。它配备了16GB的高速HBM2显存,这种高带宽内存架构能以更快速度读写数据,有效降低内存瓶颈对性能的影响。处理大规模数据集和复杂模型时,P100 GPU能快速加载和处理数据,提高计算效率,并且在不同任务间高效共享数据。
训练计划
一、训练环境准备
二、数据准备
训练集用于训练模型,验证集用于调整超参数和监控性能,测试集则用于最终评估模型的泛化能力。
三、基础模型训练
- 根据论文中描述的超参数(如学习率、批次大小、优化器类型等),使用深度学习框架构建基础模型。
模型构建:
- 使用训练集对模型进行训练,模型会逐步学习从输入数据中提取特征和规律。每个训练步骤都会根据损失函数的梯度更新权重,以最小化预测误差。
训练过程:
- 训练完成后,保存模型的权重和参数,方便后续使用或部署。
模型保存:
四、模型评估与优化
使用测试集对模型进行评估,衡量其在实际应用中的性能。
优化器
Transformer使用了Adam优化器,超参数设置为β1=0.9,β2=0.98,以及ϵ=10−9。在训练过程中,学习率按照以下公式进行调整:

这种动态调整的方法,通常基于训练过程中的指标(如训练轮数、验证集性能)来实时调整学习率。根据公式计算,模型在学习过程中学习率的变化如下图所示:

Adam 优化器
Adam优化器
自适应性
有效性
鲁棒性
参数范围不变性
学习率
在深度学习训练中,动态调整学习率是常用的优化策略。
当模型表现不尽如人意时,调整学习率可以帮助模型更好地收敛,避免陷入局部最小值或过拟合。
- 随着训练进行,学习率逐渐降低。有助于在训练初期快速接近最优解,后期进行更精细的调整。
学习率衰减:
- 训练开始时先用一个较小的学习率预热,然后逐渐增加到预设的初始学习率。有助于模型在早期更稳定地更新参数。
预热(Warmup):
- 如cosine退火等策略,学习率会按照一定周期变化。有助于模型在不同训练阶段找到更好的优化路径。
周期性调整:
正则化
Transformer使用多种正则化方法来减少过拟合,提升模型的泛化能力。具体来说,有以下三种:
- 先对每个子层的输出做一遍归一化,让每个神经元输入的分布更稳定,有利于训练和泛化。
Layer Normalization:
- 训练时随机将一部分神经元的输出置为0,减少神经元之间的依赖关系,防止模型过分依赖某些特定输入,从而提升泛化能力。
Dropout:
- 在注意力计算阶段,随机丢弃部分Key,鼓励网络捕获目标对象的全局信息,避免因过度聚焦局部信息而产生模型偏置,从而提升精度。这种方法在基于Transformer的视觉类算法中比较常见。
注意力机制中的随机Drop Key:
总结
本文系统梳理了Transformer模型训练的关键要素,包括数据集选择、硬件配置、训练规划、Adam优化器及学习率调整,以及正则化策略的应用。通过采用WMT 2014英德和英法数据集,保证了训练语料的丰富性;借助高性能GPU硬件和精心设计的训练计划,模型训练得以高效稳定地进行。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名