VideoChat-Flash:上海AI Lab开源高效处理超长视频的多模态大模型

本文涉及的产品
图像搜索,7款服务类型 1个月
简介: VideoChat-Flash 是上海人工智能实验室等机构推出的多模态大模型,通过分层压缩技术高效处理长视频,支持长达数小时的视频输入,推理速度提升5-10倍。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 高效处理长视频:通过分层压缩技术(HiCo),显著减少计算量,支持长达数小时的视频输入。
  2. 多阶段学习方案:从短视频到长视频的多阶段学习,提升模型对长上下文的理解能力。
  3. 强大性能表现:在多个长视频和短视频基准测试中表现优异,推理速度比前代模型快5-10倍。

正文(附运行示例)

VideoChat-Flash 是什么

VideoChat-Flash

VideoChat-Flash 是由上海人工智能实验室和南京大学等机构联合开发的多模态大语言模型(MLLM),专注于长视频建模。该模型通过分层压缩技术(HiCo)高效处理长视频,显著减少计算量,同时保留关键信息。

VideoChat-Flash 采用多阶段从短到长的学习方案,结合真实世界长视频数据集 LongVid,进一步提升对长视频的理解能力。该模型在多个长视频和短视频基准测试中均表现出色,超越了其他开源 MLLM 模型。

VideoChat-Flash 的主要功能

  • 长视频理解能力:通过分层压缩技术(HiCo)有效处理长视频,能处理长达数小时的视频内容。
  • 高效模型架构:每个视频帧编码为仅 16 个 token,推理速度比前代模型快 5-10 倍。
  • 多跳上下文理解:支持多跳 NIAH 任务,能追踪长视频中的多个关联图像序列,提升复杂上下文的理解能力。

VideoChat-Flash 的技术原理

  • 分层压缩技术(HiCo):高效处理长视频中的冗余视觉信息,分为片段级压缩和视频级压缩。
  • 多阶段学习方案:从短视频到长视频的多阶段学习,逐步提升模型对长上下文的理解能力。
  • 真实世界长视频数据集 LongVid:包含 30 万小时的真实世界长视频和 2 亿字的注释,为模型提供丰富的训练素材。

如何运行 VideoChat-Flash

1. 安装依赖

首先,确保已安装 Python 3.8 及以上版本,并安装必要的依赖库:

pip install transformers==4.40.1
pip install timm
pip install av
pip install imageio
pip install decord
pip install opencv-python
pip install flash-attn --no-build-isolation

2. 加载和运行模型

使用 HuggingFace 加载 VideoChat-Flash 模型并运行推理任务:

from transformers import AutoModel, AutoTokenizer

# 模型设置
model_path = 'OpenGVLab/VideoChat-Flash-Qwen2_5-2B_res448'

tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModel.from_pretrained(model_path, trust_remote_code=True).half().cuda()
image_processor = model.get_vision_tower().image_processor

# 是否使用全局压缩
mm_llm_compress = False
if mm_llm_compress:
    model.config.mm_llm_compress = True
    model.config.llm_compress_type = "uniform0_attention"
    model.config.llm_compress_layer_list = [4, 18]
    model.config.llm_image_token_ratio_list = [1, 0.75, 0.25]

# 推理设置
max_num_frames = 512
generation_config = dict(
    do_sample=False,
    temperature=0.0,
    max_new_tokens=1024,
    top_p=0.1,
    num_beams=1
)

# 视频路径
video_path = "your_video.mp4"

# 单轮对话
question1 = "Describe this video in detail."
output1, chat_history = model.chat(video_path=video_path, tokenizer=tokenizer, user_prompt=question1, return_history=True, max_num_frames=max_num_frames, generation_config=generation_config)

print(output1)

# 多轮对话
question2 = "How many people appear in the video?"
output2, chat_history = model.chat(video_path=video_path, tokenizer=tokenizer, user_prompt=question2, chat_history=chat_history, return_history=True, max_num_frames=max_num_frames, generation_config=generation_config)

print(output2)

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
3天前
|
人工智能 NoSQL Redis
Collaborative Gym:斯坦福人机协作框架开源!异步交互+三方感知,让你的AI学会主动补位
介绍Collaborative Gym,一个专注于人机协作的框架,支持异步交互和多种任务环境。
45 14
Collaborative Gym:斯坦福人机协作框架开源!异步交互+三方感知,让你的AI学会主动补位
|
2天前
|
人工智能 数据可视化 UED
DragAnything:视频PS来了!开源AI控制器让视频「指哪动哪」:拖拽任意物体轨迹,多对象独立运动一键生成
DragAnything 是快手联合浙江大学和新加坡国立大学推出的基于实体表示的可控视频生成方法,支持多实体独立运动控制、高质量视频生成,并在 FID、FVD 和用户研究等评估指标上达到最佳性能。
43 10
DragAnything:视频PS来了!开源AI控制器让视频「指哪动哪」:拖拽任意物体轨迹,多对象独立运动一键生成
|
2天前
|
存储 人工智能 自然语言处理
FoloUp:比HR更懂岗位需求!开源语音面试平台爆火:1份岗位需求生成100问,语音AI追问逻辑漏洞
FoloUp 是一个开源的 AI 语音面试平台,能够根据职位描述自动生成定制化的面试问题,并与候选人进行自然对话式的语音面试,帮助企业高效招聘。
34 9
FoloUp:比HR更懂岗位需求!开源语音面试平台爆火:1份岗位需求生成100问,语音AI追问逻辑漏洞
|
1天前
|
人工智能 自然语言处理 API
Cline:29.7K Star!一文详解VSCode最强开源AI编程搭子:一键生成代码+自动跑终端+操控浏览器...
Cline 是一款集成于 VSCode 的 AI 编程助手,支持多语言模型,实时检查语法错误,帮助开发者提高编程效率。通过智能化手段,Cline 可以生成代码、执行终端命令、调试 Web 应用,并扩展更多功能。
67 5
|
1月前
|
人工智能 算法 前端开发
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
OmAgent 是 Om AI 与浙江大学联合开源的多模态语言代理框架,支持多设备连接、高效模型集成,助力开发者快速构建复杂的多模态代理应用。
197 72
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
|
17天前
|
人工智能 自然语言处理 搜索推荐
【上篇】-分两篇步骤介绍-如何用topview生成和自定义数字人-关于AI的使用和应用-如何生成数字人-优雅草卓伊凡-如何生成AI数字人
【上篇】-分两篇步骤介绍-如何用topview生成和自定义数字人-关于AI的使用和应用-如何生成数字人-优雅草卓伊凡-如何生成AI数字人
95 24
【上篇】-分两篇步骤介绍-如何用topview生成和自定义数字人-关于AI的使用和应用-如何生成数字人-优雅草卓伊凡-如何生成AI数字人
|
11天前
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
890 14
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
8天前
|
人工智能 开发框架 数据可视化
Eino:字节跳动开源基于Golang的AI应用开发框架,组件化设计助力构建AI应用
Eino 是字节跳动开源的大模型应用开发框架,帮助开发者高效构建基于大模型的 AI 应用。支持组件化设计、流式处理和可视化开发工具。
139 27
|
7天前
|
存储 人工智能 NoSQL
Airweave:快速集成应用数据打造AI知识库的开源平台,支持多源整合和自动同步数据
Airweave 是一个开源工具,能够将应用程序的数据同步到图数据库和向量数据库中,实现智能代理检索。它支持无代码集成、多租户支持和自动同步等功能。
67 14

热门文章

最新文章