Baichuan-13B icon indicating copy to clipboard operation
Baichuan-13B copied to clipboard

为什么推理速度会随着会话增多,逐渐变慢?

Open tanguofu opened this issue 1 year ago • 7 comments

测试 web_demo.py 随着会话增多,推理速度会变得非常慢, 但是修改了 use_fast=False,True 之后, https://github.com/baichuan-inc/Baichuan-13B/blob/main/web_demo.py#L25 速度正常了,

请教下这个为什么影响了推理的速度?

tanguofu avatar Jul 11 '23 08:07 tanguofu

同问

steamfeifei avatar Jul 12 '23 07:07 steamfeifei

我修改了use_fast=True,仍然是速度很慢啊

steamfeifei avatar Jul 12 '23 07:07 steamfeifei

我修改了use_fast=True,仍然是速度很慢啊 是的,我也遇到了同样的问题,修改了use_fast=True,速度依然很慢

CaptainDP avatar Jul 12 '23 09:07 CaptainDP

我修改了use_fast=True,仍然是速度很慢啊

是的,我也遇到了同样的问题,修改了use_fast=True,推理速度会随着会话增多,逐渐变慢

chenxiangzhen avatar Jul 12 '23 09:07 chenxiangzhen

model.chat(tokenizer, messages, stream=True) 改为 model.chat(tokenizer, messages[-6:], stream=True)

限制输出token

liaoweiguo avatar Jul 12 '23 10:07 liaoweiguo

model.chat(tokenizer, messages, stream=True) 改为 model.chat(tokenizer, messages[-6:], stream=True)

限制输出token

哈哈,一样的想法,但是这个还受到chat回复内容量的影响。感觉可以出个动态规则。 希望官方出一个更好的策略,参考chatglm2就行

steamfeifei avatar Jul 12 '23 10:07 steamfeifei

model.chat(tokenizer, messages, stream=True) 改为 model.chat(tokenizer, messages[-6:], stream=True)

限制输出token

用了这个方法但是对话了两句之后速度还是有明显的下降

zhm-super avatar Jul 13 '23 09:07 zhm-super

现在输入6条历史记录,你可以限制更少。我在4090上挺快的,8位量化 messages[-6:]。messages[-2:]

liaoweiguo avatar Jul 14 '23 01:07 liaoweiguo

现在输入6条历史记录,你可以限制更少。我在4090上挺快的,8位量化 messages[-6:]。messages[-2:]

你用了几块GPU,8bit的,我这一块跑不起来

steamfeifei avatar Jul 14 '23 02:07 steamfeifei

现在输入6条历史记录,你可以限制更少。我在4090上挺快的,8位量化 messages[-6:]。messages[-2:]

我现在单卡部署8位量化速度正常了,之前是auto自动分配到两块32G的V100上,速度很慢,不知道是什么问题

zhm-super avatar Jul 14 '23 02:07 zhm-super

现在输入6条历史记录,你可以限制更少。我在4090上挺快的,8位量化 messages[-6:]。messages[-2:]

你用了几块GPU,8bit的,我这一块跑不起来

一块32G的,运行8bit能跑

zhm-super avatar Jul 14 '23 02:07 zhm-super

现在输入6条历史记录,你可以限制更少。我在4090上挺快的,8位量化 messages[-6:]。messages[-2:]

你用了几块GPU,8bit的,我这一块跑不起来

一块32G的,运行8bit能跑

额 我这是3090 24G的,一块还跑不起来

steamfeifei avatar Jul 14 '23 02:07 steamfeifei

现在输入6条历史记录,你可以限制更少。我在4090上挺快的,8位量化 messages[-6:]。messages[-2:]

你用了几块GPU,8bit的,我这一块跑不起来

一块32G的,运行8bit能跑

额 我这是3090 24G的,一块还跑不起来

多卡又跑不起来了,无论8b还是4b的 Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cuda:1!

steamfeifei avatar Jul 14 '23 02:07 steamfeifei

现在输入6条历史记录,你可以限制更少。我在4090上挺快的,8位量化 messages[-6:]。messages[-2:]

我现在单卡部署8位量化速度正常了,之前是auto自动分配到两块32G的V100上,速度很慢,不知道是什么问题

我也是这个问题,单卡V100 启动 chat 模型,速度嘎嘎快,用双卡V100 32G 启动速度还变慢了,,

EircYangQiXin avatar Jul 14 '23 06:07 EircYangQiXin

现在输入6条历史记录,你可以限制更少。我在4090上挺快的,8位量化 messages[-6:]。messages[-2:]

我现在单卡部署8位量化速度正常了,之前是auto自动分配到两块32G的V100上,速度很慢,不知道是什么问题

有多张显卡的情况下,怎么单卡启动?

EircYangQiXin avatar Jul 14 '23 06:07 EircYangQiXin

开头设置环境,指定卡index os.environ["CUDA_VISIBLE_DEVICES"] = "3,4,5"

steamfeifei avatar Jul 14 '23 09:07 steamfeifei

基于transformer的话就是这样的吧。如果想推理速度和context length无关的话,可以用RWKV。

andrea-veritas avatar Jul 15 '23 08:07 andrea-veritas

上下文多了以后,推理速度大幅异常降低的情况和mpt很像,二者都是用了alibi,貌似没有用alibi的项目就没有这种bug,这显然不是transformer本身的问题

jizs avatar Jul 27 '23 04:07 jizs