InternLM / InternLM/lmdeploy

VLM的serve支持请求分发/负载均衡吗?

Open
#3,226 8 comments 0 reactions 1 assignee Claimed by @AllentDan View on GitHub
Dominant language
Python
Stars
8.1k
Forks
748
Avg merge
6d 2h
Merged PRs (30d)
54

Description

我的目标是期望在单机8卡上起服务,然后多线程请求。期望可以提升速度。

使用tp参数无法实现这个需求。就考虑文档中的 [请求分发](https://lmdeploy.readthedocs.io/zh-cn/stable/llm/proxy_server.html)

但是这个好像不能实现负载均衡,只有一卡在跑,其他的都在闲着。请问这个是什么问题呢?

起服务:
```bash
model_path=/some_internvl2.5
lmdeploy serve proxy --server-port 54321 --strategy random --log-level DEBUG &
CUDA_VISIBLE_DEVICES=2 lmdeploy serve api_server $model_path --model-name internvl2.5_server_2 --enable-prefix-caching --max-batch-size 4 --vision-max-batch-size 4 --server-port 23402 --session-len 65536 --proxy-url http://0.0.0.0:54321/ --log-level ERROR &
CUDA_VISIBLE_DEVICES=5 lmdeploy serve api_server $model_path --model-name internvl2.5_server_5 --enable-prefix-caching --max-batch-size 4 --vision-max-batch-size 4 --server-port 23405 --session-len 65536 --proxy-url http://0.0.0.0:54321/ --log-level ERROR &
CUDA_VISIBLE_DEVICES=6 lmdeploy serve api_server $model_path --model-name internvl2.5_server_6 --enable-prefix-caching --max-batch-size 4 --vision-max-batch-size 4 --server-port 23406 --session-len 65536 --proxy-url http://0.0.0.0:54321/ --log-level ERROR &
```

请求:
用multiprocessting起了100个线程,用requests发请求。每个sample是8张近似1920*1080的图片,大概1.2w个token。

结果是:

> {"http://0.0.0.0:23406/":{"models":["internvl2.5_server_6"],"unfinished":145,"latency":[72.97619795799255,74.08887839317322,75.17884874343872,75.96083092689514,75.87824320793152,76.40845251083374,77.45741963386536,78.023996591568,78.01388645172119,78.02523851394653,79.549795627594,80.06219005584717,80.11453437805176,80.13341045379639,81.45567512512207],"speed":null},"http://0.0.0.0:23405/":{"models":["internvl2.5_server_5"],"unfinished":0,"latency":[],"speed":null},"http://0.0.0.0:23402/":{"models":["internvl2.5_server_2"],"unfinished":0,"latency":[],"speed":null}}

nvidia-smi:
![Image](https://github.com/user-attachments/assets/cbfbd67e-6ff1-43ee-9257-d1695630435d)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.