您的位置:首页 > 科技 > IT业 > 从头训练GPT2-124M过程中从wandb看到的参数含义

从头训练GPT2-124M过程中从wandb看到的参数含义

2024/12/23 3:44:04 来源:https://blog.csdn.net/ybdesire/article/details/141340046  浏览:    关键词:从头训练GPT2-124M过程中从wandb看到的参数含义

1. 引入

大神karpathy从openai离职后,创办了AI教育公司Eureka Labs(参考1),同时也创办了知名的nanoGPT项目。
目前,使用nanoGPT(参考2),你可以在几分钟内训练出一个babyGPT(甚至于在CPU上就可以运行训练过程),也可以在8XA100 40GB的GPU上,从头开始训练了GPT2-124M(大约4天时间)。

笔者在重现GPT2-124M过程中,在wandb中看到很多参数,如下图一所示,这些参数是什么含义呢?

2. 参数含义

使用nanoGPT来训练GPT2-124M时,可以从wandb中看到如下的一些参数:

  1. 训练过程
    在这里插入图片描述

(1)MFU(Model FLOPs Utilization)
表示模型算力利用率,是指模型一次前反向计算消耗的矩阵算力与机器(如GPU)算力的比值。它直接反映了模型在训练过程中对计算资源的有效利用程度。在大模型训练中,提高MFU是优化训练效率的关键手段之一。从参考3可以看到,比较高的MFU是55.2%

(2)lr:学习速率

(3)iter:迭代次数,从训练代码(参考4)可以看到,本次训练设置的max_iters = 600000

(4)loss:训练损失函数值

  1. GPU参数

这里主要显示,GPU的功率,功率利用率,内存消耗,GPU温度等参数
在这里插入图片描述

  1. 训练过程中的log
iter 162300: loss 3.0673, time 335.07ms, mfu 50.24%
iter 162310: loss 3.0587, time 334.29ms, mfu 50.25%
iter 162320: loss 3.0309, time 333.77ms, mfu 50.27%
iter 162330: loss 2.9537, time 333.12ms, mfu 50.29%
iter 162340: loss 3.1240, time 333.97ms, mfu 50.30%
iter 162350: loss 2.9463, time 334.07ms, mfu 50.31%
iter 162360: loss 2.8554, time 333.62ms, mfu 50.33%
iter 162370: loss 2.9718, time 333.64ms, mfu 50.34%
iter 162380: loss 3.1027, time 333.55ms, mfu 50.35%
iter 162390: loss 2.9248, time 333.75ms, mfu 50.36%
iter 162400: loss 3.1186, time 332.64ms, mfu 50.38%
iter 162410: loss 3.2004, time 335.31ms, mfu 50.37%
iter 162420: loss 3.0321, time 333.47ms, mfu 50.38%
iter 162430: loss 3.0025, time 333.66ms, mfu 50.38%
iter 162440: loss 2.8700, time 334.59ms, mfu 50.38%
iter 162450: loss 2.9597, time 333.97ms, mfu 50.38%
iter 162460: loss 2.9847, time 333.97ms, mfu 50.38%
iter 162470: loss 3.0788, time 334.33ms, mfu 50.38%
iter 162480: loss 3.2261, time 332.76ms, mfu 50.40%
iter 162490: loss 2.8983, time 333.25ms, mfu 50.41%
iter 162500: loss 3.0039, time 333.32ms, mfu 50.42%
iter 162510: loss 2.8551, time 332.80ms, mfu 50.43%
iter 162520: loss 2.8523, time 333.73ms, mfu 50.43%
wandb: | 0.015 MB of 0.023 MB uploaded

训练过程中,log显示迭代次数(iter),loss值,本次迭代所花时间,以及MFU(模型算力利用率)。

3. 参考

  1. karpathy个人经历。https://karpathy.ai/
  2. nanoGPT开源项目链接。https://github.com/karpathy/nanoGPT
  3. MFU。https://www.cnblogs.com/CocoML/p/18290628
  4. GPT2配置。https://github.com/karpathy/nanoGPT/blob/master/config/train_gpt2.py

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com