Skip to content

qwen3.6-27B在8XH800上训练报错 #459

Description

@ruijieguo

qwen3.6-27B 用了 GatedDeltaNet(Mamba 类 SSM)混合注意力层, 这些层里的 TransformerEngine 模块持有内部 C++
_extra_state(缓存指向 TensorImpl/Storage 的指针);ROLL 的 offload 机制把参数 flatten 进一块 CPU buffer 再把 tensor.data 重绑到
buffer 切片,原来的 C++ Storage 被剥离 → TE 缓存的指针悬空 → 下一次 forward 段错误:
Cannot access data pointer of Tensor that doesn't have storage(在 TE forward 内抛出)

尝试修改遇到下面问题:

  • tensor.set_() 跨设备在现代 PyTorch 被禁;
  • tensor.data=... 能用但会丢掉 TE 那些按 C++ 对象身份挂的 hook;
  • clear_cublas_workspaces() 只清 PyTorch 的 cuBLAS workspace,清不了 TE 自己的;
  • 真修要么改 Megatron 的 offload_megatron_no_grad_module,要么全程关闭参数 offload(8×80GB
    单节点显存不够,而省显存的 distributed-optim 分片本身又依赖 offload——死循环)。
  • 官方 ROLL 27B 例子用的是 32 卡 / 4 节点(TP=4 PP=2 DP=4),显存宽松到根本不触发那条 offload 路径;我们只有单节点 8×H800,被迫 offload
    → 必然踩雷。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions