li-plus / chatglm.cpp

C++ implementation of ChatGLM-6B & ChatGLM2-6B & ChatGLM3 & GLM4(V)
MIT License
2.91k stars 334 forks source link

编译后的模型和原始模型输出结果不一致 #152

Open qianlir opened 10 months ago

qianlir commented 10 months ago

编译后和原版的chatglm2-6b,输出不一致。是因为q4_0参数导致的吗?请问具体怎么理解这个参数 python3 chatglm_cpp/convert.py -i THUDM/chatglm2-6b -t q4_0 -o chatglm2-ggml.bin

jonsen commented 10 months ago

个人理解,仅供参考。

大模型量化,是将大模型精简压缩了,相当于图片压缩。量化(压缩)后,内存(显存)占用少了,响应速度快了,但是回答精度就有所牺牲了。

chatglm_cpp/convert.py 的 q参数的数字越小,越精简。

li-plus commented 10 months ago

另外默认是开启采样的,会引入随机性,即使权重相同运行两次也会输出不一样的答案。