V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lyang
V2EX  ›  程序员

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

  •  
  •   lyang · 2023-07-17 08:55:08 +08:00 · 3235 次点击
    这是一个创建于 430 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    所以要么他服务端这里拼了 batch 要么是在排队
    aleimu2
        16
    aleimu2  
       2023-07-17 18:58:16 +08:00
    lyang
        17
    lyang  
    OP
       2023-07-19 12:31:05 +08:00
    @thorneLiu chatglm 的 stream_chat 可以,测过了
    @aleimu2 同时提问的问题变多,时间也会变长,但确实可行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   997 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:20 · PVG 06:20 · LAX 15:20 · JFK 18:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.