第6章 模型训练

6.1 目标函数

本节介绍了三种主要的语言模型及其目标函数:

6.1.1 Decoder-only 模型(例如 GPT-3)

  • 条件概率:自回归语言模型定义条件分布 p(xi∣x1:i−1)p(x_i | x_{1:i-1})。
  • 目标:通过最大化似然函数 p(xi∣x1:i−1)p(x_i | x_{1:i-1}),训练模型生成上下文嵌入。
  • 训练目标:最大似然估计(MLE),通过负对数似然函数优化模型参数。

6.1.2 Encoder-only 模型(例如 BERT)

  • 双向上下文嵌入:与 Decoder-only 模型不同,Encoder-only 模型提供双向上下文嵌入,适用于理解任务而非生成任务。
  • BERT的目标函数
    1. 掩码语言模型(Masked Language Modeling):通过对输入序列中部分 token 掩码并预测其原始值来训练模型。
    2. 下一句预测(Next Sentence Prediction):训练模型判断两个句子是否是连续的。

6.1.3 Encoder-decoder 模型(例如 T5, BART)

  • BART(Bidirectional Auto-Regressive Transformers):结合了 BERT 的双向编码和 GPT 的自回归解码,适用于生成任务。
  • T5(Text-to-Text Transfer Transformer):将所有 NLP 任务统一为文本到文本的转换任务,不仅支持分类任务,还能处理生成任务。

6.2 优化算法

优化算法是训练大语言模型的关键。以下是几种常用的优化方法:

6.2.1 随机梯度下降(SGD)

  • 步骤:每次通过小批量样本计算梯度,更新参数。
  • 关键问题:需要平衡收敛速度、数值稳定性和内存效率。

6.2.2 Adam(Adaptive Moment Estimation)

  • 创新:结合了动量和自适应学习率,能加速收敛。
  • 步骤
    1. 计算一阶和二阶动量。
    2. 通过自适应学习率更新模型参数。
  • 存储占用:增加了存储需求(需要存储动量和梯度)。

6.2.3 AdaFactor

  • 目标:减少存储占用。通过只存储矩阵的行和列的和,避免了存储完整的梯度矩阵。
  • 适用模型:用于训练大规模模型,如 T5。

6.2.4 混合精度训练

  • 方法:使用低精度(FP16)进行计算,使用高精度(FP32)存储模型权重。
  • 优势:减少内存使用,提高训练效率。

6.2.5 学习率调整

  • 策略:通常随着训练过程的进行,学习率逐渐衰减。可以通过预热(warmup)来增加训练的稳定性。

6.2.6 初始化方法

  • 标准初始化:如 Xavier 初始化,以避免梯度消失或爆炸。
  • 模型例子:GPT-2 和 GPT-3 使用残差层的额外缩放来进行初始化。

主要总结

  • 目标函数:根据模型类型不同,选择适合的目标函数(如最大似然、掩码语言建模、下一句预测)。
  • 优化算法:使用如 SGD、Adam、AdaFactor 等优化算法,并结合混合精度训练、学习率调整等技术,提升训练效率与稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

确实啊,对对对

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值