综合介绍
Tarsier 是字节跳动(ByteDance)开发的一个开源视频-语言模型家族,主要用于生成高质量的视频描述。它由简单的结构组成:CLIP-ViT 处理视频帧,结合大语言模型(LLM)分析时间关系。最新版本 Tarsier2-7B(2025年1月发布)在 16 个公开基准测试中达到顶尖水平,能与 GPT-4o 等模型竞争。Tarsier 支持视频描述、问答和零样本字幕生成,代码、模型和数据都公开在 GitHub 上。项目还推出了 DREAM-1K 基准,用于评估视频描述能力,包含 1000 个多样化视频片段。
功能列表
- 生成详细视频描述:分析视频内容,输出细致文字。
- 支持视频问答:回答视频相关问题,比如事件或细节。
- 零样本字幕生成:无需训练即可为视频生成字幕。
- 多任务视频理解:在问答、字幕等多项任务中表现优秀。
- 开源部署:提供模型权重和代码,可本地或云端运行。
- 提供评估工具:包含 DREAM-1K 数据集和 AutoDQ 评估方法。
使用帮助
Tarsier 适合有技术背景的用户,比如开发者或研究人员。以下是详细安装和使用指南。
安装流程
- 准备环境
需要 Python 3.9 或更高版本。建议用虚拟环境:
conda create -n tarsier python=3.9
conda activate tarsier
- 克隆仓库
下载 Tarsier 项目代码:
git clone https://github.com/bytedance/tarsier.git
cd tarsier
git checkout tarsier2
- 安装依赖
运行安装脚本:
bash setup.sh
这会安装所有必需库,如 PyTorch 和 Hugging Face 的工具。
- GPU 支持(可选)
如果有 NVIDIA GPU,安装带 CUDA 的 PyTorch:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
- 下载模型
从 Hugging Face 下载模型,例如 Tarsier2-7B:
huggingface-cli download omni-research/Tarsier2-7b
其他模型如 Tarsier-34b 或 Tarsier2-Recap-7b 也可从官方链接获取。
- 验证安装
运行快速测试脚本:
python3 -m tasks.inference_quick_start --model_name_or_path path/to/Tarsier2-7b --input_path assets/videos/coffee.gif
输出应为视频描述,如“一个人拿起有心形泡沫的咖啡杯喝了一口”。
主要功能操作
生成视频描述
- 步骤
- 准备视频文件(支持 MP4、GIF 等格式)。
- 运行命令:
python3 -m tasks.inference_quick_start --model_name_or_path path/to/Tarsier2-7b --instruction "Describe the video in detail." --input_path your/video.mp4
- 输出会在终端显示,例如描述视频中的动作和场景。
- 注意
- 视频过长可能需要更多内存,建议先用短视频测试。
- 可调整参数如帧率(见
configs/tarser2_default_config.yaml
)。
视频问答
- 步骤
- 指定问题和视频:
python3 -m tasks.inference_quick_start --model_name_or_path path/to/Tarsier2-7b --instruction "视频里的人在做什么?" --input_path your/video.mp4
- 输出直接回答,例如“他在喝咖啡”。
- 提示
- 问题要具体,避免模糊。
- 支持中文和其他语言,中文效果最佳。
零样本字幕生成
- 步骤
- 修改配置文件启用字幕模式(
configs/tarser2_default_config.yaml
中设置task: caption
)。 - 运行:
python3 -m tasks.inference_quick_start --model_name_or_path path/to/Tarsier2-7b --config configs/tarser2_default_config.yaml --input_path your/video.mp4
- 输出简短字幕,如“一个人喝咖啡”。
本地服务部署
- 步骤
- 安装 vLLM(推荐版本 0.6.6):
pip install vllm==0.6.6
- 启动服务:
python -m vllm.entrypoints.openai.api_server --model path/to/Tarsier2-7b
- 用 API 调用:
curl http://localhost:8000/v1/completions -H "Content-Type: application/json" -d '{"prompt": "描述这个视频", "video_path": "your/video.mp4"}'
- 优点
- 可批量处理视频。
- 方便集成到其他系统。
特色功能操作
DREAM-1K 评估
- 步骤
- 下载 DREAM-1K 数据集:
wget https://tarsier-vlm.github.io/DREAM-1K.zip
unzip DREAM-1K.zip
- 运行评估:
bash scripts/run_inference_benchmark.sh path/to/Tarsier2-7b output_dir dream
- 输出结果包括 F1 分数等指标,显示描述质量。
AutoDQ 评估
- 步骤
- 确保安装 ChatGPT 依赖(需 Azure OpenAI 配置)。
- 运行评估脚本:
python evaluation/metrics/evaluate_dream_gpt.py --pred_dir output_dir/dream_predictions
- 输出自动评估得分,衡量描述准确性。
常见问题解决
- 安装失败:检查 Python 版本和网络,升级 pip(
pip install -U pip
)。 - 模型加载慢:确认磁盘空间足够,建议至少 50GB。
- 无 GPU 输出:运行
nvidia-smi
检查 CUDA 是否正常。
在线体验
- 访问 Tarsier2-7B 在线演示,上传视频即可测试描述和问答功能。
通过这些步骤,你可以轻松使用 Tarsier 处理视频任务。无论是生成描述还是部署服务,它都简单高效。
应用场景
- 视频内容整理
媒体工作者可以用 Tarsier 生成视频摘要,快速整理素材。 - 教育视频辅助
教师能为课程视频生成字幕或问答,提升教学效果。 - 短视频分析
营销人员可分析 TikTok 等短视频内容,提取关键信息用于推广。
QA
- 支持哪些视频格式?
支持 MP4、GIF、AVI 等,只要 FFmpeg 能解码即可。 - 硬件要求是什么?
最低 16GB 内存和 4GB 显存,推荐 NVIDIA GPU(如 3090)。 - 可以商用吗?
是的,Tarsier 使用 Apache 2.0 许可证,允许商用但需遵守条款。