TypeError: _softmax_backward_data(): argument ‘input_dtype’ (position 4) must be torch.dtype, not Tensor
错误原因
transformers的一个bug,‘_softmax_backward_data()’这个方法的接口改了之后,调用的方式没有跟上。
解决方法
更改transformers源文件(报错的对应文件)
inputGrad = _softmax_backward_data(grad_output, output, self.dim, output)
更改成
inputGrad = _softmax_backward_data(grad_output, output, self.dim, output.dtype)
Github Issue
https://github.com/huggingface/transformers/issues/14375