-
Notifications
You must be signed in to change notification settings - Fork 430
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
[Bug] serve的时候event loop报错 #2101
Comments
补充下,我这里第一轮输入图+问,后续轮次使用纯文字输出正常,但是点击reset以后,重新上传图片提问,也会报同样的错误 |
似乎gradio使用了不同的event loop,pytorch backend 应该也会有类似的问题。 |
我试了下是OK的,你是怎么操作的。 @yaaisinile |
按你提交的修改内容修改了文件,然后执行命令python gradio_demo/gradio_demo_chat.py --code_path /home/ai/Documents/InternLM-XComposer/internlm-xcomposer2d5-7b-4bit/ |
好像 |
我把engine.py第 101 行 asyncio.set_event_loop(self._loop) 改为 asyncio.set_event_loop(asyncio.new_event_loop()) 后可以多轮对话不报错了 |
感谢回复,实测卸载uvloop也有效 |
报错内容呢? |
报错是一样的 |
会跟Python版本有关吗?我看asyncio.Queue的构造函数在3.10有变化 |
修改engine.py文件,把128-129行屏蔽掉加一行self._create_event_loop_task()可以暂时避免,不知道会影响多用户使用不 |
同样的错误,把InternVL2-4B 部署成服务上线的时候,会报 Current event loop is different from the one bound to loop task! 错误 |
一劳永逸的方法是 #1930 修改的内容改回去,用低版本的 gradio。 |
改回去了,用gradio 3.50.2,还是报“RuntimeError: Current event loop is different from the one bound to loop task!” |
@irexyc 帮忙看下? |
没有用到gradio,利用lmdeploy去推InternVL2的模型,无论backend设置成torch或者turbomind,部署成服务,调用的时候都会遇到这个报错,请问是否是lmdeploy某个版本更新之后导致的错误?目前尝试了最新的0.5.2 0.5.2.post 都有这个问题 |
@77h2l 需要在创建pipeline的时候,增加参数 pipe = pipeline('...', vision_config=VisonConfig(thread_safe=True)), pytorch backend也会有类似的问题。 另外如果调用的是 call、stream_infer 接口的话,因为目前没有提供session_id的参数,多个请求可能并不会有迸发。 |
对的,目前的应用场景就是使用pipeline的接口,然后在外层通过其他专门的serving框架用来部署服务,尝试了几个版本都有这个问题,我试一下您说的这个参数,另外降低lmdeploy到更低的版本能解决这个问题吗? |
@77h2l 出现这个问题应该是你多线程使用了。如果你能用协程的话,可以直接用 pipeline.generate 这个入口。 |
@irexyc 您好,self.pipe = pipeline(self.model, model_name=self.model_name, chat_template_config=self.chat_template_config, |
同样的问题,期待下一个版本能解决这个问题 |
同遇到这个问题,就是本地模拟用python双线程去调用pipeline预测,就会出现这个问题同样的报错,试了上面的都不行,大佬们现在有解决办法吗? |
@ltt-gddxz 可以给个最小复现脚本。 |
@AllentDan
|
VL 这里的代码不建议多线程,最好用协程。调用 generate 接口函数,效率也高 |
Checklist
Describe the bug
在gradio上使用VLM的时候,第一轮图文对话可以正常完成,但是第二轮(也是图文)就会报错,试了几次都是这样。貌似是多轮对话中输入多次图片会有问题。
Reproduction
lmdeploy 0.5.1从wheel安装,使用的模型是InternVL2-2B-AWQ
Environment
Error traceback
The text was updated successfully, but these errors were encountered: