Pytorch ddp切换forward函数 验证ddp是否生效

DDP及其在pytorch中应用

ddp默认调用forward函数,有些模型无法使用forward函数,可以对模型包装一下。

python 复制代码
class modelWraper(nn.Module):
    def __init__(self, model):
        super().__init__()
        self.model = model

    def forward(self, *args, **kwargs):
        return self.model.rlhf(*args, **kwargs)

有时ddp跑起来,不确定是否生效,loss backward后不同rank进程的梯度应该一样的,可以通过print 梯度确认。

python 复制代码
loss.backward()
grad_flag = raw_model.lm_head.weight.grad[0,:3]
print(f"grad {ddp_rank} {grad_flag}")


grad 1 tensor([2.9296e-04, 6.2223e-05, 1.0089e-03], device='cuda:1')
grad 0 tensor([2.9296e-04, 6.2223e-05, 1.0089e-03], device='cuda:0')

pytorch分布式系列2------DistributedDataParallel是如何做同步的?

相关推荐
Lun3866buzha11 小时前
轮胎胎面花纹识别与分类:基于solo_r50_fpn模型的实现与优化
人工智能·分类·数据挖掘
没学上了11 小时前
VLM-单头自注意力机制核心逻辑
人工智能·pytorch·深度学习
zhangdawei83811 小时前
英伟达GB200,GB300和普通服务器如dell R740xd有什么区别?
运维·服务器·人工智能
Mintopia11 小时前
意图OS是未来软件形态,它到底解决了什么问题?
人工智能·react native·前端工程化
Mintopia11 小时前
🤖 AI 决策 + 意图OS:未来软件形态的灵魂共舞
前端·人工智能·react native
万行12 小时前
机器学习&第一章
人工智能·python·机器学习·flask·计算机组成原理
实战项目12 小时前
基于PyTorch的卷积神经网络花卉识别系统
人工智能·pytorch·cnn
shangjian00712 小时前
AI大模型-机器学习-算法-线性回归
人工智能·算法·机器学习
2301_7973122612 小时前
学习java37天
开发语言·python
zuozewei12 小时前
零基础 | 一文速通 AI 大模型常见术语
人工智能