【报错】RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasLtMatmul( ltHandle,

在GPU上运行hugging face transformer的时候出现如下报错:

RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasLtMatmul( ltHandle, computeDesc.descriptor(), &alpha_val, mat1_ptr, Adesc.descriptor(), mat2_ptr, Bdesc.descriptor(), &beta_val, result_ptr, Cdesc.descriptor(), result_ptr, Cdesc.descriptor(), &heuristicResult.algo, workspace.data_ptr(), workspaceSize, at::cuda::getCurrentCUDAStream())`

切换至cpu之后,报错:

-> 1724     return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
   1725 
   1726 

IndexError: index out of range in self

根据cpu上的报错内容,判断为模型输入太长,超过了模型的embedding最大尺寸,可以在tokenizer设置max_len来进行截断(truncation)。

batch = tokenizer([input_text],truncation=True,padding='longest',
max_length=max_length, return_tensors="pt").to(torch_device)

由于GPU上的报错一般都比较抽象,建议先在cpu上debug。有可能你的GPU报错和我的一样,但是cpu报错不同,也就是实际导致错误的原因是不一样的。

参考:
IndexError: index out of range in self #5611

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年8月8日
下一篇 2023年8月8日

相关推荐