CogVLM2多模态开源大模型部署与使用

CogVLM2多模态开源大模型部署与使用

项目简介

  • CogVLM2 是由清华大学团队发布的新一代开源模型系列。
  • 2024年5月24日,发布了Int4版本模型,只需16GB显存即可进行推理。
  • 2024年5月20日,发布了基于llama3-8b的CogVLM2,性能与GPT-4V相当或更优。

模型特点

  • 显著提升关键指标,如TextVQA, DocVQA。
  • 支持8K文本长度和1344*1344图像分辨率。
  • 提供中英文双语模型版本。

模型详细信息

  • 基座模型:Meta-Llama-3-8B-Instruct
  • 语言:英文和中英文双语
  • 模型大小:19B
  • 任务:图像理解,对话模型
  • 文本长度:8K
  • 图片分辨率:1344*1344

模型使用

最低配置要求

CogVlM2 Int4 型号需要 16G GPU 内存就可以运行,并且必须在具有 Nvidia GPU 的 Linux 上运行。

Model Name 19B Series Model Remarks
BF16 / FP16 Inference 42GB Tested with 2K dialogue text
Int4 Inference 16GB Tested with 2K dialogue text
BF16 Lora Tuning (Freeze Vision Expert Part) 57GB Training text length is 2K
BF16 Lora Tuning (With Vision Expert Part) > 80GB Single GPU cannot tune

部署步骤

模型下载
  • 这里从 huggingface 上下载模型
  • 如果使用AutoDL算力平台可以使用 source /etc/network_turbo 进行学术加速 , unset http_proxy && unset https_proxy 取消加速
shell 复制代码
# 创建文件夹
mkdir cogvlm2
# 按照huggingface_hub 工具下载模型
pip install -U huggingface_hub
# 下载模型到当前文件夹
huggingface-cli download THUDM/cogvlm2-llama3-chinese-chat-19B-int4 --local-dir .

# 也可以使用
git clone https://huggingface.co/THUDM/cogvlm2-llama3-chinese-chat-19B-int4
下载代码
shell 复制代码
git clone https://github.com/THUDM/CogVLM2
安装依赖

cd basic_demo

pip install -r requirements.txt

  • 如果安装出现依赖库冲突的错误,可以采用下面requirements.txt
shell 复制代码
xformers>=0.0.26.post1
#torch>=2.3.0
#torchvision>=0.18.0
transformers>=4.40.2
huggingface-hub>=0.23.0
pillow>=10.3.0
chainlit>=1.0.506
pydantic>=2.7.1
timm>=0.9.16
openai>=1.30.1
loguru>=0.7.2
pydantic>=2.7.1
einops>=0.7.0
sse-starlette>=2.1.0
bitsandbytes>=0.43.1
代码修改

vim web_demo.py

shell 复制代码
# 修改模型路径为本地路径
MODEL_PATH = '/root/autodl-tmp/cogvlm2/cogvlm2-llama3-chinese-chat-19B-int4'

启动WebDemo

shell 复制代码
chainlit run web_demo.py

访问

本地则访问 : http://localhost:8000

如果是AutoDL 使用ssh代理来访问 , 输入yes, 如何粘贴密码即可

shell 复制代码
ssh -CNg -L 8000:127.0.0.1:8000 root@connect.cqa1.xxxx.com -p 46671
  • 页面

效果

  • 成份表
  • 火车票

这里键的含义不对, int4 估计会有性能损失导致的

  • 盖了章的报价表

OpenAI API

使用 OpenAI API格式的方式请求和模型的对话。

shell 复制代码
python openai_api_demo.py

错误解决

解决办法 :

使用下面requirements.txt重新安装依赖

shell 复制代码
xformers>=0.0.26.post1
#torch>=2.3.0
#torchvision>=0.18.0
transformers>=4.40.2
huggingface-hub>=0.23.0
pillow>=10.3.0
chainlit>=1.0.506
pydantic>=2.7.1
timm>=0.9.16
openai>=1.30.1
loguru>=0.7.2
pydantic>=2.7.1
einops>=0.7.0
sse-starlette>=2.1.0
bitsandbytes>=0.43.1
相关推荐
说私域7 小时前
开源AI智能名片链动2+1模式S2B2C商城小程序:分享经济时代的技术赋能与模式创新
人工智能·小程序·开源
网络坤子-蔡先生9 小时前
openEuler 22.03 ARM64 KVM虚拟化安装
linux·开源·负载均衡
DisonTangor11 小时前
【百度拥抱开源】介绍ERNIE-4.5-VL-28B-A3B-Thinking:多模态AI的重大突破
人工智能·百度·语言模型·开源·aigc
这儿有一堆花14 小时前
部署Cloudflare免费图床——免费开源强大
开源·github
悟空CRM服务15 小时前
开源的力量:如何用开源技术构建高效IT架构?
java·人工智能·架构·开源·开源软件
席万里17 小时前
通过Golang订阅binlog实现轻量级的增量日志解析,并解决缓存不一致的开源库cacheflow
缓存·golang·开源
AllData公司负责人17 小时前
云原生数据平台(cloudeon)--核心服务组件扩展
大数据·云原生·架构·开源
想用offer打牌18 小时前
seata的JacksonUndoLogParser回滚SerialArray类型的序列化和反序列化解析
后端·开源·github
q***064718 小时前
开源模型应用落地-FastAPI-助力模型交互-进阶篇-中间件(四)
开源·交互·fastapi
q***718519 小时前
开源数据同步中间件(Dbsyncer)简单玩一下 mysql to mysql 的增量,全量配置
mysql·中间件·开源