[THUDM/ChatGLM-6B]为什么模型精度降低,推理耗时反而增大了?

2024-05-20 296 views
8

我是用t4进行推理,它是支持int8和int4的

输入长度为1000,int4需要32s,fp16只需要12s

from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).quantize(8).half().cuda() model = model.eval()

response, history = model.chat(tokenizer, "你好", history=[]) print(response) response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history) print(response) Environment
OS: Ubuntu 20.04
Python: 3.8
Transformers: 4.26.1
PyTorch: 1.12
CUDA Support: True

回答

5

我也这样

7

似乎降低模型精度主要是为了减少显存占用,在推理速度上由于没有对应优化确实会比较慢

8

@bulubulu-Li @YefZhao @maojinyang https://huggingface.co/TMElyralab/lyraChatGLM 这里实现了 INT8 weight only PTQ. 测试可用,显存大约8G 可推理,速度在 128 batchsize 内快于 fp16 模式

跑不通呀,给的demo运行起来报OSError: libnccl.so.2: cannot open shared object file: No such file or directory错误,说是不支持CUDA11.X

5

@bulubulu-Li @YefZhao @maojinyang https://huggingface.co/TMElyralab/lyraChatGLM 这里实现了 INT8 weight only PTQ. 测试可用,显存大约8G 可推理,速度在 128 batchsize 内快于 fp16 模式

这个项目,之前看是不支持加载自己finetune后的模型,现在支持了?

8

@bulubulu-Li @YefZhao @maojinyang https://huggingface.co/TMElyralab/lyraChatGLM 这里实现了 INT8 weight only PTQ. 测试可用,显存大约8G 可推理,速度在 128 batchsize 内快于 fp16 模式

请问支持finetune后的模型吗