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

支持图像和视频理解多模态开源大模型:CogVLM2 CogVLM2-Video

在这里插入图片描述
CogVLM2和CogVLM2-Video是新一代的开源模型,支持图像和视频理解,具有显著的性能提升。最近发布的更新包括CogVLM2论文的发表、在线演示和对视频理解的支持,能够处理最多1分钟的视频。新模型支持中英文,文本长度可达8K,图像分辨率高达1344x1344,且在多个基准测试中表现优异。开发者可以通过提供的API和演示快速入门。

来源:https://github.com/THUDM/CogVLM2
论文:https://arxiv.org/pdf/2408.16500

在这里插入图片描述

以下内容来源github翻译:

CogVLM2 & CogVLM2-Video

近期更新

  • 🔥 News: 2024/8/30: CogVLM2论文已经发布到arXiv。
  • 🔥 News: 2024/7/12: 我们开放了 CogVLM2-Video 在线体验网址, 欢迎前往体验。
  • 🔥 News: 2024/7/8: 我们发布了 CogVLM2 模型的视频理解版本 CogVLM2-Video
    模型,通过抽取关键帧的方式,实现对连续画面的解读,该模型可以支持最高1分钟的视频。阅读我们 博客
    查看更多信息。
  • 🔥 News2024/6/8:我们发布 CogVLM2 TGI 模型权重
    ,这是一个可以在 TGI
    环境加速推理的模型。您可以使用这里的代码在TGI上运行 CogVLM2 模型。
  • 🔥 News2024/6/5:我们发布 GLM-4V-9B,它使用与 CogVLM2 相同的数据和训练配方,但以
    GLM-4-9B 作为语言主干。我们删除了视觉专家,以将模型大小减小到
    13B。更多详细信息,请参阅 GLM-4 repo。
  • 🔥 News2024/5/24:我们发布了 Int4 版本模型,仅需要 16GB 显存即可进行推理。欢迎前来体验!
  • 🔥 News2024/5/20:我们发布了 CogVLM2 模型,它基于 llama3-8b,在大多数情况下与 GPT-4V 相当(或更好)!欢迎下载!

模型介绍

我们推出了新一代的 CogVLM2
系列模型并开源了两款基于 Meta-Llama-3-8B-Instruct
开源模型。与上一代的 CogVLM 开源模型相比,CogVLM2 系列开源模型具有以下改进:

  1. 在许多关键指标上有了显著提升,例如 TextVQA, DocVQA
  2. 支持 8K 文本长度。
  3. 支持高达 1344 * 1344 的图像分辨率。
  4. 提供支持中英文双语的开源模型版本。

您可以在下表中看到 CogVLM2 系列开源模型的详细信息:

模型名称cogvlm2-llama3-chat-19Bcogvlm2-llama3-chinese-chat-19Bcogvlm2-video-llama3-chatcogvlm2-video-llama3-base
基座模型Meta-Llama-3-8B-InstructMeta-Llama-3-8B-InstructMeta-Llama-3-8B-InstructMeta-Llama-3-8B-Instruct
语言英文中文、英文英文英文
任务图像理解,多轮对话模型图像理解,多轮对话模型视频理解,单轮对话模型视频理解,基座模型,不可对话
模型链接🤗 Huggingface 🤖 ModelScope 💫 Wise Model🤗 Huggingface 🤖 ModelScope 💫 Wise Model🤗 Huggingface 🤖 ModelScope🤗 Huggingface 🤖 ModelScope
体验链接📙 Official Page📙 Official Page 🤖 ModelScope🤗 Huggingface 🤖 ModelScope🤗 Huggingface 🤖 ModelScope
Experience Link📙 Official Page📙 Official Page 🤖 ModelScope📙 Official Page 🤖 ModelScope/
Int4 模型🤗 Huggingface 🤖 ModelScope 💫 Wise Model🤗 Huggingface 🤖 ModelScope 💫 Wise Model//
文本长度8K8K2K2K
图片分辨率1344 * 13441344 * 1344224 * 224 (视频,取前24帧)224 * 224 (视频,取平均24帧)

Benchmark

图像理解能力

我们的开源模型相较于上一代 CogVLM 开源模型,在多项榜单中取得较好的成绩。其优异的表现能与部分的非开源模型进行同台竞技,如下表所示:

ModelOpen SourceLLM SizeTextVQADocVQAChartQAOCRbenchMMMUMMVetMMBench
CogVLM1.17B69.7-68.359037.352.065.8
LLaVA-1.513B61.3--33737.035.467.7
Mini-Gemini34B74.1---48.059.380.6
LLaVA-NeXT-LLaMA38B-78.269.5-41.7-72.1
LLaVA-NeXT-110B110B-85.779.7-49.1-80.5
InternVL-1.520B80.690.983.872046.855.482.3
QwenVL-Plus-78.991.478.172651.455.767.0
Claude3-Opus--89.380.869459.451.763.3
Gemini Pro 1.5-73.586.581.3-58.5--
GPT-4V-78.088.478.565656.867.775.0
CogVLM2-LLaMA3 (Ours)8B84.292.381.075644.360.480.5
CogVLM2-LLaMA3-Chinese (Ours)8B85.088.474.778042.860.578.9

所有评测都是在不使用任何外部OCR工具(“only pixel”)的情况下获得的。

视频理解能力

下图显示了 CogVLM2-Video
在 MVBench、VideoChatGPT-Bench
和 Zero-shot VideoQA 数据集 (MSVD-QA、MSRVTT-QA、ActivityNet-QA) 上的性能。

在这里插入图片描述

其中 VCG 指的是 VideoChatGPTBench,ZS 指的是零样本 VideoQA 数据集,MV-* 指的是 MVBench 中的主要类别。具体榜单测试数据如下:

ModelsVCG-AVGVCG-CIVCG-DOVCG-CUVCG-TUVCG-COZS-AVG
IG-VLM GPT4V3.173.402.803.612.893.1365.70
ST-LLM3.153.233.053.742.932.8162.90
ShareGPT4VideoN/AN/AN/AN/AN/AN/A46.50
VideoGPT+3.283.273.183.742.833.3961.20
VideoChat2_HD_mistral3.103.402.913.722.652.8457.70
PLLaVA-34B3.323.603.203.902.673.2568.10
CogVLM2-Video3.413.493.463.872.983.2366.60

CogVLM2-Video 在 MVBench 数据集上的表现

ModelsAVGAAACALAPASCOCIENERFAFPMAMCMDOEOIOSSTSCUA
IG-VLM GPT4V43.772.039.040.563.555.552.011.031.059.046.547.522.512.012.018.559.029.583.545.073.5
ST-LLM54.984.036.531.053.566.046.558.534.541.544.044.578.556.542.580.573.538.586.543.058.5
ShareGPT4Video51.279.535.541.539.549.546.551.528.539.040.025.575.062.550.582.554.532.584.551.054.5
VideoGPT+58.783.039.534.060.069.050.060.029.544.048.553.090.571.044.085.575.536.089.545.066.5
VideoChat2_HD_mistral62.379.560.087.550.068.593.571.536.545.049.587.040.076.092.053.062.045.536.044.069.5
PLLaVA-34B58.182.040.549.553.067.566.559.039.563.547.050.070.043.037.568.567.536.591.051.579.0
CogVLM2-Video62.385.541.531.565.579.558.577.028.542.554.057.091.573.048.091.078.036.091.547.068.5

项目结构

本开源仓库将带领开发者快速上手 CogVLM2 开源模型的基础调用方式、微调示例、OpenAI API格式调用示例等。具体项目结构如下,您可以点击进入对应的教程链接:

basic_demo 文件夹包括:

  • CLI 演示,推理 CogVLM2 模型。
  • CLI 演示,使用多个GPU推理 CogVLM2 模型。
  • Web 演示,由 chainlit 提供。
  • API 服务器,采用 OpenAI 格式。
  • Int4 可以通过 --quant 4 轻松启用,内存使用为16GB。

finetune_demo 文件夹包括:

  • peft 框架的高效微调示例。

video_demo 文件夹包括:

  • CLI 演示,推理 CogVLM2-Video 模型。
  • Int4 可以通过 --quant 4 轻松启用,内存使用为16GB。
  • Restful API 服务。
  • Gradio 演示。

模型协议

该模型根据 CogVLM2 LICENSE 许可证发布。对于使用了Meta Llama
3基座模型构建的模型,需要同时遵守 LLAMA3_LICENSE 许可证。

引用

如果您发现我们的工作有所帮助,请考虑引用以下论文:

@article{hong2024cogvlm2,title={CogVLM2: Visual Language Models for Image and Video Understanding},author={Hong, Wenyi and Wang, Weihan and Ding, Ming and Yu, Wenmeng and Lv, Qingsong and Wang, Yan and Cheng, Yean and Huang, Shiyu and Ji, Junhui and Xue, Zhao and others},journal={arXiv preprint arXiv:2408.16500},year={2024}
}
@misc{wang2023cogvlm,title={CogVLM: Visual Expert for Pretrained Language Models}, author={Weihan Wang and Qingsong Lv and Wenmeng Yu and Wenyi Hong and Ji Qi and Yan Wang and Junhui Ji and Zhuoyi Yang and Lei Zhao and Xixuan Song and Jiazheng Xu and Bin Xu and Juanzi Li and Yuxiao Dong and Ming Ding and Jie Tang},year={2023},eprint={2311.03079},archivePrefix={arXiv},primaryClass={cs.CV}
}

参考资料

http://cogvlm2-online.cogviewai.cn:7868/
复现:https://blog.csdn.net/hejiahao_/article/details/139449516
https://blog.csdn.net/qq_43501322/article/details/143725056?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-143725056-blog-139449516.235v43pc_blog_bottom_relevance_base6&spm=1001.2101.3001.4242.1&utm_relevant_index=3
https://blog.csdn.net/LateLinux/article/details/140521281
https://huggingface.co/collections/THUDM/cogvlm2-6645f36a29948b67dc4eef75

相关文章:

支持图像和视频理解多模态开源大模型:CogVLM2 CogVLM2-Video

CogVLM2和CogVLM2-Video是新一代的开源模型,支持图像和视频理解,具有显著的性能提升。最近发布的更新包括CogVLM2论文的发表、在线演示和对视频理解的支持,能够处理最多1分钟的视频。新模型支持中英文,文本长度可达8K,…...

ClouderaManager 集群搭建

前提:服务器之前做过域名映射、免密登录 ClouderaManager 集群 1. 组件分布规划 服务器服务器h1zk、hdfs(dn)、yarn(nm)、spark、kafka、flumeh2hdfs(nn-standy)、yarn(rm-active)、sparkh3hdfs(nn-active)、yarn(rm-standy)、hive、sparkh4zk、hdfs(dn)、yarn(n…...

Docker 搭建 gitlab 服务器卡顿问题解决方法(创建:swap分区)

Docker 安装系列 服务器搭建了一个 gitlab 服务器以供自己开发使用,服务器搭建很简单,但是使用起来是相当的卡顿,在代码 pull,push 过程中都会有相应的延迟。gitlab 启动运行就占用了大量的内存,4G内存在启动后已经所…...

PVE修改IP地址

一、在局域网的电脑浏览器输入PVE的IP地址登录后台,从左边的菜单找到“PVE”—“_Shell”菜单,进入网页版的ssh界面下;或者在主机的控制台下输入root密码后登录到ssh下; 二、输入以下命令回车: vi /etc/network/inter…...

智能合约的离线签名(EIP712协议)解决方案

引言:本文由天玄链开源开发者提供,欢迎报名公益天玄链训练营 https://blockchain.163.com/trainingCamp 一、解决核心问题 项目方不支付gas费,由用户自己发起交易,用户支付gas费。用户的数据保存在链下服务器中,tok…...

大模型Qwen面试内容整理-应用场景与案例分析

Qwen模型凭借其强大的自然语言理解和生成能力,在多个实际应用场景中得到了广泛应用。以下是Qwen模型的主要应用场景及一些典型的案例分析,展示了它如何解决具体问题和带来实际价值。 智能对话系统 ● 应用场景 ○ 客服机器人:Qwen被用于开发智能客服机器人,能够理解客户的问…...

spring boot的统一异常处理,使用@RestControllerAdvice

RestControllerAdvice 是 Spring Boot 中用于全局异常处理的注解,它结合了 ControllerAdvice 和 ResponseBody 的功能。这意味着使用 RestControllerAdvice 注解的类将应用于所有 RequestMapping 方法,并且任何从这些方法返回的对象都会被转换为 HTTP 响…...

OFCA-OpenHarmony课后习题答案

本文是 OFCA-OpenHarmony 认证模拟考试的习题答案,涵盖 OpenHarmony 的多内核设计、权限申请、通知发布、系统线程、启动过程、分布式软总线、模块导入、文件管理、公共事件等多个方面。每道题目均提供了详细的选择项和正确答案,旨在帮助考生熟悉考试内容…...

Open AI 推出 ChatGPT Pro

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

利用PHP和GD库实现图片切割

利用PHP和GD库实现图片切割的详细步骤如下: 一、检查GD库是否安装 确保服务器上已经安装了PHP和GD库。可以使用phpinfo()函数来检查GD库是否已经安装和启用。 二、加载原始图片 使用PHP提供的imagecreatefromjpeg()、imagecreatefrompng()或imagecreatefromgif(…...

【css】基础(一)

本专栏内容为:前端专栏 记录学习前端,分为若干个子专栏,html js css vue等 💓博主csdn个人主页:小小unicorn ⏩专栏分类:css专栏 🚚代码仓库:小小unicorn的代码仓库🚚 &a…...

springboot415社区网格化管理平台的构建-(论文+源码)_kaic

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本社区网格化管理平台就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据…...

如何在 Ubuntu 上安装开源监控工具 Uptime Kuma

简介 Uptime Kuma(或简称 Kuma)是一个开源监控工具,用于监控 HTTP、HTTPS、DNS 等协议的服务。Uptime Kuma 提供多种功能,如多语言支持、多个状态页面、代理支持等。 接下来,我将一步一步教大家如何进行安装和部署&am…...

复习 part one

synchronized 和 ReentrantLock的区别 synchronized 和 ReentrantLock 都是 Java 中提供的可重入锁,二者的主要区别有以下 5 个: 用法不同:synchronized 可以用来修饰普通方法、静态方法和代码块,而 ReentrantLock 只能用于代码块…...

【工业机器视觉】基于深度学习的水表盘读数识别(3-数据标注与转换)

【工业机器视觉】基于深度学习的仪表盘识读(2)-CSDN博客 数据标注 标注扩展 Labelme 和 LabelImg 都是用于创建机器学习和计算机视觉项目所需标注数据的工具。它们都允许用户通过图形界面手动标注图像,但各自有其特点和适用场景。 Labelme…...

python数据分析之爬虫基础:selenium详细讲解

目录 1、selenium介绍 2、selenium的作用: 3、配置浏览器驱动环境及selenium安装 4、selenium基本语法 4.1、selenium元素的定位 4.2、selenium元素的信息 4.3、selenium元素的交互 5、Phantomjs介绍 6、chrome handless模式 1、selenium介绍 (1…...

Tips--解决esptool经pyinstaller打包后无法使用的问题

esptool打包后失效解决方法 问题1原因解决方法问题2原因解决方法 问题1 esptool经过pyinstaller打包成exe后,提示错误:Stub flasher JSON file for esp32 not found 原因 pyinstaller在进行esptool打包的时候,通常不用讲Stub flaser Json文…...

Apache DolphinScheduler 限制秒级别的定时调度

背景 Apache DolphinScheduler 定时任务配置采用的 7 位 Crontab 表达式,分别对应秒、分、时、月天、月、周天、年。 在团队日常开发工作中,工作流的定时调度一般不会细化到秒级别。但历史上出现过因配置的疏忽大意而产生故障时间,如应该配…...

Oracle 数据库创建用户并分配只读的权限

引言 在 Oracle 数据库的日常运维和开发过程中,用户管理是确保数据安全与访问控制的关键环节。通过合理创建用户并分配适当的权限,可以有效防止未授权的访问和操作。本文将详细介绍如何在 Oracle 数据库中: 创建新用户并设置复杂密码。授予…...

2个GitHub上最近比较火的Java开源项目

1. SpringBlade 微服务架构 标题 SpringBlade 微服务架构 摘要 SpringBlade 是一个由商业级项目升级优化而来的微服务架构,采用Spring Boot 3.2、Spring Cloud 2023等核心技术构建,遵循阿里巴巴编码规范,提供基于React和Vue的两个前端框架&am…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

SpringTask-03.入门案例

一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...