CodeQwen1.5-7B-Chat 报错

ValueError: Trying to set a tensor of shape torch.Size([4096, 11008]) in "weight" (which has shape torch.Size([4096, 13440])), this look incorrect.

有没有人解释一下这是什么错误啊?

把 config 里面的"intermediate_size"改成11008,就会报错如下

ValueError: Trying to set a tensor of shape torch.Size([4096, 13440]) in "weight" (which has shape torch.Size([4096, 11008])), this look incorrect.

无语啦

在处理 `RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn` 这一错误时,通常意味着某些张量被创建的方式使得它们不具有梯度计算的功能。这可能是由于数据加载、模型初始化或其他操作过程中未正确设置 `.requires_grad_()` 属性所引起的。 对于 qwen1.5-7b-chat 的微调训练中出现此问题,可以考虑以下几个方面来排查并解决问题: ### 参数配置检查 确保所有参与反向传播运算的参数都已正确设置了 requires_grad=True 。如果使用预训练权重,则需确认这些权重是否应该参与到后续更新之中[^1]。 ```python for param in model.parameters(): param.requires_grad_(True) ``` ### 数据集准备阶段 当构建输入样本时,务必保证返回的数据结构中的每一个 Tensor 对象都有合适的属性设定。特别是从磁盘读取或通过其他方式获取到原始数值之后再转换成 PyTorch 中的 Tensor 类型之前要特别注意这一点。 ```python import torch def prepare_data(batch): inputs = {k: v.to(device) for k, v in batch.items()} # Ensure all Tensors are set to track gradients if needed. for key in ['input_ids', 'attention_mask']: if isinstance(inputs[key], torch.Tensor): inputs[key].requires_grad_() return inputs ``` ### 模型前向传递过程 有时,在定义自定义层或者修改现有网络架构的过程中可能会无意间破坏掉自动求导机制的工作流程。因此建议仔细审查这部分代码逻辑,确保没有任何地方显式地关闭了某个变量的 gradient tracking 功能。 ```python class CustomLayer(nn.Module): def forward(self, x): y = some_operation(x).clone().detach() # This would stop the gradient flow # Instead use operations that preserve gradient information: z = another_operation(y) return z ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值