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

相关推荐
神一样的老师15 分钟前
Google学术搜索实验室:自然语言检索新体验
人工智能
居然JuRan23 分钟前
全量微调 vs LoRA:一篇文章彻底搞懂参数高效微调
人工智能
EQ-雪梨蛋花汤27 分钟前
【AI工具】使用 Doubao-Seed-Code 优化 Unity 编辑器插件:从功能实现到界面美化的完整实践
人工智能·unity·编辑器
量子位32 分钟前
马斯克开始用Grok替代员工了!最惨部门裁员90%
人工智能·grok
用户23452670098235 分钟前
Python实现异步任务队列深度好文
后端·python
夫唯不争,故无尤也38 分钟前
PyTorch 的维度变形一站式入门
人工智能·pytorch·python
量子位39 分钟前
Nano Banana新玩法无限套娃!“GPT-5都不会处理这种级别的递归”
人工智能·gpt
m0_650108241 小时前
PaLM:Pathways 驱动的大规模语言模型 scaling 实践
论文阅读·人工智能·palm·谷歌大模型·大规模语言模型·全面评估与行为分析·scaling效应
Ma0407131 小时前
【论文阅读19】-用于PHM的大型语言模型:优化技术与应用综述
人工智能·语言模型·自然语言处理
熊猫钓鱼>_>1 小时前
从零开始构建RPG游戏战斗系统:实战心得与技术要点
开发语言·人工智能·经验分享·python·游戏·ai·qoder