从零训练 GPT-2: [03] - 训练循环

从零训练 GPT-2: - 训练循环

前两期准备好了数据和 batch
这一期,第一次让模型真正学东西
训练循环就四步,反复做:

1. 前向:把 x 喂进去,得到预测
2. 算 loss:预测和 y 差多远
3. 反向传播:算每个参数该往哪调
4. 更新:用 AdamW 调一小步

我把模型缩到 30.5M 参数,
在 M1 上训练 500 步,用时 289 秒。

step 0,还没训练:
loss = 10.99
接近在 5 万个词里瞎猜(理论值 10.82)
输入 the cat is,输出一串乱码
step 500:
验证集 loss = 5.03
同样的输入,输出变成:
the cat is the king, And I have been,And I have been
And, and the king

它学到了莎士比亚剧本的格式:
换行、逗号、king
但意思还不通顺,而且在重复
继续研究下,一步步学习

说实话,这个大模型训练挺无聊
有点像搞测试的感觉
只能通过结果来反馈效果如何
而不是像写代码做项目那种知根知底


分类