videollm-online
videollm-online 是一款专为流式视频设计的在线视频大语言模型,曾入选 CVPR 2024。与传统只能处理完整视频文件的离线模型不同,它支持在视频播放过程中进行实时交互,能够主动感知画面变化并即时更新回答,仿佛拥有一位能“边看边聊”的智能助手。
该工具主要解决了现有多模态模型无法真正理解“正在发生”的视频流这一痛点。即使是先进的通用模型,往往也依赖用户语音指令或需等待视频结束才能分析,而 videollm-online 实现了低延迟的并行推理,在高端显卡上处理长视频时帧率可达 10-15 FPS,确保了流畅的实时体验。此外,它还提出了一种低成本的数据合成方案,能将现有的离线视频标注自动转化为流式对话数据,大幅降低了训练门槛。
videollm-online 非常适合从事视频理解、实时交互系统研发的开发者与研究人员,同时也为希望探索下一代流媒体智能应用的产品团队提供了强大的基座模型。其核心亮点在于独特的异步并行架构,将视频编码、模型前向传播与回复生成同时进行,以及利用开源大模型自动生成高质量流式训练数据的能力,让实时视频对话变得更加高效且易于实现。
使用场景
某电商平台的直播运营团队正利用 AI 助手实时监控长达数小时的带货直播流,以便在突发状况发生时立即干预。
没有 videollm-online 时
- 响应严重滞后:传统模型必须等待视频片段下载完整或直播结束后才能分析,无法在主播讲错价格或展示违规画面的瞬间发出警报。
- 交互被动且割裂:系统只能回答“刚才发生了什么”,无法像真人一样随着直播进程主动更新状态(如“主播正在拆箱新款”),缺乏连续性。
- 算力资源浪费:为了追求实时性,往往需要多路并发处理短视频切片,导致显存占用极高且推理帧率低下,难以支撑长时直播。
- 数据合成困难:缺乏高质量的流式对话训练数据,导致模型在面对连续变化的视觉场景时,逻辑经常断裂或产生幻觉。
使用 videollm-online 后
- 毫秒级流式响应:videollm-online 支持在线视频流交互,能在直播进行的第 5 秒就识别出异常画面并推送预警,实现真正的“边看边判”。
- 主动式动态更新:模型能根据视频流变化主动汇报进展(如“优惠券已上架,观众弹幕激增”),无需人工反复提问,如同拥有一位全天候的实时导播。
- 高效并行推理:得益于其并行化架构,videollm-online 在单张 A100 显卡上即可对 10 分钟以上的长视频保持 10-15 FPS 的流畅处理,大幅降低部署成本。
- 数据自给自足:利用其独特的离线标注转流式对话技术,团队可快速构建定制化的直播场景训练集,显著提升模型对特定业务场景的理解力。
videollm-online 将视频理解从“事后复盘”升级为“实时伴随”,让 AI 真正具备了与动态世界同步思考的能力。
运行环境要求
- Linux
- 必需 NVIDIA GPU
- 测试环境:NVIDIA 3090 (5-10 FPS), A100 (10-15 FPS)
- CUDA 版本推荐 12.1 或 12.8 (pytorch-cuda=12.1 / cu128)
- 显存未明确说明,但基于 8B 模型建议 16GB+
未说明

快速开始
VideoLLM-online:面向流式视频的在线视频大语言模型
更新
2025-09-03
我进行了一些更新,以确保此仓库能够使用最新的 transformers==4.55.4 和 pytorch==2.7.1+cu128 进行推理。类似的版本应该也可以。如果你想获得一个强大的 VLM-online 模型,我强烈建议你在这里使用流式 EOS 损失对 Qwen2.5VL-Instruct 进行微调。无需再使用较弱的纯文本 Llama3。
2025-04-24
更新!我们的新论文:LiveCC:大规模流式语音转录下的视频大语言模型学习。所有资源,包括训练视频数据,已在 LiveCC 网站 上发布。
简要说明
首个流式视频大语言模型,在长视频(10分钟)上具有高速性能(在 NVIDIA 3090 GPU 上为 510 FPS,A100 GPU 上为 1015 FPS),并在在线/离线设置中均达到 SOTA 性能。
简介
这是 VideoLLM-online:面向流式视频的在线视频大语言模型,CVPR 2024 的官方实现。与流行的图像/视频/多模态模型相比,我们的论文引入了几项有趣的内容:
在线视频流:不同于以往仅支持离线模式(即对完整视频进行查询和响应)的模型,我们的模型支持在视频流中的在线交互。它能够在流媒体过程中主动更新响应,例如实时记录活动变化或帮助用户完成下一步操作。即使是基于音频驱动的 GPT-4o,也需要用户通过语音与视觉场景互动,而不能真正实现视频流处理。
廉价且可扩展的流式数据合成:目前用于训练多模态大语言模型的视频数据集大多是离线的,不适合训练在线视频语言模型。我们的方法通过提示开源大语言模型,将任何离线标注转化为流式对话数据。该模型完全基于 Llama 合成的数据进行训练。
并行化实时推理:我们的推理方法将视频编码、视频帧的 LLM 前向传播以及 LLM 响应生成并行化,并以异步方式安排它们。这显著提升了实时性能,在 A100 GPU 上可达到 10-15 FPS。
快速开始
- (推荐)在本地启动 Gradio 演示:
python -m demo.app --resume_from_checkpoint chenjoya/videollm-online-8b-v1plus
但如果 flash-attn 出现一些问题,可以尝试使用以下命令:
python -m demo.app --resume_from_checkpoint chenjoya/videollm-online-8b-v1plus --attn_implementation sdpa
- (推荐)在本地启动 CLI:
python -m demo.cli --resume_from_checkpoint chenjoya/videollm-online-8b-v1plus
通过传递 --resume_from_checkpoint chenjoya/videollm-online-8b-v1plus,PEFT 检查点将自动下载并应用到 meta-llama/Meta-Llama-3-8B-Instruct 上。
安装
请确保已安装 Miniconda 和 Python 3.10 或更高版本,然后运行:
conda install -y pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
pip install transformers accelerate deepspeed peft editdistance Levenshtein tensorboard gradio moviepy submitit
pip install flash-attn --no-build-isolation
PyTorch 源代码会安装 ffmpeg,但通常是旧版本,预处理质量较低。请按照以下步骤安装最新版 ffmpeg:
wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
tar xvf ffmpeg-release-amd64-static.tar.xz
rm ffmpeg-release-amd64-static.tar.xz
mv ffmpeg-7.0.2-amd64-static ffmpeg
如果你想在实时流中使用音频来体验我们的模型,请同时克隆 ChatTTS。
pip install omegaconf vocos vector_quantize_pytorch cython
git clone git+https://github.com/2noise/ChatTTS
mv ChatTTS demo/rendering/
训练与评估
对视频帧进行分布式预处理:帧率 2 FPS,分辨率为 384x384,然后使用
google/siglip-large-patch16-384提取 CLS 特征,并对 3x3 空间特征进行平均池化。具体操作请参考 [data/preprocess/] 目录下的说明。参考 [scripts/] 目录下的示例。
如果你对我们生成的流式对话数据感兴趣,请查看 [data/livechat/] 目录。
模型库
[VideoLLM-online-8B-v1+] (https://huggingface.co/chenjoya/videollm-online-8b-v1plus)
- LLM:meta-llama/Meta-Llama-3-8B-Instruct
- 视觉策略:
- 帧编码器:google/siglip-large-patch16-384
- 帧特征:CLS 特征 + 3x3 平均池化的空间特征
- 帧率:训练时 2 FPS,推理时 2~10 FPS
- 帧分辨率:最大分辨率 384,通过零填充保持宽高比
- 视频长度:10 分钟
- 训练数据:Ego4D 叙述流 11.3 万条 + Ego4D 目标步骤流 2.1 万条
[VideoLLM-online-8B-v1] (...)
- LLM:meta-llama/Meta-Llama-3-8B-Instruct
- 视觉策略:
- 帧编码器:google/siglip-large-patch16-384
- 帧特征:CLS 特征
- 帧率:训练时 2 FPS,推理时 2~10 FPS
- 帧分辨率:最大分辨率 384,通过零填充保持宽高比
- 视频长度:60 分钟
- 训练数据:Ego4D 叙述流 11.3 万条 + Ego4D 目标步骤流 2.1 万条
VideoLLM-online 超越 Llama
该代码库的实现非常简单且清晰。您只需将继承的类从 Llama 更改为 Mistral,即可获得 VideoLLM-online 的 Mistral 版本。请参考 models/live_llama 中的示例。
引用
@inproceedings{videollm-online,
author = {Joya Chen 和 Zhaoyang Lv 和 Shiwei Wu 和 Kevin Qinghong Lin 和 Chenan Song 和 Difei Gao 和 Jia-Wei Liu 和 Ziteng Gao 和 Dongxing Mao 和 Mike Zheng Shou},
title = {VideoLLM-online:用于流式视频的在线视频大语言模型},
booktitle = {CVPR},
year = {2024},
}
常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
funNLP
funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。
