当前位置: 首页 > news >正文

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 Name19B Series ModelRemarks
BF16 / FP16 Inference42GBTested with 2K dialogue text
Int4 Inference16GBTested with 2K dialogue text
BF16 Lora Tuning (Freeze Vision Expert Part)57GBTraining text length is 2K
BF16 Lora Tuning (With Vision Expert Part)> 80GBSingle GPU cannot tune

部署步骤

模型下载
  • 这里从 huggingface 上下载模型
  • 如果使用AutoDL算力平台可以使用 source /etc/network_turbo 进行学术加速 , unset http_proxy && unset https_proxy 取消加速
# 创建文件夹
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
下载代码
git clone https://github.com/THUDM/CogVLM2
安装依赖

cd basic_demo

pip install -r requirements.txt

  • 如果安装出现依赖库冲突的错误,可以采用下面requirements.txt
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

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

启动WebDemo

chainlit run web_demo.py

访问

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

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

ssh -CNg -L 8000:127.0.0.1:8000 root@connect.cqa1.xxxx.com -p 46671
  • 页面

image-20240604143209810

效果

  • 成份表

image-20240604154950681

  • 火车票

image-20240604155033358

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

  • 盖了章的报价表

4

image-20240604160818755

OpenAI API

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

python openai_api_demo.py

错误解决

image-20240604154848046

解决办法 :

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

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

相关文章:

  • 聊聊二叉堆、红黑树、时间轮在定时任务中的应用
  • zookeeper节点启动的主要逻辑
  • 4. MySQL 约束
  • 东方博宜1317 - 正多边形每个内角的度数?
  • webpack学习
  • 掌握复选框(Checkbox)的奥秘:全选与反选功能实现
  • uniapp封装picker选择器组件,支持关键字查询
  • react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项目
  • Docker搭建ELKF日志分析系统
  • GPT-4o:免费且更快的模型
  • C语言 指针——函数指针的典型应用:计算定积分
  • CAD二次开发(8)-探索实现不重启CAD进行热部署代码
  • 算法-分治策略
  • 如何复制文件描述符
  • 解决nvidia驱动和CUDA升级问题
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【附node操作实例】redis简明入门系列—字符串类型
  • AWS实战 - 利用IAM对S3做访问控制
  • CentOS6 编译安装 redis-3.2.3
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Electron入门介绍
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • js ES6 求数组的交集,并集,还有差集
  • JS专题之继承
  • Linux CTF 逆向入门
  • Material Design
  • MYSQL 的 IF 函数
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Phpstorm怎样批量删除空行?
  • Spring声明式事务管理之一:五大属性分析
  • tensorflow学习笔记3——MNIST应用篇
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • Wamp集成环境 添加PHP的新版本
  • 翻译:Hystrix - How To Use
  • 浮现式设计
  • 关于Flux,Vuex,Redux的思考
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 驱动程序原理
  • 如何使用 JavaScript 解析 URL
  • 双管齐下,VMware的容器新战略
  • 我有几个粽子,和一个故事
  • 小程序开发之路(一)
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 智能合约开发环境搭建及Hello World合约
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 通过调用文摘列表API获取文摘
  • ​【已解决】npm install​卡主不动的情况
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​批处理文件中的errorlevel用法
  • ​用户画像从0到100的构建思路
  • # C++之functional库用法整理
  • #、%和$符号在OGNL表达式中经常出现
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • $.ajax()方法详解
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...