Papers › Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding

Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding

5 Jun 2023arXiv:2306.02858archive 2025-07-28

Hang Zhang, Xin Li, Lidong Bing

We present Video-LLaMA a multi-modal framework that empowers Large Language Models (LLMs) with the capability of understanding both visual and auditory content in the video. Video-LLaMA bootstraps cross-modal training from the frozen pre-trained visual and audio encoders and the frozen LLMs. Unlike previous works that complement LLMs to process the visual or audio signals only, Video-LLaMA enables video comprehension by tackling two challenges: (1) capturing the temporal changes in visual scenes, (2) integrating audio-visual signals. To counter the first challenge, we propose a Video Q-former to assemble a pre-trained image encoder into our video encoder and introduce a video-to-text generation task to learn video-language correspondence. For the second challenge, we leverage ImageBind, a universal embedding model aligning multiple modalities, as the pre-trained audio encoder and introduce an Audio Q-former on top of ImageBind to learn reasonable auditory query embeddings for the LLM module. To align the output of both visual and audio encoders with LLM's embedding space, we first train Video-LLaMA on massive video/image-caption pairs and then tune our model with visual-instruction datasets of moderate amount but higher quality. We found Video-LLaMA shows the ability to perceive and comprehend video content and generate meaningful responses grounded in the visual and auditory information presented in the videos.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2306.02858")

Code

Syntology Ran 18 of 25 code samples harvested from 3 repositories linked to this paper; 7 have no recorded run. Of those that ran: 1 ran · violated contract; 5 ran · our draft was wrong; 2 ran · fixture could not drive it; 10 ran with no contract checked.

By repository: official repository: 9 samples from 1 repository, 7 ran; community (archive-listed): 16 samples from 2 repositories, 11 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

damo-nlp-sg/video-llama officialmentioned in papermentioned on GitHubpytorchBSD-3-Clause report
damo-nlp-sg/videollama2 mentioned on GitHubpytorchApache-2.0 report
damo-nlp-sg/videollama3 mentioned on GitHubpytorchApache-2.0 report
xinding-sys/StreamMind mentioned on GitHubpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

25 samples harvested; 18 ran; 0 honoured the contract we drafted; 7 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · violated contract
5ran · our draft was wrong
2ran · fixture could not drive it
10ran
7unverified

Licence: 9 of the 25 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 3 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

apply_rotary_pos_emb damo-nlp-sg/video-llama/video_llama/models/modeling_llama.py official repository ran · fixture could not drive it BSD-3-Clause recorded; this copy not marked cleared · pointer only · 9b4dff79d5e6102c · report
disabled_train damo-nlp-sg/video-llama/video_llama/models/blip2.py official repository ran · violated contract BSD-3-Clause recorded; this copy not marked cleared · pointer only · 4cb732f513d69dfd · report
getAttMap damo-nlp-sg/video-llama/video_llama/common/gradcam.py official repository ran · fixture could not drive it fingerprinted BSD-3-Clause recorded; this copy not marked cleared · pointer only · 7d214655954e2bc6 · report
main_process damo-nlp-sg/video-llama/video_llama/common/dist_utils.py official repository ran BSD-3-Clause recorded; this copy not marked cleared · pointer only · 98589643273920ba · report
node_to_dict damo-nlp-sg/video-llama/video_llama/common/config.py official repository ran BSD-3-Clause recorded; this copy not marked cleared · pointer only · 791c72070c0b1cfb · report
rotate_half damo-nlp-sg/video-llama/video_llama/models/modeling_llama.py official repository ran · our draft was wrong fingerprinted BSD-3-Clause recorded; this copy not marked cleared · pointer only · b99eea6376d1e212 · report
tile damo-nlp-sg/video-llama/video_llama/models/base_model.py official repository ran fingerprinted BSD-3-Clause recorded; this copy not marked cleared · pointer only · cb33571427334815 · report
all_gather_with_grad damo-nlp-sg/video-llama/video_llama/models/base_model.py official repository unverified BSD-3-Clause recorded; this copy not marked cleared · pointer only · 0ec9fc2025c16f65 · report
download_cached_file damo-nlp-sg/video-llama/video_llama/common/dist_utils.py official repository unverified BSD-3-Clause recorded; this copy not marked cleared · pointer only · 643539116e049080 · report
ClsNet xinding-sys/StreamMind/streammind/model/multimodal_projector/builder.py community (archive-listed) ran Apache-2.0 (permissive) · 0d7afd7e8c6f79a7 · report
STCConnector xinding-sys/StreamMind/streammind/model/multimodal_projector/builder.py community (archive-listed) ran Apache-2.0 (permissive) · 034c07582f342e3f · report
STCConnector damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) ran · metamorphic tier: deterministic Apache-2.0 (permissive) · 143af1a0e1416655 · report
STCConnectorV35 damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) ran · metamorphic tier: deterministic Apache-2.0 (permissive) · d25dbb06b89a36bd · report
STPConnector damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) ran · metamorphic tier: deterministic Apache-2.0 (permissive) · a1260df691548981 · report
SpatialConv damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) ran · metamorphic tier: deterministic Apache-2.0 (permissive) · 75d05c81526b6ca0 · report
SpatialPool damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) ran · metamorphic tier: deterministic Apache-2.0 (permissive) · 27e6bfb755d3e81b · report
build_mlp xinding-sys/StreamMind/streammind/model/multimodal_projector/builder.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · d62ac690ebadd7fa · report
build_vision_projector damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · 7aa936fbe4f3d6fe · report
load_mm_projector damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · d8e25fe3aa75d2ce · report
parse_snapshot_folder damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) ran · our draft was wrong fingerprinted Apache-2.0 (permissive) · 04129d1d261c322a · report
CLIPVisionTower damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) unverified Apache-2.0 (permissive) · 351648024debfdef · report
MistralForCausalLM_cls xinding-sys/StreamMind/streammind/model/multimodal_projector/builder.py community (archive-listed) unverified Apache-2.0 (permissive) · 44b8362633634eda · report
SiglipVisionTower damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) unverified Apache-2.0 (permissive) · 93c7869a74572a70 · report
Videollama2MetaModel damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) unverified Apache-2.0 (permissive) · e0abf348c09035c4 · report
build_vision_tower damo-nlp-sg/videollama2/videollama2/model/videollama2_arch.py community (archive-listed) unverified Apache-2.0 (permissive) · f61dd94ea06b9f92 · report

Tasks

Language ModelingLanguage ModellingText GenerationVideo Question AnsweringVideo UnderstandingVideo-Text RetrievalVideo-based Generative Performance BenchmarkingVideo-based Generative Performance Benchmarking (Consistency)Video-based Generative Performance Benchmarking (Contextual Understanding)Video-based Generative Performance Benchmarking (Correctness of Information)Video-based Generative Performance Benchmarking (Detail Orientation))Video-based Generative Performance Benchmarking (Temporal Understanding)Zero-Shot Video Question Answer

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Video Question Answering MVBench VideoLLaMA Avg. 34.1 #19 of 22 Archive leaderboard report
Video-Text Retrieval Test-of-Time Video-LLAMA 2-Class Accuracy 88.33 #1 of 4 Archive leaderboard report
Video-based Generative Performance Benchmarking VideoInstruct Video LLaMA Consistency 1.79 #23 of 23 Archive leaderboard report
Video-based Generative Performance Benchmarking VideoInstruct Video LLaMA Contextual Understanding 2.16 #23 of 23 Archive leaderboard report
Video-based Generative Performance Benchmarking VideoInstruct Video LLaMA Correctness of Information 1.96 #23 of 23 Archive leaderboard report
Video-based Generative Performance Benchmarking VideoInstruct Video LLaMA Detail Orientation 2.18 #23 of 23 Archive leaderboard report
Video-based Generative Performance Benchmarking VideoInstruct Video LLaMA Temporal Understanding 1.82 #23 of 23 Archive leaderboard report
Video-based Generative Performance Benchmarking VideoInstruct Video LLaMA mean 1.98 #23 of 23 Archive leaderboard report
Video-based Generative Performance Benchmarking (Consistency) VideoInstruct Video LLaMA gpt-score 1.79 #18 of 18 Archive leaderboard report
Video-based Generative Performance Benchmarking (Contextual Understanding) VideoInstruct Video LLaMA gpt-score 2.16 #18 of 18 Archive leaderboard report
Video-based Generative Performance Benchmarking (Correctness of Information) VideoInstruct Video LLaMA gpt-score 1.96 #18 of 18 Archive leaderboard report
Video-based Generative Performance Benchmarking (Detail Orientation)) VideoInstruct Video LLaMA gpt-score 2.18 #18 of 18 Archive leaderboard report
Video-based Generative Performance Benchmarking (Temporal Understanding) VideoInstruct Video LLaMA gpt-score 1.82 #18 of 18 Archive leaderboard report
Zero-Shot Video Question Answer ActivityNet-QA Video LLaMA Accuracy 12.4 #28 of 28 Archive leaderboard report
Zero-Shot Video Question Answer ActivityNet-QA Video LLaMA Confidence Score 1.1 #28 of 28 Archive leaderboard report
Zero-Shot Video Question Answer MSRVTT-QA Video LLaMA-7B Accuracy 29.6 #30 of 30 Archive leaderboard report
Zero-Shot Video Question Answer MSRVTT-QA Video LLaMA-7B Confidence Score 1.8 #30 of 30 Archive leaderboard report
Zero-Shot Video Question Answer MSVD-QA Video LLaMA-7B Accuracy 51.6 #27 of 28 Archive leaderboard report
Zero-Shot Video Question Answer MSVD-QA Video LLaMA-7B Confidence Score 2.5 #27 of 28 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

ALIGN

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections