我们来深入讲GPT 的参数训练机制,我会用尽量清晰的方式拆解整个过程,步步分析。
GPT 模型有数十亿甚至上百亿个参数,这些参数本质上是:
权重(weights):神经网络中每条连接的强弱
偏置(biases):控制神经元输出的灵敏度
可以把GPT 想象成一个巨大的公式:
和=f(x;我)y = f(x; θ)
xx= 输入token(文本数字化后的编码)
和和= 模型预测的下一个token
我θ= 模型的所有参数(权重和偏置)
训练的核心目标就是找到最优的我θ,让预测尽量接近真实文本。
GPT 参数训练主要分三步:
模型需要大量文本数据:
书籍、新闻、论坛、网页
编程代码、百科知识
不同语言、不同领域文本
训练前,文本会被切分成Token(词或子词),并映射成数字向量。
示例:
这一步是模型计算预测:
输入token 向量
经过Transformer 的多层Self-Attention + Feed Forward
输出每个位置可能的下一个token 的概率分布
例如:
输入"Hello"→ 输出下一个token 概率:
| 令牌 | 概率 |
|---|---|
| “世界” | 0.7 |
| “那里” | 0.2 |
| “GPT” | 0.1 |
GPT 使用的损失函数是交叉熵损失(Cross-Entropy Loss):
损失=−∑我和我日志(和^我)损失 = – ∑_{i} y_i log(\hat{y}_i)
和我y_i= 真实下一个token
和^我\hat{y}_i= 模型预测的概率
损失值越小→ 模型预测越准确。
损失计算后,模型就知道“哪里预测错了”。
反向传播用来更新参数:
计算每个参数对损失的梯度
用梯度下降法更新参数:
我新的=我老的−或者∂损失∂我\theta_{\text{new}} = \theta_{\text{old}} – \eta \frac{\partial \text{Loss}}{\partial \theta}
或者\和= 学习率,控制更新幅度
这个过程会在所有参数上重复进行(数百亿次梯度更新)
为了训练这么大的模型,有几个关键技术:
Adam优化器
带动量的梯度下降,收敛更快、更稳定
层归一化
保持各层输出稳定,防止梯度爆炸
学习率调度(Warmup + Decay)
训练初期慢慢升学习率,再逐渐衰减
分布式训练
数百甚至上千张GPU 同时训练,拆分参数和数据
梯度裁剪(Gradient Clipping)
防止梯度太大导致训练不稳定
模型可以根据输入预测下一个token
参数就固定了(除非进一步微调)
生成文本就是一步步使用这些参数计算概率,选择最可能的词
GPT-3:1750亿参数
GPT-4:更多(官方没完全公开)
规律:
参数越多→ 模型能捕捉更多语言模式和知识→ 生成文本越自然、越连贯
但参数增大也带来:
训练成本巨高
推理计算量大
并不保证“常识正确”,仍会有幻觉
💡总结一句话:
GPT 参数训练就是:
用大规模文本不断“试错+ 调整”,通过前向计算预测→ 损失计算→ 反向传播→ 更新参数,让模型学会语言规律和知识模式。