问题说明之一
具体问题如下:
RuntimeError: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero.
我使用的这套是根据llama3训练出来的中文模型,主打一个工具多好用,地址如下:Chinese-LLaMA-Alpaca-3
由于我使用的是租的云服务器(按照消费计时的),这问题基本就是torch、cuda、cudnn版本不对!
问题说明之二
具体问题如下:
RuntimeError: CUDA error: CUBLAS_STATUS_NOT_SUPPORTED when calling `cublasGemmStridedBatchedExFix(handle, opa, opb, (int)m, (int)n, (int)k, (void*)&falpha, a, CUDA_R_16BF, (int)lda, stridea, b, CUDA_R_16BF, (int)ldb, strideb, (void*)&fbeta, c, CUDA_R_1>
这个问题直接给我干懵圈!搞了小一天终于解决。网上说可能是显卡不够,这是错误的说法。以下是问题可能的原因:
- 显卡不支持,起初我用了一块P40-24G,报错!通过查询好多人说了显存不够,我随后增加到4块,也就是4块P40共96G,但依旧报错!
- cuda版本过高,这里要求torch>=2.1.1对于最低要求cuda11.7来说依旧报错!
所以总结起来就是显卡+torch+cuda版本兼容的问题,以下是我成功运行的环境一块显卡足以,因为成功了我就没有继续探究了,但是我感觉大概率是torch不同版本单机多卡训练的bug。所以对于这套llama3训练最好选用显存大的单卡训练。你就用这个必好使!
torch:2.1.1
cudn:11.8
gpu:A40-48G