- 博客(3)
- 收藏
- 关注
原创 HF transformers中Deepspeed分析
看model中的param_names,可以看到,一共1+32*12+2=387个参数模块,所以看到上面的两个是按第193个节点来划分的,地中第193个节点各占一部分?还有两个参数,一个是params_in_partition另一个是params_not_in_partition代表在和不在这个分区上的参数。注意,transformers里集成的deepspeed,有些特性不完全支持,这里有集成的说明以及很多实用经验的介绍。index1的model.optimizer,可以看到。调试torchrun。
2024-09-19 23:32:56 288
原创 deepspeed&zero及大模型显存占用
在训练期间,激活会占用大量内存。现看baseline,即没有优化的时候,多卡数据并行的方式:每个GPU都拿到模型的全部,包括优化器参数、模型参数,梯度,然后各个GPU拿自己的数据计算完的前向计算及反向梯度计算之后(这个时候算的是自己那部分数据对应的),会做一次gather的操作,可以理解为某一个GPU充当一个master,把各个GPU算的梯度一起拿过来,合成一个全局的梯度。* 模型梯度算出来之后,要用梯度来更新模型参数的时候,会用fp32来进行更新,也就是说,原始的参数有一份一直存着的fp32的副本。
2024-08-24 16:55:14 596
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人