24小時客服在線電話百度seo培訓課程
chatglm-6b很強,很多同學都想自己試一試,但不是每個人都有GPU、高端顯卡的環(huán)境,大多數(shù)同學都是一臺普通的筆記本。
筆者這里分享一下在自己的8G內(nèi)存,intel i3筆記本上安裝部署chatglm-6b的實際經(jīng)驗。有很多網(wǎng)站都分享了一些經(jīng)驗,但不知道是不是環(huán)境的問題,筆者自己發(fā)現(xiàn)按照網(wǎng)上的文章,很多都走不通,也是自己綜合各個文章,多次嘗試,才勉強算是成功運行了!!!雖然運行特別慢,但也算是個小成果!廢話不說了,走起:
第一大步: 首先下載,安裝python依賴庫這些呢,沒什么特別的,事務性列舉如下,就不多說了(在windows/linux下安裝python什么的,就不多說了,筆者用的Python 3.10.6,版本不能太低):
(1)下載官方代碼,安裝Python依賴的庫
下載地址:GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 開源雙語對話語言模型
?然后找到文件requirements.txt并運行:
? pip install -r requirements.txt
?注意裝完了,后不一定夠用,反正缺啥裝啥就完了,也不啰嗦了
(2)
下載INT4量化后的預訓練結果文件
注意,CPU上,反正筆者用的INT4,建議就用這個吧
INT4量化的預訓練文件下載地址:THUDM/chatglm-6b-int4 at main
完了在上面github下載的chatglm-6b-main新建個目錄model,把上面下載的一大堆文件,包括模型bin,py的一堆都拷貝進去
第二大步:這一步是最重要的了,大家可要注意了(最好需要先安裝CPU版本的torch)
(1)需要安裝GCC并配置環(huán)境變量
? ?網(wǎng)上有很多材料,有的說安裝TDM-GCC,有的又說安裝mingw64,有的又說安裝win64devkit,反正筆者自己的經(jīng)驗是:win64devkit(注意,可以多裝幾個,因為編譯.so文件時,和運行時要求的,可能有時候要用不同的gcc,如果不行,就換一個,反正win64devkit編譯下面的.so是沒問題的)
(2)編譯quantization_kernels.so與quantization_kernels_parallel.so
? 進行上面int4模型存放的目錄,即chatglm-6b-main/model,運行如下命令:
gcc -fPIC -pthread -fopenmp -std=c99 quantization_kernels.c -shared -o quantization_kernels.so
gcc -fPIC -pthread -fopenmp -std=c99 quantization_kernels_parallel.c -shared -o quantization_kernels_parallel.so
? ?注:有可能只編譯上面一個就夠了,哈哈
(3)修改cli_demo.py(或者web_demo.py,看你想運行哪一個)
? 找到如下代碼,改成如下樣子:
tokenizer = AutoTokenizer.from_pretrained("自己的目錄\\ChatGLM-6B-main\\model", trust_remote_code=True)
model = AutoModel.from_pretrained("自己的目錄\\ChatGLM-6B-main\\model", trust_remote_code=True).float()
model = model.quantize(bits=4, kernel_file="自己的目錄\\ChatGLM-6B-main\\model\\quantization_kernels.so")
model = model.eval()
其實主要就是GPU版本后面是.half().cuda()
,而這里是float();另外加載
quantization_kernels.so
(4)運行python cli_demo.py,應該就可以對話了
祝成功!