2025-04-22 16:56:39
LLaVA部署
2024-12-11 20:13:20
多模态大模型LLaVA部署
使用LLaVA的官方项目进行部署, 项目中已经完善了基于gradio的web页面, 整体部署相对比较方便,这里记录一下出现的bug.
官方地址: https://github.com/haotian-liu/LLaVA
整个LLaVA的部署流程如下图所示(见官方项目)
1 | flowchart BT |
这里主要讲三部分: Gradio Web server, LLaVA controller, wokers
git clone and install environment
1 | git clone https://github.com/haotian-liu/LLaVA.git |
1 | conda create -n llava python=3.10 -y |
1 | pip install -e ".[train]" |
LLaVA controller
1 | python -m llava.serve.controller --host 0.0.0.0 --port 10000 |
Gradio web server
1 | python -m llava.serve.gradio_web_server --host 0.0.0.0 --port 6006 --controller |
workers
主要参数: CUDA_VISIBLE_DEVICES
单卡单模型
1
CUDA_VISIBLE_DEVICES=0 python -m llava.serve.model_worker --host 0.0.0.0 --controller http://localhost:10000 --port 40000 --worker http://localhost:40000 --model-path /home/zhijiao/MLM/llava/models/llava-v1.6-vicuna-7b
多卡多模型
1 | # GPU-1 : 第1个model worker |
1 | # GPU-2 : 第2个model worker |
- 多卡单模型
1 | CUDA_VISIBLE_DEVICES=0,1 python -m llava.serve.model_worker --host 0.0.0.0 --controller |
Bugs
- 初次加载workers时,会自动从huggingface上下载对应模型的checkpoints, 此时需要代理。
- 运行workers指令时,如果有全局代理,可能会出现如下类似报错:解决方案:关闭代理
1
2
3
4packages/fastchat/serve/base_model_worker.py", line 97, in register_to_controller
2024-06-04 16:34:51 | ERROR | stderr | assert r.status_code == 200
2024-06-04 16:34:51 | ERROR | stderr | ^^^^^^^^^^^^^^^^^^^^
2024-06-04 16:34:51 | ERROR | stderr | AssertionError - 运行Gradio Webui时可能会在右上角弹出如下错误:
1 | Error |
解决方案:
fastapi版本过高,降低版本
1 | pip install fastapi==0.111.0 |
Preview
2025-04-22 16:56:39