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

相关推荐
paperxie_xiexuo23 分钟前
文献综述不是写作任务,而是一次“认知脚手架”的搭建:PaperXie 如何通过结构化输入,帮你把碎片阅读转化为可辩护的学术立场?
大数据·人工智能·ai写作
数据门徒27 分钟前
《人工智能现代方法(第4版)》 第6章 约束满足问题 学习笔记
人工智能·笔记·学习·算法
梁正雄40 分钟前
10、Python面向对象编程-2
开发语言·python
java_logo41 分钟前
MILVUS Docker 容器化部署指南
运维·人工智能·docker·容器·prometheus·milvus
Jo乔戈里44 分钟前
Python复制文件到剪切板
开发语言·python
Mxsoft6191 小时前
「S变换精准定位谐波源!某次电能质量异常,时频分析救场!」
人工智能
小鱼儿亮亮1 小时前
SSE传输方式的MCP服务器创建流程
python·mcp
B站_计算机毕业设计之家1 小时前
python招聘数据 求职就业数据可视化平台 大数据毕业设计 BOSS直聘数据可视化分析系统 Flask框架 Echarts可视化 selenium爬虫技术✅
大数据·python·深度学习·考研·信息可视化·数据分析·flask
数据门徒1 小时前
《人工智能现代方法(第4版)》 第8章 一阶逻辑 学习笔记
人工智能·笔记·学习·算法
好奇龙猫1 小时前
【AI学习-comfyUI学习-第十四节-joycaption3课程工作流工作流-各个部分学习】
人工智能·学习