-
Notifications
You must be signed in to change notification settings - Fork 505
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
VLM的serve支持请求分发/负载均衡吗? #3226
Comments
或者请问要增加internvl8b这种小规模的模型的并发输入,有什么其他办法不?😢 |
|
--model-name 用一个吧,分发是根据model-name做负载均衡,不同名会认为是不同的模型。 |
问题在于-model-name你没有设定为一个,为什么你的 max_batch_size设置那么小,一般都是64或者128,甚至更高,还有其他参数,很奇怪,你得先好好看看文档 |
@AllentDan,你是指通过设置相同名字但不同的 API 启动方式,来实现启动多个 lmdeploy 引擎吗?那如果采用直接写 Python 代码的方式又如何呢?目前,lmdeploy 的 API 服务不稳定。在同一设备上启动多个如 0.5b、4bit 的小模型时,模型名字不同、API 端口不同,并行调用会出现约 40% 左右的报错。(尚未测试在不同设备上并行调用 lmdeploy 是否会报错。) |
@xiezhipeng-git 启动服务的时候你分别指定每个服务的模型名字是 |
@AllentDan 我和提出该issue的不是同一个人。我的代码没有请求和分发不一致的问题。不同的服务名字,请求的时候也不一样,并且启动多个客户端,如果模型名字不同,只要启动、请求时一致不就可以了,毕竟启动的时候是让模型都存在在显存中。不过这具体还要看lmdeploy怎么处理的。而且我已经多次测试用完全不同的并行代码 一个机子开启多个api会有问题(服务端的终端会报好几种不同的错误,而且是概率,不是所有请求都有问题)。现在我想了解的是怎么直接通过代码来在多个设备启动多个客户端。 |
我的目标是期望在单机8卡上起服务,然后多线程请求。期望可以提升速度。
使用tp参数无法实现这个需求。就考虑文档中的 请求分发
但是这个好像不能实现负载均衡,只有一卡在跑,其他的都在闲着。请问这个是什么问题呢?
起服务:
请求:
用multiprocessting起了100个线程,用requests发请求。每个sample是8张近似1920*1080的图片,大概1.2w个token。
结果是:
nvidia-smi:

The text was updated successfully, but these errors were encountered: