Configuration Parsing Warning:Config file config.json cannot be fetched (too big)

Configuration Parsing Warning:Config file chat_template.json cannot be fetched (too big)

Configuration Parsing Warning:Config file tokenizer_config.json cannot be fetched (too big)

ARC-Qwen-Video-7B

arXiv Demo Code Static Badge Static Badge Static Badge Blog Benchmark

In this version, we have switched the base model from hunyuan VLM in ARC-Hunyuan-Video-7B to Qwen2.5-VL-7B-Instruct and introduce ARC-Qwen-Video-7B for understanding real-world short videos. We used the same training data and training stages. For a detailed introduction, please refer to ARC-Hunyuan-Video-7B. The main distinctions are listed as below,

Feature ARC-Hunyuan-Video-7B ARC-Qwen-Video-7B
Base VLM Hunyuan-VL-7B-Pretrain Qwen2.5-VL-7B-Instruct
Frame Resolution
Each model uses a fixed frame resolution to maintain audio-video synchronization.
Fixed at 640 x 640 Fixed at 392 x 292
Frame Sampling โ€ข < 150s: 1 FPS
โ€ข > 150s: Uniformly sample 150 frames.
โ€ข < 300s: 1 FPS
โ€ข > 300s: Uniformly sample 300 frames.
Audio-Video Synchronization โ€ข < 150s: Sum tokens from 1s audio + 1s video frame.
โ€ข 150-300s: Sum tokens from corresponding audio segment + video frame.
โ€ข > 300s: Split audio into 300 segments, use first 2s of each.
โ€ข < 300s: Sum tokens from 1s audio + 1s video.
โ€ข > 300s: Split audio into 300 segments, use middle 1s of each.

We are also introducing a new model, ARC-Qwen-Video-7B-Narrator. It can output timestamped video descriptions, speaker identities, and the specific ASR (Automatic Speech Recognition) content. By processing its output with an external LLM, you can obtain more comprehensive structured information as follows (Click to watch the video):

่ง†้ข‘

่ง†้ข‘ๆฆ‚่ฟฐ

่ฟ™ๆ˜ฏไธ€ไธชๅ–œๅ‰ง็Ÿญ็‰‡๏ผŒ่ฎฒ่ฟฐไบ†ไธ€ไฝไธˆๅคซ่—ๅœจๆฃ‰่กฃ้‡Œ็š„็งๆˆฟ้’ฑ่ขซๅฆปๅญๆ„ๅค–ๅ‘็Žฐ๏ผŒๅนถ่ฏฏไปฅไธบๆ˜ฏไธˆๅคซๅ‡†ๅค‡็š„โ€œๆƒŠๅ–œโ€็คผ็‰ฉใ€‚่ง†้ข‘้€š่ฟ‡ๅคซๅฆปไบŒไบบ็š„ไธ€้€š็”ต่ฏ๏ผŒ็”ŸๅŠจๅฑ•็Žฐไบ†ไธˆๅคซไปŽๆ‚ ้—ฒ่‡ชๅพ—๏ผŒๅˆฐ้œ‡ๆƒŠ้”™ๆ„•๏ผŒๅ†ๅˆฐๅดฉๆบƒๆ— ๅฅˆ็š„ๅ…จ่ฟ‡็จ‹๏ผŒๅ……ๆปกไบ†ๆˆๅ‰งๆ€ง็š„ๅ่ฝฌๅ’Œๅนฝ้ป˜ๆ„Ÿใ€‚

ๆƒ…่Š‚ๅ‘ๅฑ•ๅˆ†่งฃ

่ง†้ข‘ๆƒ…่Š‚ๅ›ด็ป•ไธ€้€š็”ต่ฏๅฑ•ๅผ€๏ผŒไปฅไธ‹ๆ˜ฏ่ฏฆ็ป†็š„ๆ—ถ้—ด็บฟใ€ๅœบๆ™ฏใ€่ฏด่ฏไบบๅ’Œๅฏน่ฏๅ†…ๅฎน๏ผš

ๆ—ถ้—ดๆˆณ ๅœบๆ™ฏๆ่ฟฐ ่ฏด่ฏไบบ ๅฏน่ฏๅ†…ๅฎน (ASR)
0:00 - 0:05 ไธˆๅคซๅคดๆˆดๆตดๅธฝ๏ผŒๅ›ด็€ๆตดๅทพ๏ผŒๅœจๅฎคๅ†…ๆณณๆฑ ่พนๆ‚ ้—ฒๅœฐ่‡ชๆ‹ใ€‚ ๆ—  (ๆ— ๅฏน่ฏ)
0:05 - 0:10 ้•œๅคดๅˆ‡ๆข๏ผšๅฆปๅญๅœจๆœ่ฃ…ๅบ—้‡Œ๏ผŒๆปก่„ธๅนธ็ฆๅœฐ็ป™ไธˆๅคซๆ‰“็”ต่ฏใ€‚ ๅฆปๅญ โ€œๅ“Ž๏ผŒ่€ๅ…ฌ๏ผŒ่€ๅ…ฌ๏ผŒๆˆ‘็ˆฑไฝ ็ˆฑไฝ ๏ผŒ็ˆฑๆญปไฝ ไบ†๏ผŒไนˆไนˆไนˆใ€‚โ€
0:10 - 0:18 ไธˆๅคซๆŽฅ่ตท็”ต่ฏ๏ผŒๅฏนๅฆปๅญ็š„็ƒญๆƒ…ๆ„Ÿๅˆฐๅฅฝๅฅ‡๏ผŒๅฆปๅญๅˆ™ๅ…ดๅฅ‹ๅœฐๆญๆ™“ไบ†โ€œๆƒŠๅ–œโ€ใ€‚ ไธˆๅคซ โ€œๅ“Ž๏ผŒๆ€Žไนˆไบ†ไฝ ่ฟ™ๆ˜ฏ๏ผŒ่ฟ™ไนˆ้ซ˜ๅ…ดๅ•Š๏ผŸโ€
ๅฆปๅญ โ€œไปŠๅคฉๆˆ‘ๅœจๆˆ‘็š„ๆฃ‰่กฃๅ…œ้‡Œ๏ผŒๅ‘็Žฐไบ†ไฝ ็ป™ๆˆ‘็š„ๆƒŠๅ–œ๏ผŒไธ€ไธ‡ๅ…ƒๅ“Ÿใ€‚โ€
0:18 - 0:27 ๅฌๅˆฐโ€œไธ€ไธ‡ๅ…ƒโ€๏ผŒไธˆๅคซ่กจๆƒ…็žฌ้—ดๅ‡ๅ›บ๏ผŒไปŽ็–‘ๆƒ‘ๅ˜ไธบ้œ‡ๆƒŠๅ’Œๆ‡Šๆ‚”๏ผŒไฝ†ไปๅผบ่ฃ…้•‡ๅฎšใ€‚ ไธˆๅคซ โ€œๅ•Š๏ผŸๅฅฝๅ•Š๏ผŒไฝ ไฝ ไฝ ไฝ ๅผ€ๅฟƒ้ซ˜ๅ…ดๅฐฑ่กŒใ€‚โ€
0:27 - 0:34 ๅฆปๅญๅผ€ๅฟƒๅœฐๅ‘Š็Ÿฅ้’ฑ็š„็”จ้€”๏ผŒไธˆๅคซ็š„่กจๆƒ…ๅฝปๅบ•ๅƒตไฝ๏ผŒ้œ‡ๆƒŠๅŠ ๅ‰งใ€‚ ๅฆปๅญ โ€œๆˆ‘ๅฝ“็„ถ้ซ˜ๅ…ดๅ•Š๏ผŒๆˆ‘็”จๅฎƒไนฐไบ†ไธ€ไปถๆ–ฐ่กฃ่ฃณ๏ผŒ็ญ‰ๆ™šไธŠๅ›žๅŽป็ฉฟ็ป™ไฝ ็œ‹ๅ•Šใ€‚โ€
0:34 - 0:46 ไธˆๅคซ็กฎ่ฎค้’ฑๅทฒ่ขซ่Šฑๆމ๏ผŒๆƒ…็ปชๅดฉๆบƒใ€‚ๅฆปๅญๅˆ™่ฎคไธบๆ˜ฏไธˆๅคซๆŽˆๆƒ็š„๏ผŒไธˆๅคซๅฟไธไฝ้ช‚ไบ†ไธ€ๅฅใ€‚ ไธˆๅคซ โ€œไฝ ๅทฒ็ป็ป™ไนฐๆˆ่กฃๆœไบ†๏ผŸโ€
ๅฆปๅญ โ€œๅฝ“็„ถๅ•ฆ๏ผŒไธๆ˜ฏไฝ ่ฏด็š„ๅ—๏ผŸ่ฏดไนฐๆˆ‘่‡ชๅทฑๅ–œๆฌข็š„ไธœ่ฅฟใ€‚่€ๅ…ฌ๏ผŒไฝ ็œŸๆ˜ฏๅคชๅฅฝไบ†ใ€‚โ€
ไธˆๅคซ โ€œไฝ ็œŸๆ˜ฏ่ดฅๅฎถๅจ˜ไปฌๅ„ฟๅ•Šไฝ ใ€‚โ€
0:46 - 0:59 ๅฆปๅญๅฏŸ่ง‰ไธˆๅคซ่ฏญๆฐ”ไธๅฏน๏ผŒไธˆๅคซ็ซ‹ๅˆปๆ”นๅฃๆŽฉ้ฅฐ๏ผŒๅนถๅ‚ฌไฟƒๅฆปๅญๆ—ฉ็‚นๅ›žๅฎถใ€‚ ๅฆปๅญ โ€œไป€ไนˆ๏ผŒ่€ๅ…ฌ๏ผŒไฝ ่ฏดไป€ไนˆ๏ผŸโ€
ไธˆๅคซ โ€œๅ•Š๏ผŸๆˆ‘่ฏดๅฅฝๅ•Š๏ผŒไฝ ๆผ‚ไบฎๆˆ‘้ซ˜ๅ…ดใ€‚โ€
ๅฆปๅญ โ€œไฝ ่ฏด็š„๏ผŒ่€ๅ…ฌใ€‚ไฝ ไปŠๅคฉๅ‘€๏ผŒไธ€ๅฎš่ฆๆ—ฉ็‚นๅ›žๆฅๅ“Ÿ๏ผŒๆˆ‘็ญ‰ไฝ ๅ“Ÿใ€‚โ€
ไธˆๅคซ โ€œ่กŒ่กŒ่กŒ่กŒ่กŒใ€‚โ€

ไบบ็‰ฉไธŽๆ ธๅฟƒๅ†ฒ็ช

1. ไบบ็‰ฉๅˆ†ๆž

ไธˆๅคซ: ่กŒไธบ: ่—็งๆˆฟ้’ฑ๏ผŒไบ‹ๅ‘ๅŽๆžๅŠ›ๆŽฉ้ฅฐ่‡ชๅทฑ็š„็œŸๅฎžๆƒ…็ปช๏ผˆๅฟƒ็—›ใ€ๆ‡Šๆ‚”๏ผ‰ใ€‚ ๅฟƒ็†ๅ˜ๅŒ–: ๆ‚ ้—ฒ -> ็–‘ๆƒ‘ -> ้œ‡ๆƒŠ -> ๅดฉๆบƒ -> ๆ— ๅฅˆๆŽฅๅ—ใ€‚ ็‰น็‚น: ็ˆฑ้ขๅญ๏ผŒๅฏนๅฆปๅญๆ—ขๆœ‰็ˆฑๆ„ไนŸๆœ‰ๆ— ๅฅˆ๏ผŒๅ…ธๅž‹็š„โ€œๅฆป็ฎกไธฅโ€ๅฝข่ฑกใ€‚

ๅฆปๅญ: ่กŒไธบ: ๅ‘็Žฐ้’ฑๅŽ๏ผŒ่ฎคไธบๆ˜ฏไธˆๅคซ็š„็ˆฑๆ„่กจ่พพ๏ผŒๅนถ่ฟ…้€Ÿๅฐ†ๅ…ถๆถˆ่ดนใ€‚ ๅฟƒ็†ๅ˜ๅŒ–: ๅ…จ็จ‹ๅค„ไบŽๅ‘็Žฐโ€œๆƒŠๅ–œโ€็š„ๅนธ็ฆๅ’Œๅ–œๆ‚ฆไธญใ€‚ ็‰น็‚น: ๅคฉ็œŸใ€ๆถˆ่ดนๆžœๆ–ญ๏ผŒๅฏนไธˆๅคซๅ……ๆปกไฟกไปปๅ’Œ็ˆฑๆ„ใ€‚

2. ๆ ธๅฟƒๅ†ฒ็ช

่ง†้ข‘็š„ๆ ธๅฟƒๅ†ฒ็ชๅœจไบŽ โ€œไฟกๆฏ็š„ไธฅ้‡ไธๅฏน็ญ‰โ€ ๆ‰€้€ ๆˆ็š„ๆˆๅ‰งๆ€ง่ฏฏไผš๏ผš

  • ไธˆๅคซ่ง†่ง’: ่พ›่‹ฆๆ”’ไธ‹็š„ 10,000ๅ…ƒ็งๆˆฟ้’ฑ่ขซๆ„ๅค–ๅ‘็Žฐๅนถ่Šฑๆމ๏ผŒๆ˜ฏไธ€ๅœบโ€œๆƒŠๅ“โ€ใ€‚
  • ๅฆปๅญ่ง†่ง’: ไธˆๅคซ็ฒพๅฟƒๅ‡†ๅค‡็š„ 10,000ๅ…ƒๆตชๆผซๅŸบ้‡‘๏ผŒๆ˜ฏไธ€ไปฝๅทจๅคง็š„โ€œๆƒŠๅ–œโ€ใ€‚

่ฟ™ไธช่ฏฏไผšๆŽจๅŠจไบ†ๆ•ดไธชๆ•…ไบ‹็š„ๅ‘ๅฑ•๏ผŒไธˆๅคซ็š„โ€œๆ‰“็ขŽ็‰™ๅพ€่‚š้‡Œๅ’ฝโ€ๅ’Œๅฆปๅญ็š„โ€œ็†ๆ‰€ๅฝ“็„ถ็š„ๅนธ็ฆโ€ๅฝขๆˆไบ†ๅผบ็ƒˆ็š„ๅ–œๅ‰งๅๅทฎ๏ผŒๅˆถ้€ ไบ†ๅฏ†้›†็š„็ฌ‘็‚นใ€‚

ๆ€ป็ป“

่ฏฅ่ง†้ข‘้€š่ฟ‡ไธ€ไธชๅ…ณไบŽโ€œ็งๆˆฟ้’ฑโ€็š„ๅธธ่งๅฎถๅบญๆƒ…ๆ™ฏ๏ผŒๅทงๅฆ™ๅœฐๆž„ๅปบไบ†ไธ€ไธชๅ……ๆปกๅ่ฝฌๅ’Œๅนฝ้ป˜็š„ๆ•…ไบ‹ใ€‚ๅฎƒๅˆฉ็”จๆˆๅ‰งๆ€ง่ฎฝๅˆบ๏ผˆ่ง‚ไผ—ๅ’Œไธˆๅคซ็Ÿฅ้“็œŸ็›ธ๏ผŒ่€Œๅฆปๅญ่’™ๅœจ้ผ“้‡Œ๏ผ‰็š„ๆ‰‹ๆณ•๏ผŒ็ฒพๅ‡†ๆ•ๆ‰ไบ†ไธˆๅคซๅœจ็ชๅ‘็Šถๅ†ตไธ‹็š„ๅคๆ‚ๅฟƒ็†ๆดปๅŠจใ€‚ๆ•ดไธช่ฟ‡็จ‹ไธไป…็ฌ‘ๆ–™็™พๅ‡บ๏ผŒไนŸๅซ่“„ๅœฐๆŽข่ฎจไบ†ๅคซๅฆป้—ด็š„ๆฒŸ้€šใ€ไฟกไปปๅ’Œ้‡‘้’ฑ่ง‚็ญ‰่ฏ้ข˜๏ผŒๅฎนๆ˜“ๅผ•ๅ‘่ง‚ไผ—็š„ๅ…ฑ้ธฃๅ’Œ่ฎจ่ฎบใ€‚

Usage

Dependencies

The installation has been tested and verified on the following environments:

  • NVIDIA H20 with CUDA 12.4
  • NVIDIA A100 with CUDA 12.1

Installation

Clone the repo and install dependent packages

git clone -b arc-qwen-video https://github.com/TencentARC/ARC-Hunyuan-Video-7B.git
cd ARC-Hunyuan-Video-7B

# Install torch 2.6.0 based on your CUDA version
# CUDA 11.8
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu118
# CUDA 12.4
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124
# CUDA 12.6
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu126

pip install librosa decord av accelerate
pip uninstall transformers
pip install git+https://github.com/geyuying/transformers.git@arc-qwen-video
pip install flash_attn==2.7.1.post4

# Install FFmpeg according to your system, and ensure that the following command produces a normal version output:
ffmpeg -version

# (Optional) For vllm, please follow the instructions below,
pip uninstall vllm
pip install git+https://github.com/geyuying/vllm.git@arc-qwen-video

An 'Ugly' Workaround for vLLM Installation

If you are unable to install our provided vllm package, we offer an alternative "ugly" method:

  1. Install vllm with Qwen2.5-VL support.

  2. Modify config.json. In your model weights directory, open config.json and change the architectures field to "Qwen2_5_VLForConditionalGeneration".

  3. Patch the vllm source code. Locate the file vllm/model_executor/models/qwen2_5_vl.py in your vllm installation path. Add the following code inside the init method of the Qwen2_5_VLForConditionalGeneration class:

whisper_path = 'openai/whisper-large-v3'
speech_encoder = WhisperModel.from_pretrained(whisper_path).encoder
self.speech_encoder = speech_encoder
speech_dim = speech_encoder.config.d_model
llm_hidden_size = config.vision_config.out_hidden_size
self.mlp_speech = nn.Sequential(
    nn.LayerNorm(speech_dim),
    nn.Linear(speech_dim, llm_hidden_size),
    nn.GELU(),
    nn.Linear(llm_hidden_size, llm_hidden_size)
)

Why this works: Our model is based on the Qwen-VL-2.5 architecture, with the addition of an audio encoder and a corresponding MLP. During vllm inference, the multi-modal encoder processes inputs sequentially, while the LLM performs batch inference. Since we only need to pass the final multi-modal embeddings to the LLM, we can reuse the existing code for Qwen-VL-2.5.

Inference

# Our model currently excels at processing short videos of up to 5 minutes.
# If your video is longer, we recommend following the approach used in our demo and API:
# split the video into segments for inference, and then use an LLM to integrate the results.

To quickly verify that your environment is set up correctly and that video and audio information are being processed as expected, you can run the following test case with ARC-Qwen-Video-7B.

video_path = "examples/็ŒชๆŽ’.mp4"
task = "QA"
question = "What did the man say at the beginning of the video after measuring the thickness of the fried pork cutlet?"

Expected Result: If the model's output contains the phrase "So thin", it indicates that your installation is successful.

Inference without vllm

cd ARC-Hunyuan-Video-7B

# For ARC-Qwen-Video-7B
python3 inference_arc_qwen_video.py

# For ARC-Qwen-Video-7B-Narrator
python3 inference_arc_qwen_video_narrator.py

Inference with vllm

cd ARC-Hunyuan-Video-7B

# For ARC-Qwen-Video-7B
python3 vllm_arc_qwen_vl_video_batch.py --batch_inference

# For ARC-Qwen-Video-7B-Narrator
python3 vllm_arc_qwen_vl_video_batch_narrator.py --batch_inference

Benchmark Performance

Video-MMMU MMVU Temp-Compass Video-Holmes Video-MME VCR-Bench MV-Bench ShortVid-Bench Charades-STA
ARC-Hunyuan-Video-7B 31.1 49.1 66.0 40.9 58.7 50.5 62.6 73.0 54.8
ARC-Qwen-Video-7B 41.3 55.5 68.7 51.1 61.0 52.3 60.8 72.6 52.8

Quantitative evaluation is performed on different benchmarks using accuracy as the evaluation metric, except for the grounding task on Charades-STA, which uses mIoU. For all benchmarks other than VideoMMMU and Charades-STA, we only evaluated the multiple-choice questions.

Citation

If you find the work helpful, please consider citing:

@article{ge2025arc,
  title={ARC-Hunyuan-Video-7B: Structured Video Comprehension of Real-World Shorts},
  author={Ge, Yuying and Ge, Yixiao and Li, Chen and Wang, Teng and Pu, Junfu and Li, Yizhuo and Qiu, Lu and Ma, Jin and Duan, Lisheng and Zuo, Xinyu and others},
  journal={arXiv preprint arXiv:2507.20939},
  year={2025}
}
Downloads last month
137
Safetensors
Model size
9B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for TencentARC/ARC-Qwen-Video-7B-Narrator

Finetuned
(1263)
this model

Paper for TencentARC/ARC-Qwen-Video-7B-Narrator