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

相关推荐
文心快码BaiduComate12 小时前
百度文心快码全面支持GLM-5
前端·人工智能
Albert Edison12 小时前
【Python】文件
android·服务器·python
沉睡的无敌雄狮12 小时前
可编程数字人落地实践:某省广电用矩阵跃动API重构工作流(选题→政策图谱→方言音色→审稿水印),附Python调度代码
人工智能·python·重构·排序算法·kmeans
Hcoco_me12 小时前
目标追踪概述、分类
人工智能·深度学习·算法·机器学习·分类·数据挖掘·自动驾驶
前端摸鱼匠12 小时前
YOLOv8 深入探索 Ultralytics CLI:一行命令搞定目标检测的魔法
人工智能·yolo·目标检测·计算机视觉·目标跟踪
junior_Xin12 小时前
Flask框架beginning4
python·flask
码农三叔12 小时前
(11-4-01)完整人形机器人的设计与实现案例:机器人的站立与行走
人工智能·嵌入式硬件·机器人·人机交互·人形机器人
大模型玩家七七12 小时前
效果评估:如何判断一个祝福 AI 是否“走心”
android·java·开发语言·网络·人工智能·batch
OpenLoong 开源社区12 小时前
开源发布 | 从青龙Nano到青龙Mini:共建开源生态,首次亮相产教融合场景
人工智能·开源
水木姚姚12 小时前
AI编程画马(含AI辅助创作)
人工智能·ai编程