← 返回卷宗
編程筆記

win11下bitsandbytes的用法

要將大模型進行量化加載,需要使用到bitsandbytes這個庫,但它原生是在Linux下安裝使用的,因此如果要在win11下使用,需要做一些修改。

在pip install bitsandbytes 之後,修改源代碼兩處。

一般安裝了conda後,目錄在:{driver}:\conda\envs\{name}\Lib\site-packages\bitsandbytes\ 下, 在pip install,一般都會寫上安裝到的位置,直接拷貝即可。

首先在這個目錄下,先把下載的libbitsandbytes_cuda116.dll 文件拷貝到這個目錄下。

主要是兩個文件,一個是 cuda/main.py 中的 evaluate_cuda_setup() 函數,可直接讓它返回 "libbitsandbytes_cuda116.dll",因為原來的代碼中默認都是直接加載的liunx下的.so文件,所以要改對對應的dll

第二處是目錄下的 cextension.py,需要將其中的 ct.cdll.LoadLibrary(binary_path) 改成 ct.cdll.LoadLibrary(str(binary_path))

in cuda_setup/main.py:
make evaluate_cuda_setup() always return "libbitsandbytes_cuda116.dll"
in ./cextension.py:
change ct.cdll.LoadLibrary(binary_path) to ct.cdll.LoadLibrary(str(binary_path))

本文由 三符道長 撰於 2023年3月14日。轉載請註明出處。