Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
tanguofu opened this issue Jul 11, 2023 · 18 comments
Closed

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

tanguofu opened this issue Jul 11, 2023 · 18 comments

Comments

@tanguofu
Copy link

tanguofu commented Jul 11, 2023

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

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

@steamfeifei
Copy link

同问

@steamfeifei
Copy link

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

@CaptainDP
Copy link

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

@chenxiangzhen
Copy link

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

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

@liaoweiguo
Copy link

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

限制输出token

@steamfeifei
Copy link

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

限制输出token

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

@zhm-super
Copy link

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

限制输出token

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

@liaoweiguo
Copy link

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

@steamfeifei
Copy link

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

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

@zhm-super
Copy link

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

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

@zhm-super
Copy link

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

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

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

@steamfeifei
Copy link

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

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

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

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

@steamfeifei
Copy link

现在输入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!

@EircYangQiXin
Copy link

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

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

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

@EircYangQiXin
Copy link

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

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

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

@steamfeifei
Copy link

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

@rogerus
Copy link

rogerus commented Jul 15, 2023

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

@jizs
Copy link

jizs commented Jul 27, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants