카테고리 없음

지옥의 bitsandbytes(module 'bitsandbytes.nn' has no attribute 'Linear8bitLt')

lovian 2023. 10. 26. 11:45

module 'bitsandbytes.nn' has no attribute 'Linear8bitLt'

흔하게 만난다는 오류중에 하나..

 

분석

bitsandbytes.nn 이라는 모듈에 Linear8bitLt 라는 기호가 없다는 의미

 

https://github.com/TimDettmers/bitsandbytes/blob/main/bitsandbytes/nn/modules.py 에 가보면

Linear8BitLt라는 기호가 있음을 확인가능하다

Tag를 열어서 0.32 버전까지 확인했는데 모두 있다. (더 이하의 버전은 여기서 관리되지 않는 듯)

 

위의 상황을 해석하면 Linear8BitLt라는 기호가 추가되기 전의 버전이 설치된 것 이라고 판단 할 수 있다.

즉 최소 0.32 미만의 버전이 설치되어 있다.

 

확인

pip list | grep bits 로 설치된 버전을 확인하자 (윈도우는 pip list | findstr bits)

root@C.7328156:/$ pip list | grep bits
bitsandbytes 0.37.1
bitsandbytes-cuda116 0.26.0.post2

어? 두 개 설치되어 있네. 그리고 0.26 딱 이게 문제다 싶다.

 

pip uninstall bitsandbytes-cuda116

명령으로 제거한다.

 

검증

잘 설치되었는지 확인.

root@C.7328156:/$ python3 -m bitsandbytes ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++ BUG REPORT INFORMATION ++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++ /usr/local CUDA PATHS +++++++++++++++++++ +++++++++++++++ WORKING DIRECTORY CUDA PATHS +++++++++++++++ /opt/conda/lib/libicudata.so /opt/conda/lib/python3.10/site-packages/torch/lib/libc10_cuda.so /opt/conda/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so /opt/conda/lib/python3.10/site-packages/torch/lib/libtorch_cuda_linalg.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda110.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda110_nocublaslt.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda111.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda111_nocublaslt.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda114.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda114_nocublaslt.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda115.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda115_nocublaslt.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda117.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda117_nocublaslt.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda118.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda118_nocublaslt.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda120.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda120_nocublaslt.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda121.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda121_nocublaslt.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda122.so /opt/conda/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda122_nocublaslt.so /opt/conda/lib/libcudart.so /opt/conda/pkgs/icu-58.2-he6710b0_3/lib/libicudata.so /opt/conda/pkgs/pytorch-2.1.0-py3.10_cuda12.1_cudnn8.9.2_0/lib/python3.10/site-packages/torch/lib/libc10_cuda.so /opt/conda/pkgs/pytorch-2.1.0-py3.10_cuda12.1_cudnn8.9.2_0/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so /opt/conda/pkgs/pytorch-2.1.0-py3.10_cuda12.1_cudnn8.9.2_0/lib/python3.10/site-packages/torch/lib/libtorch_cuda_linalg.so /opt/conda/pkgs/icu-73.1-h6a678d5_0/lib/libicudata.so /opt/conda/pkgs/cudatoolkit-11.8.0-h6a678d5_0/lib/libcudart.so /usr/lib/x86_64-linux-gnu/libcuda.so /usr/lib/x86_64-linux-gnu/stubs/libcuda.so /usr/lib/x86_64-linux-gnu/libcudart.so /usr/lib/nsight-compute/target/linux-desktop-glibc_2_11_3-x64/libcuda-injection.so

++++++++++++++++++ LD_LIBRARY CUDA PATHS +++++++++++++++++++
/opt/conda/pkgs/cudatoolkit-11.8.0-h6a678d5_0/lib CUDA PATHS /opt/conda/pkgs/cudatoolkit-11.8.0-h6a678d5_0/lib/libcudart.so
++++++++++++++++++++++++++ OTHER +++++++++++++++++++++++++++
COMPILED_WITH_CUDA = True
COMPUTE_CAPABILITIES_PER_GPU = ['8.9'] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++ DEBUG INFO END ++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Running a quick check that:
+ library is importable
+ CUDA function is callable

WARNING: Please be sure to sanitize sensible info from any such env vars!

SUCCESS!
Installation was successful!

 

결론

bitsandbytes 패키지가 여러버전이 설치되어 있었음.