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是如何做同步的?

相关推荐
腾讯云开发者3 分钟前
架构火花|一线视角下的AI:从应用边界到落地难题
人工智能
Blossom.1184 分钟前
基于Mamba-2的实时销量预测系统:如何用选择性状态空间干掉Transformer的O(n²)噩梦
人工智能·python·深度学习·react.js·机器学习·设计模式·transformer
Mintopia5 分钟前
AIGC 技术标准制定:Web 行业协同的必要性与难点
人工智能·aigc·trae
Wise玩转AI7 分钟前
Day 26|智能体的“伦理与安全边界”
人工智能·python·安全·ai·chatgpt·ai智能体
极速learner8 分钟前
n8n本地安装的两种方法:小白入门大白话版本
人工智能·prompt
_codemonster9 分钟前
深度学习实战(基于pytroch)系列(三十八)门控循环单元(GRU)从零开始实现
人工智能·深度学习·gru
yang)9 分钟前
如何处理DAC的sinc滚降
人工智能
霍格沃兹测试开发学社-小明10 分钟前
自动化测试报告样式终极对比:HTMLTestRunner vs BeautifulReport vs HTMLReport vs Allure
人工智能
腾飞开源12 分钟前
07_Spring AI 干货笔记之提示词
人工智能·提示词·提示词工程·角色分配·模板渲染·spring ai·令牌机制
梦里不知身是客1115 分钟前
帆软的图标类型介绍
python·信息可视化·数据分析