大语言模型能单卡多用户访问吗

2023-07-17 08:55:08 +08:00
 lyang

如题,单卡部署了 api 服务,能多用户并发提问吗,还是说一张卡只能同时支持一个用户的回答

3359 次点击
所在节点    程序员
17 条回复
lingyidxx
2023-07-17 09:01:18 +08:00
跑一下压测就知道了
lyang
2023-07-17 09:04:59 +08:00
@lingyidxx 多线程调用接口吗,但后端应该还是一个个排队回答的吧
paopjian
2023-07-17 09:33:48 +08:00
单卡都是蹦字出,负载都满了,能多用户?
laipidov
2023-07-17 10:31:50 +08:00
消息队列,至于消费者有几个,就看你这张卡的显存了
laipidov
2023-07-17 10:32:09 +08:00
卡显存够是 ok 的
thorneLiu
2023-07-17 11:09:42 +08:00
就 fastertransformer 而言
权重加载是共享的 但用于推理的 modelinstance 可以构建多个
所以是支持多用户推理的

但理论上 其实多用户输入进队列拼 batch 用一个 modelinstance 推理会比多 instance 单 batch 推理效果好一点
zooo
2023-07-17 11:10:50 +08:00
打听下 op 部署了什么模型
thorneLiu
2023-07-17 11:12:12 +08:00
取决于你后面部署的推理服务怎么个策略
wzwwzw
2023-07-17 11:50:46 +08:00
反正每秒吐出来的 token 数量是差不多的,用户量越多就每个人每秒收到的越少,用户量多的情况下,打 batch 效果会稍微好一点。
tanranran
2023-07-17 12:43:03 +08:00
可以多并发,但是你没法商用,你猜为什么大公司都在囤 A100 H100
kenvix
2023-07-17 12:58:20 +08:00
根据我部署模型的经验,并发量完全取决于你的显存大小
cbythe434
2023-07-17 14:55:12 +08:00
加载一份模型,多用户并发高可以缓存收集一个 batch 批量推理
吞吐量 = model 个数 * batch_size
单卡一般就一个 model ,低并发就一条一个 batch
lyang
2023-07-17 17:05:28 +08:00
@thorneLiu chatglm 这个,我看模型就一个 model ,没有多个实例,https://github.com/THUDM/ChatGLM-6B/blob/main/web_demo.pyhttps://huggingface.co/THUDM/chatglm-6b/blob/main/modeling_chatglm.py ,但这个 stream_chat 听别人可以同时回答,这个是并发的吗
lyang
2023-07-17 17:07:35 +08:00
@zooo 没有什么特定模型,就是大语言那些
thorneLiu
2023-07-17 18:27:11 +08:00
@lyang 一个实例只能同时做一个推理 因为 LLM 推理有很多跟本次推理相关的过程量

所以要么他服务端这里拼了 batch 要么是在排队
aleimu2
2023-07-17 18:58:16 +08:00
lyang
2023-07-19 12:31:05 +08:00
@thorneLiu chatglm 的 stream_chat 可以,测过了
@aleimu2 同时提问的问题变多,时间也会变长,但确实可行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/957248

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX