ChatGLM-6B icon indicating copy to clipboard operation
ChatGLM-6B copied to clipboard

[Help] 是否支持多进程部署

Open kwsy opened this issue 1 year ago • 4 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

Current Behavior

api.py 文件提供了使用uvicorn 结合 FastAPI 进行部署的例子

uvicorn 服务器启动时,workers 数量设置为1, 这是否是由于在多进程模式下,无法加载模型才这样设置的呢?

使用python web框架部署时,是否支持多进程部署方式呢?

Expected Behavior

No response

Steps To Reproduce

nothing

Environment

- OS:
- Python:
- Transformers:
- PyTorch:
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :

Anything else?

No response

kwsy avatar Mar 29 '23 02:03 kwsy

我是Django + gunicorn部署的,原先gunicorn配置的workers=1,发现只能同时响应一个请求。

设置 workers = 2 的时候,就能并发2个请求了,但是显存也会翻倍。如果要支持高并发的话感觉就很费显卡了

image

ray-008 avatar Mar 29 '23 09:03 ray-008

加一层消息队列好了

SkySlity avatar Mar 30 '23 09:03 SkySlity

我是Django + gunicorn部署的,原先gunicorn配置的workers=1,发现只能同时响应一个请求。

设置 workers = 2 的时候,就能并发2个请求了,但是显存也会翻倍。如果要支持高并发的话感觉就很费显卡了

image

有办法让模型只加载一份,但是能实现并发吗?比如进程/线程间共享变量?

geolvr avatar May 12 '23 04:05 geolvr

同问。而且我用的多卡启动方式,高并发请求结束会导致第一张卡显存无法彻底回收,最终导致第一张卡显存占满。

sportzhang avatar May 27 '23 08:05 sportzhang

我是Django + gunicorn部署的,原先gunicorn配置的workers=1,发现只能同时响应一个请求。

设置 workers = 2 的时候,就能并发2个请求了,但是显存也会翻倍。如果要支持高并发的话感觉就很费显卡了

image

大佬,请问是怎么部署的可以发下源码吗

Zimo777 avatar Aug 30 '23 10:08 Zimo777

加一层消息队列好了

请问具体怎么操作可以请教下吗

Zimo777 avatar Aug 31 '23 06:08 Zimo777