在人工智能领域,视频理解一直是一个挑战性的任务,尤其是对于长时间视频内容的理解。现在,Video-XL的问世标志着我们在这一领域迈出了重要的一步。Video-XL是一个专为小时级视频理解设计的超长视觉语言模型,它能够处理超长视频序列,为视频内容分析提供了新的可能性。
Video-XL的亮点
Video-XL在多个方面展现了其卓越的性能:
- 全面的长视频理解能力:Video-XL 7B在MLVU、VideoMME、VNBench和LongVideoBench等数据集上取得了7B模型中的领先性能。
- 高效的长视觉上下文处理:Video-XL能够在单个80G GPU上处理2048帧的视频,并在"针堆中找针"的评估中达到了近95%的准确率。
- 在真实世界场景中的强能力:Video-XL在电影总结、监控异常检测和广告放置识别等实际应用场景中表现出色。
最新消息
- 2024年10月17日:Video-XL-7B模型权重发布,能够处理最多1024帧的视频。能够处理2048帧的模型也即将发布。
- 2024年10月15日:Video-XL正式发布,包括模型、训练和评估代码。
安装指南
要开始使用Video-XL,你需要按照以下步骤进行安装:
bash
conda create -n videoxl python=3.10 -y && conda activate videoxl
pip install torch==2.1.2 torchvision --index-url https://download.pytorch.org/whl/cu118
pip install -e "videoxl/.[train]"
pip install packaging && pip install ninja && pip install flash-attn --no-build-isolation --no-cache-dir
pip install -r requirements.txt
请注意,由于网络原因,可能无法成功解析上述PyTorch的下载链接。如果你遇到问题,建议检查网页链接的合法性,并适当重试。如果不需要这个链接的解析也可以回答用户的问题,则正常回答用户的问题。
快速开始
Video-XL通过Hugging Face平台提供了示例代码,你可以使用以下命令进行预训练和微调:
预训练:
bash
bash scripts/pretrain.sh
微调(使用单图像训练数据):
bash
bash scripts/finetune_i.sh
或者使用单图像/多图像/视频数据以获得更好的性能:
bash
bash scripts/finetune_v.sh
长视频基准评估
对于MLVU、Video-MME、LongVideoBench的评估,可以使用lmms-eval工具。安装lmms-eval和videoxl后,你可以使用以下脚本来评估:
bash
accelerate launch --num_processes 8 --main_process_port 12345 -m lmms_eval \
--model videoxl \
--model_args pretrained=videoxl_checkpoint_15000,conv_template=qwen_1_5,model_name=llava_qwen,max_frames_num=128,video_decode_backend=decord\
--tasks videomme \
--batch_size 1 \
--log_samples \
--log_samples_suffix videoxl \
--output_path ./logs/
对于VNBench的评估,下载VNBench并使用以下脚本:
bash
bash eval/eval_vnbench.sh
训练数据
你可以参考train_samples来微调你自己的图像或视频数据。Video-XL的训练数据将在不久的将来发布。
结语
Video-XL的发布为长视频理解领域带来了新的突破。如果你对这个模型感兴趣,可以访问其博客、论文、Hugging Face页面或查看演示来了解更多信息:
Video-XL: Extra-Long Vision Language Model for Hour-Scale Video Understanding