gptq量化相关代码
显存的问题已经解决了,现在4bit的模型量化后大概5G多的显存占用
比直接用min/max的情况要好一点,对话任务我这边还没有数据集能够衡量指标,只是测了一个prompt感觉精度还可以
@BigMaoGoGoGo 你好,想问下你了解chatglm自带的量化吗? 我看它代码里只是对weight进行了量化,计算前再转fp16,但我这边跑起来效果不错的,比llm.int8()快很多。只是不知道有没有工具类直接搞定呢? 这样不需要手动加那么多自定义的代码了。
作者的代码里有weight-only量化的kernel,你应该可以直接用吧
请问这个gptq量化如何使用,我没看到 如何 生成 gptq 量化后模型的代码,这个是不是应该先生成gptq 量化的模型吗,谢谢
可以把 chatglm-6b 生成 量化模型的代码发一下吗,谢谢
按照Files changed中的新增和改动,调整了原版代码,可以运行。但是int4量化后的模型推理速度依旧很慢,跟原版量化后的推理速度差不多,都比没量化前(float16)的慢很多。
按照Files changed中的新增和改动,调整了原版代码,可以运行。但是int4量化后的模型推理速度依旧很慢,跟原版量化后的推理速度差不多,都比没量化前(float16)的慢很多。
目前这份代码里,gptq算法只是用来提升模型的精度的,量化的算子还是和原来一样,因此速度不会有特别的提升
按照Files changed中的新增和改动,调整了原版代码,可以运行。但是int4量化后的模型推理速度依旧很慢,跟原版量化后的推理速度差不多,都比没量化前(float16)的慢很多。
目前这份代码里,gptq算法只是用来提升模型的精度的,量化的算子还是和原来一样,因此速度不会有特别的提升
这可能有违gptq的初衷,毕竟gptq的原文paper里跟llm.int8()对比说明优势时,表达的重点是runtime的减少(相比于llm.int8()只是显存占用的减少)。