chatglm.cpp
chatglm.cpp copied to clipboard
Q4_0 + CPU转换避坑指南
整了好久,终于转换好了,给大家说说容易踩坑的几个点
我的系统:Arch Linux x86_64
1.clone时一定要带--recursive
,不然编译时会报错
2.CPU转换时torch不必安装CPU版本
3.transformers安装时务必指定版本transformers==4.33.2
,新版transformers更改了 一些函数,会报错
4.若要转换Q4_0,请务必使用THUDM/chatglm-6b-int4,否则终端会直接崩掉
5.最重要的一点!!!一定要把chatglm_cpp/convert.py里的
model = auto_model_class.from_pretrained(model_name_or_path, trust_remote_code=True, low_cpu_mem_usage=True)
这一行改成
model = auto_model_class.from_pretrained(model_name_or_path, trust_remote_code=True).float()
我因为这个卡了很久,一定要注意!!!
transformers==4.27.1
也可以
我明白了,必须得用量化后的模型是因为我的电脑内存不足,直接加载正常的模型内存不够用,就崩了
chatglm3没有提供量化过的模型,所以内存小于32G且使用CPU的无解
只能用别人量化好的
intel developer cloud终于维护完了,我从那上面量化一下
请问下你们有试过GPU版本的么,我试了怎么编译都是用CPU推理
chatglm3没有提供量化过的模型,所以内存小于32G且使用CPU的无解
我这边系统32G的内存,Windows 11操作系统,量化模型的时候因为系统还开着其他的程序所以内存不太够,但是Windows换页换页着,最后还是把模型量化好了。
请问下你们有试过GPU版本的么,我试了怎么编译都是用CPU推理
你可以试一试构建程序前给GGML机器学习库的编译配置加上一个“使用CUBLAS”的选项
请问下你们有试过GPU版本的么,我试了怎么编译都是用CPU推理
我也存在这个问题,虽然有GPU,但是一直用CPU推理