视频流大语言模型项目教程
1. 项目介绍
VideoLLM-online 是一个针对视频流的大型语言模型,能够在视频播放过程中进行在线互动。本项目是 CVPR 2024 论文《VideoLLM-online: Online Video Large Language Model for Streaming Video》的官方实现。与传统的图像/视频/多模态模型不同,VideoLLM-online 支持在视频流内的在线交互,可以实时更新回应,如记录活动变化或实时协助下一步操作。该项目具有以下特点:
- 支持在线视频流
- 低成本且可扩展的视频流数据合成
- 并行化实时推理
2. 项目快速启动
启动前确保已经安装了 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
安装最新版本的 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.1-amd64-static ffmpeg
如果需要实时流音频,还需安装 ChatTTS:
pip install omegaconf vocos vector_quantize_pytorch cython
git clone git+https://github.com/2noise/ChatTTS
mv ChatTTS demo/rendering/
启动 CLI
python -m demo.cli --resume_from_checkpoint chenjoya/videollm-online-8b-v1plus
启动 Gradio Demo
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
3. 应用案例和最佳实践
- 实时视频内容理解:
VideoLLM-online可以用于实时分析视频内容,提供实时的字幕、标签或互动式注释。 - 智能交互式播放:在视频播放过程中,模型可以基于用户的行为和视频内容提供互动式提示或建议。
4. 典型生态项目
目前,VideoLLM-online 的生态项目包括:
ChatTTS:用于实时音频流处理的工具。transformers、accelerate、deepspeed等深度学习框架和库,为项目提供了强大的支持。
通过这些生态项目,开发者可以进一步扩展 VideoLLM-online 的功能和应用场景。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



