Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

推理速度有点慢,有什么好方法加速吗 #28

Closed
Jehuty-ML opened this issue Mar 15, 2023 · 37 comments
Closed

推理速度有点慢,有什么好方法加速吗 #28

Jehuty-ML opened this issue Mar 15, 2023 · 37 comments
Labels
enhancement New feature or request

Comments

@Jehuty-ML
Copy link

No description provided.

@rjk-git
Copy link

rjk-git commented Mar 15, 2023

m

@Henryflee
Copy link

是呀,支持转成FasterTransformer吗

@yaleimeng
Copy link

INT4量化应该会快一点。。缩小输入与输出的长度应该会快一点。。
但是希望在快的同时完全保持效果是不太现实的。

@duzx16 duzx16 mentioned this issue Mar 15, 2023
@duzx16 duzx16 added the enhancement New feature or request label Mar 15, 2023
@dogvane
Copy link

dogvane commented Mar 15, 2023

同问,我一张1080的卡,问了一个旅游地点问题,都要50s才有结果返回。

@yaleimeng
Copy link

@dogvane 6B参数的模型,上下文窗口又这么大,慢是必然的。能勉强跑起来就不错了。想象一下,每秒钟输出4~5个字,是不是也说的过去了。跟打字速度差不多
你的GPU也就只能跑跑1B甚至更小的模型而已,体验会好一点。

@huangtao36
Copy link

好奇chatGPT为啥可以这么快呢,有啥技术要点不

@Attect
Copy link

Attect commented Mar 16, 2023

好奇chatGPT为啥可以这么快呢,有啥技术要点不

几百亿美元堆出来的速度

@MatrixDoge
Copy link

MatrixDoge commented Mar 16, 2023

好奇chatGPT为啥可以这么快呢,有啥技术要点不

@huangtao36
ChatGPT后面是成吨的H100 GPU来给你inference结果.用这些设备跑这个model也会很快.

我目前用4090跑FP16其实速度并不慢,给一个bench dp:
我的prompt是76 token (242 characters)的一个数学问题
在我的机器上ChatGLM-6B花了20s输出的结果是578 token (2214 characters)
有ChatGPT plus会员的情况下,同样的prompt,用Legacy (GPT3.5)花了19s,输出结果是480 token (2038 characters)

对于6B参数的LLM, 1080显存太小了 @dogvane

@rjk-git
Copy link

rjk-git commented Mar 16, 2023

所以其实影响观感速度的原因是因为chatgpt流式输出...

@yaleimeng
Copy link

业内人士不会以为单张卡跑6B大模型就能0.1秒出几百字结果吧?
chatGPT部署在微软azure云上,数不清的GPU服务器集群,还有大型超算支持。

@SCAUapc
Copy link

SCAUapc commented Mar 21, 2023

我看设置里vocab的词表有15W,这很大。我曾经有个大规模分类的项目里用BERT,但鉴于最后一层输出的类别(几千)很多,发现最后的计算每个类别的概率还有softmax这一步很耗时和计算量。我觉得如果仅在中文场景的话可以基于BERT之类的词表做词表压缩,并且把第一层的token embedding layer进行重新改写(把不要的token embedding去掉,相应词表也要做改变)这应该能减少一些耗时

@SCAUapc
Copy link

SCAUapc commented Mar 22, 2023

我看设置里vocab的词表有15W,这很大。我曾经有个大规模分类的项目里用BERT,但鉴于最后一层输出的类别(几千)很多,发现最后的计算每个类别的概率还有softmax这一步很耗时和计算量。我觉得如果仅在中文场景的话可以基于BERT之类的词表做词表压缩,并且把第一层的token embedding layer进行重新改写(把不要的token embedding去掉,相应词表也要做改变)这应该能减少一些耗时

好吧今天看了下,底层不是像以前BERT GPT之类的分字,而是实打实的分词了,那就没办法了

@taozhijiang
Copy link

我用的CPU推理的,macOS的intel U
看推理的时候,CPU的利用率并不高,只有一个python进程的利用率是100%,其他核都在围观。
是不是没有并行计算啊???

@gitprwang
Copy link

我用的CPU推理的,macOS的intel U 看推理的时候,CPU的利用率并不高,只有一个python进程的利用率是100%,其他核都在围观。 是不是没有并行计算啊???

好奇intel U的mac多久能跑一个样本

@dakele895
Copy link

image

苹果m1一个你好就这么慢

@little51
Copy link

little51 commented Apr 9, 2023

一次性生成所有结果,速度是比较慢的,硬件算力是有上限的,特别是并发时,这个问题尤为突出,一般解决办法是渐进式推理,也就是通常所说的流方式,结果是一点一点出来的,看起来像打字的感觉,但实际上是为了解决性能问题的。ChatGLM-6B已支持流模式:model.stream_chat,调用方法可参考:
https://github.com/little51/ChatGLM-6B/blob/main/api_stream.py

@geolvr
Copy link

geolvr commented Apr 27, 2023

慢是可以理解的,但为什么int4反而比fp16慢,还慢得很明显?

@ice-2022
Copy link

请问下手持4090卡的同学,推理一次大概多久。。。

@kevinuserdd
Copy link

慢是可以理解的,但为什么int4反而比fp16慢,还慢得很明显?

解决了吗? 我也发现了这个问题,量化的比float16慢

@igiraffe
Copy link

igiraffe commented May 8, 2023

慢是可以理解的,但为什么int4反而比fp16慢,还慢得很明显?

解决了吗? 我也发现了这个问题,量化的比float16慢

慢很多,同一台机器大概慢30%

@geolvr
Copy link

geolvr commented May 8, 2023

慢是可以理解的,但为什么int4反而比fp16慢,还慢得很明显?

解决了吗? 我也发现了这个问题,量化的比float16慢

没解决,官方似乎不重视这个问题。我只能通过加大推理batchsize变相提速。。

@HL0718
Copy link

HL0718 commented May 10, 2023

慢是可以理解的,但为什么int4反而比fp16慢,还慢得很明显?

解决了吗? 我也发现了这个问题,量化的比float16慢

没解决,官方似乎不重视这个问题。我只能通过加大推理batchsize变相提速。。

这种加大推理batchsize变相提速带来的后果是显存的不断增加,算了一下,其实增加的显存和提升的推理效率是一样的

@BillLucky
Copy link

BillLucky commented May 12, 2023

同问,我一张1080的卡,问了一个旅游地点问题,都要50s才有结果返回。

@dogvane 方便了解下你的NVIDIA drive 和 cuda版本是多少吗?用430的版本,pytoch 提示 too old

@Hkaisense
Copy link

多堆几张显卡能更快吗?确实快这件事情非常关键

@vanewu
Copy link

vanewu commented Jun 2, 2023

Hi, All. 速度和吞吐量上有需求,可以尝试: https://huggingface.co/TMElyralab/lyraChatGLM 。 这个是对 ChatGLM6B 的加速版本,已封装 Python 上层调用,兼容 A100, V100, A10, A30 等显卡。

@liao0028
Copy link

liao0028 commented Jun 4, 2023

慢是可以理解的,但为什么int4反而比fp16慢,还慢得很明显?

解决了吗? 我也发现了这个问题,量化的比float16慢

没解决,官方似乎不重视这个问题。我只能通过加大推理batchsize变相提速。。

想问一下,如何加大推理batchsize

@geolvr
Copy link

geolvr commented Jun 5, 2023

Hi, All. 速度和吞吐量上有需求,可以尝试: https://huggingface.co/TMElyralab/lyraChatGLM 。 这个是对 ChatGLM6B 的加速版本,已封装 Python 上层调用,兼容 A100, V100, A10, A30 等显卡。

这个好像只能用原版,不支持加载自己微调后的模型

@liao0028
Copy link

liao0028 commented Jun 5, 2023

Hi, All. 速度和吞吐量上有需求,可以尝试: https://huggingface.co/TMElyralab/lyraChatGLM 。 这个是对 ChatGLM6B 的加速版本,已封装 Python 上层调用,兼容 A100, V100, A10, A30 等显卡。

这个好像只能用原版,不支持加载自己微调后的模型

对,且只支持N卡,我想在A卡上部署,您能否提供您增大推理时batch_size的源码和方法,谢谢。

@Vange95
Copy link

Vange95 commented Jun 9, 2023

同问

@Lukangkang123
Copy link

Hi, All. 速度和吞吐量上有需求,可以尝试: https://huggingface.co/TMElyralab/lyraChatGLM 。 这个是对 ChatGLM6B 的加速版本,已封装 Python 上层调用,兼容 A100, V100, A10, A30 等显卡。

这个好像只能用原版,不支持加载自己微调后的模型

对,且只支持N卡,我想在A卡上部署,您能否提供您增大推理时batch_size的源码和方法,谢谢。

可以看一下我提的这个pull request,使用了batch推理,支持高并发。亲测一千条数据只需要30秒就能返回响应。#1244

@HL0718
Copy link

HL0718 commented Jun 15, 2023

Hi, All. 速度和吞吐量上有需求,可以尝试: https://huggingface.co/TMElyralab/lyraChatGLM 。 这个是对 ChatGLM6B 的加速版本,已封装 Python 上层调用,兼容 A100, V100, A10, A30 等显卡。

这个好像只能用原版,不支持加载自己微调后的模型

对,且只支持N卡,我想在A卡上部署,您能否提供您增大推理时batch_size的源码和方法,谢谢。

可以看一下我提的这个pull request,使用了batch推理,支持高并发。亲测一千条数据只需要30秒就能返回响应。#1244

请问一下,您这个每个batch的大小是多少,以及需要的显存大概是多少?

@Lukangkang123
Copy link

Hi, All. 速度和吞吐量上有需求,可以尝试: https://huggingface.co/TMElyralab/lyraChatGLM 。 这个是对 ChatGLM6B 的加速版本,已封装 Python 上层调用,兼容 A100, V100, A10, A30 等显卡。

这个好像只能用原版,不支持加载自己微调后的模型

对,且只支持N卡,我想在A卡上部署,您能否提供您增大推理时batch_size的源码和方法,谢谢。

可以看一下我提的这个pull request,使用了batch推理,支持高并发。亲测一千条数据只需要30秒就能返回响应。#1244

请问一下,您这个每个batch的大小是多少,以及需要的显存大概是多少?

我提的这个pull request里默认设的是100,我测的是占40G显存左右,你可以根据自己的数据和显卡调整。

@liukaiyueyuo
Copy link

请问一下各路大神,我的4090显卡跑chatglm-6b,为啥GPU利用率一直只有20%???怎么提升一下GPU利用率呢?

@songkea
Copy link

songkea commented Jun 26, 2023

4090显卡 推理时只占用30%,cpu单核100%,还有63个核在围观... 服了... 不知道如何提速

@duzx16
Copy link
Member

duzx16 commented Jun 26, 2023

我们发布了新的 ChatGLM2-6B,推理速度有大幅提升,可以尝试一下

@songkea
Copy link

songkea commented Jun 26, 2023

已经尝试过了 有提升 但是gpu仍然只占用30% 我希望他能100%运行

@Hunter1943
Copy link

已经尝试过了 有提升 但是gpu仍然只占用30% 我希望他能100%运行

貌似不太可能,这模型耗时似乎主要在访存而非计算,也没什么办法去做并行操作

@THUDM THUDM locked and limited conversation to collaborators Aug 15, 2023
@zhangch9 zhangch9 converted this issue into discussion #1373 Aug 15, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests