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

相关推荐
liuyunshengsir1 分钟前
手写最基础的大模型推理并使用Profile监控GPU性能消耗情况
人工智能·深度学习·机器学习
翼龙云_cloud1 分钟前
阿里云代理商:阿里云部署的Hermes Agent 钉钉接入指南
人工智能·阿里云·云计算·钉钉·ai 智能体·hermes agent
user29876982706542 分钟前
五、深入 Claude Code CLI 源码:终端 UI 的 React 实现
人工智能
测试19987 分钟前
接口测试工具:Postman的高级用法
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
znhb997 分钟前
九九AI驱动脱硫脱硝及氨逃逸精准控制技术,实现环保、经济、运维三重升级
运维·人工智能
_Evan_Yao8 分钟前
当 if 成为性能判官:分支预测、流水线冲刷与 Java 中的“猜谜游戏”
人工智能·游戏
2501_9012005310 分钟前
mysql数据库主键类型对性能的影响_使用自增整数优于UUID
jvm·数据库·python
丝雨_xrc12 分钟前
CSDN 发布 AI 数字营销 OS,重新定义内容营销增长范式!
人工智能
.柒宇.14 分钟前
FastAPI进阶教程
开发语言·python·fastapi