1) 어떤 문제를 해결하고 싶은가
- 이 논문은 long video understanding에서 발생하는 핵심 병목인 video token explosion 문제를 해결하려고 한다. 긴 비디오를 그대로 Vision-Language Large Model에 넣으면 frame 수가 많아져 token 수가 급격히 늘고, 계산량이 커지며, 앞부분 문맥이 소실되기 쉽다.
- 기존 long video 처리 방식은 대체로
- sparse temporal sampling으로 일부 frame만 뽑거나,
- spatio-temporal pooling / frame compression으로 token 수를 줄이거나,
- memory bank를 따로 두는 방식이었다. 그런데 이 방식들은 긴 시간축의 temporal information을 잃거나, spatial detail을 희생하거나, 특정 timestamp가 주어져야만 필요한 정보를 잘 꺼낼 수 있다는 문제가 있다.
- 이 논문이 겨냥하는 문제는 단순히 “긴 영상을 압축하자”가 아니다. 임의 길이의 비디오를 constant한 수의 memory/token으로 표현하면서도, 질문에 따라 필요한 시점을 정확히 찾아 detailed QA와 temporal grounding까지 수행하는 것이다.
직관적 의미
긴 영상을 한 번에 다 보는 방식은 비효율적이다. 이 논문은 영상을 짧은 clip들의 stream으로 보고, 이전까지 본 내용을 작은 memory에 계속 누적 저장한 뒤, 질문이 들어오면 그 질문과 관련 있는 memory만 골라 답하게 만든다.
2) 선행연구는 어땠는가
- video-LLM 계열의 일반적 접근
- sparse sampling이나 simple temporal pooling으로 비디오를 적게 본다.
- 대표적으로 recent video understanding with LLM 계열은 minute-long video에서도 sampling 또는 pooling으로 token 수를 줄인다.
- 문제는 긴 시간축에서 중요한 사건 순서나 중간 맥락이 사라질 수 있다는 점이다.
- frame-wise compression 계열
- 예로 LLaMA-VID는 각 frame을 매우 적은 token으로 압축한다.
- 이 방식은 frame 단위 압축에 집중하기 때문에 inter-frame temporal dynamics를 compression 단계에서 충분히 반영하지 못한다.
- 또한 question-dependent compression이어서, 하나의 일반적인 long-video representation을 만들기 어렵다.
- memory bank 계열
- MovieChat, MA-LMM, MC-ViT류는 history information을 memory bank에 저장한다.
- 긴 문맥 유지에는 도움이 되지만, 일부 방법은 handcrafted rule이나 clustering에 의존하고, 특정 moment에 대한 질문에 강하게 반응하려면 explicit timestamp cue가 필요하다.
- 즉, global understanding은 가능해도 fine-grained temporal question answering은 제한된다.
- caption-then-reason 계열
- 긴 비디오를 short clip으로 쪼갠 뒤 각 clip caption을 만들고, 그 caption들을 LLM이 다시 읽는 구조다.
- 이 방식은 end-to-end 학습이 어렵고, 전체 성능이 short clip caption quality에 종속된다.
- caption 단계에서 이미 정보가 손실되면 이후 reasoning에서 복구할 수 없다.
왜 중요한가
long video understanding의 핵심은 단순 압축이 아니다. 무엇을 남기고 무엇을 버릴지, 그리고 질문이 들어왔을 때 어느 시점의 정보를 다시 참조할지가 성능을 결정한다. 선행연구는 이 두 문제를 동시에 잘 푸는 데 한계가 있었다.
3) 이 논문에서 하는 새로운 기여는 무엇인가
- 이 논문의 핵심 기여는 두 가지다.
(1) Memory-Propagated Streaming Encoding
- 긴 비디오를 여러 short clip으로 나누고, 각 clip을 순차적으로 encoding한다.
- 현재 clip을 encoding할 때 직전 clip의 condensed memory를 함께 넣는다.
- 그래서 현재 memory는 현재 clip 정보만 담는 것이 아니라, 지금까지 본 전체 영상의 누적 요약이 된다.
- 결과적으로 영상 길이가 아무리 길어져도 fixed-length memory로 전체를 대표할 수 있게 한다.
(2) Adaptive Memory Selection
- final global memory 하나만 쓰면 초반부 detail이 사라질 수 있다.
- 이를 해결하기 위해, 각 clip마다 historical memory를 저장해 두고, 질문이 주어지면 질문과 관련 있는 memory subset만 adaptively select한다.
- 질문 indicator와 각 clip indicator의 similarity를 계산하고, Gumbel-Topk로 관련 clip들을 선택해 LLM에 넣는다.
- 그래서 global understanding과 moment-specific reasoning을 동시에 노린다.
(3) disentangled extraction and reasoning
- 비디오를 질문마다 다시 encoding하지 않는다.
- 먼저 stream 방식으로 비디오를 일반적인 condensed memory 집합으로 만들어 두고, 질문이 들어오면 그 질문에 필요한 memory만 골라 reasoning한다.
- 이것이 inference efficiency 측면의 중요한 기여다.
(4) long-video QA data construction
- long video QA 데이터 부족 문제를 해결하려고
- 기존 short-video QA를 이어 붙여 synthetic long video를 만들고,
- Panda-70M의 segmented captions와 timestamps를 활용해 timestamp-aware multi-round QA pairs를 생성했다.
- 이 데이터는 memory selection과 temporal grounding supervision에 사용된다.
이 논문의 본질적 새로움
이 논문의 핵심은 “long video를 잘 요약하는 memory를 순차적으로 만들고, 질문이 오면 관련 memory만 다시 꺼내 쓰는 구조”다. 즉, streaming summarization과 question-conditioned retrieval를 하나의 학습 가능한 구조로 결합했다는 점이 새롭다.
4) 연구 방법은 무엇인가
전체 파이프라인
- 입력 비디오를 \(K\)개의 short clip으로 나눈다.
- 각 clip에서 frame-wise visual feature를 추출한다.
- 작은 language model을 이용해 각 clip을 condensed memory로 바꾼다.
- 이때 이전 clip의 memory를 현재 clip encoding에 함께 넣어 history를 전달한다.
- 모든 historical memory를 저장해 둔다.
- 질문이 들어오면 질문과 관련 있는 memory 몇 개만 뽑아서 최종 LLM이 답한다.
(1) Single Clip Encoding
- pre-trained CLIP ViT-L/14로 frame-wise feature를 뽑는다.
- spatially adjacent visual token 4개를 channel 방향으로 합쳐 token 수를 75% 줄인다.
- 각 frame을 대표하는 summarization tokens \(S\)를 adaptive pooling으로 초기화한다.
- clip feature \(F\)와 summarization tokens \(S\)를 concat하여 encoder \(g(\cdot)\)에 넣고, 마지막 \(T \times P\)개의 token을 condensed representation \(H\)로 사용한다:
- \(H = g([F \circ S])\)
- encoder는 MLP projector + Phi-2 small language model로 구성된다.
- 저자들의 직관은 decoder-only LM의 autoregressive 구조상, sequence 정보가 뒤쪽 token에 축적되기 쉽다는 점이다. 그래서 마지막 token들을 요약 표현으로 활용한다.
왜 vision transformer가 아니라 language model을 encoder로 쓰는가
저자들은 LM의 causal/autoregressive 성질을 이용하면 sequence 전체 정보가 뒤쪽 token에 자연스럽게 모인다고 본다. 또한 이후 reasoning 단계도 LLM이 수행하므로, LM이 만든 memory representation이 후단 LLM 입력공간과 더 잘 맞는다고 주장한다.
(2) Prefix Task
- 단순히 summarization token을 붙이는 것만으로는 그 token이 진짜 정보를 모은다는 보장이 약하다.
- 그래서 논문은 modified attention mask를 사용한 prefix task를 설계한다.
- text response token이 video clip token 전체를 직접 보지 못하게 하고, summarization token만 참조하게 만든다.
- 이렇게 하면 summarization token이 실제로 clip 정보를 압축하도록 학습된다. 이 부분은 page 4의 Figure 2, 3에서 도식적으로 설명된다.
(3) Memory-Propagated Streaming Encoding
- \(k\)번째 clip에서는 현재 clip feature \(F_k\), summarization tokens \(S_k\), 그리고 clip 전체를 요약하는 global token \(\hat{S}_k\)를 사용한다.
- 이전 clip에서 나온 condensed memory \(H_{k-1}\)를 historical memory로 받아서 함께 넣는다.
- 수식은 다음과 같다:
- \(H_k, \hat{H}_k = g([H_{k-1} \circ F_k \circ S_k \circ \hat{S}_k])\)
- 여기서 \(\hat{H}_k\)는 clip indicator 역할을 하며, 이후 memory selection에 쓰인다.
- 결과적으로 \(H_k\)는 단순히 현재 clip만 요약한 것이 아니라, 0초부터 \(k\)번째 clip까지의 누적 표현이 된다.
time prompt
- 각 clip과 historical memory에 대해 explicit timestamp text prompt를 넣는다.
- 예:
This contains a history of {start} to {end} secondsa clip sampled in {start} to {end} seconds
- 이 prompt는 temporal awareness를 높이는 역할을 한다. 실제 ablation에서도 time prompt가 없으면 breakpoint accuracy가 크게 떨어진다.
(4) Adaptive Memory Selection
- 최종 memory \(H_K\)만 쓰면 초반 detail이 사라질 수 있으므로, 전체 historical memory 집합 \(\{H_1, \dots, H_K\}\)를 저장한다.
- 질문이 들어오면 final global memory \(H_K\)와 question text를 다시 small LM에 넣어 instruction indicator \(\hat{H}_Q\)를 만든다.
- 각 clip indicator \(\{\hat{H}_1, \dots, \hat{H}_K\}\)와 cosine similarity를 계산한다.
- Gumbel-Topk로 상위 \(V\)개 clip을 선택한다:
- \(I = \text{Gumbel-Topk}(s, V)\)
- 선택된 memory만 temporal order로 concat해서 LLM에 넣고 답변을 생성한다.
직관적 의미
전체 영상의 축약본 하나만 보면 세부 장면은 놓칠 수 있다. 그래서 질문이 “중간에 왜 팔을 들었는가?”처럼 특정 moment를 요구하면, 그 질문과 가장 관련 있는 clip memory를 다시 찾아서 LLM에 보여준다.
(5) Training
Stage 1: single-clip training
- image/video caption data 790K로 projector를 먼저 학습한다.
- 이후 image/video instruction data 763K로 small LM을 finetune한다.
- 기본 설정:
- video는 \(T=16\) frame
- resolution \(224 \times 224\)
- CLIP ViT-L/14 사용
- frame당 256 token에서 merging 후 64 token
- 각 frame을 \(P=4\) summarization token으로 줄임
- 16 frame clip 전체가 64 token memory가 된다.
- compression ratio는 16:1이다.
Stage 2: streaming long-video training
- long video QA data로 전체 구조를 joint finetuning한다.
- long video QA 데이터는
- 25K movie QA
- Panda-70M 기반 300K multi-round long video QA
- short-video QA를 이어붙인 synthetic 20K long video 로 구성된다.
- streaming encoder는 Phi-2의 첫 16 layers 출력만 condensed memory로 사용한다.
- 최종적으로 \(V=4\)개의 relevant timestamps를 선택하고, 총 256 memory tokens를 Vicuna-7B에 넣어 답변한다.
- temporal grounding supervision을 위해 일부 QA pair에는 pseudo temporal labels를 붙이고, warm-up 시 KL divergence loss로 selection을 지도한다. 이후 나머지 데이터에서는 response loss와 weak supervision으로 학습한다.
(6) 실험 결과
VideoChatGPT benchmark
- 모든 metric에서 강한 baseline들을 넘는다.
- 특히 Temporal Understanding에서 강점이 크다. 이는 streaming memory가 temporal dynamics를 더 잘 보존한다는 저자 해석과 연결된다. Table 2.
EgoSchema
- zero-shot에서 44.1을 기록한다.
- finetuned MC-ViT 44.4와 비슷한 수준이고, 다른 zero-shot LLM-based 방법들보다 높다. Table 3.
Next-QA
- zero-shot 성능이 strong baseline들을 넘는다.
- Temporal split에서 특히 강하다. Table 4.
Next-GQA
- specialized grounding module 없이도 높은 grounding 성능을 낸다.
- Acc@GQA 17.8로 비교군 대비 가장 높다. Table 5.
MovieChat-1K
- global mode와 breakpoint mode 모두 strong performance를 보인다.
- 특히 global accuracy 90.4, breakpoint accuracy 54.9를 기록했다. Table 6.
MovieNet-QA
- subtitle 없이 visual-only로도 경쟁력 있는 성능을 낸다.
- 평균 LLM input token 수가 256으로 매우 작고, inference latency도 5.32 sec/question로 baseline보다 짧다. Table 7.
왜 실험이 의미 있는가
이 논문은 단순히 정확도만 올린 것이 아니다. token 수를 크게 줄이면서도, global understanding, moment-specific QA, temporal grounding을 함께 개선했다는 점이 중요하다.
(7) Ablation에서 확인된 핵심
memory propagation의 효과
- propagated memory가 있으면 global understanding이 크게 좋아진다.
- MovieChat-1K global accuracy는 selection과 함께 쓸 때 90.4까지 올라간다.
- propagated memory가 없으면 selection이 조금 틀려도 필요한 이전 문맥을 잃기 쉽다. Table 8.
adaptive selection의 효과
- breakpoint mode처럼 특정 moment 이해가 중요한 task에서는 selection이 없으면 성능이 크게 떨어진다.
- 즉, long video에서 “질문 관련 clip retrieval”이 필수적이라는 것을 보여준다. Table 8.
language model encoder의 효과
- vision-based MC-ViT encoder보다 partial layers of Phi-2를 encoder로 쓰는 편이 더 좋다.
- 16 layers of Phi가 가장 좋고, 너무 깊은 layer는 오히려 성능이 떨어진다.
- 저자 해석은 final layer가 next-token prediction에 최적화되어 있어 visual condensation 목적과 완전히 맞지 않기 때문이라는 것이다. Table 10.
time prompt의 효과
- time prompt가 없으면 breakpoint accuracy가 크게 떨어진다.
- clip timestamp와 memory timestamp를 둘 다 넣는 것이 가장 좋다. Table 14.
selection similarity
- cosine similarity가 dot product보다 훨씬 안정적이고 성능도 높다.
- dot product는 numerical instability를 일으켜 grounding 성능이 크게 낮아진다. Table 15.
5) 한계는 무엇인가
- 논문이 직접 밝힌 핵심 한계는 uniform sampling이다.
- 긴 비디오의 모든 구간이 동일한 정보량을 갖는 것은 아니다.
- bland content 구간에는 token을 낭비할 수 있고,
- 반대로 event가 밀집한 구간에는 현재 clip/token budget이 부족할 수 있다.
- 저자들은 이를 해결하려면 adaptive segmentation이 필요하다고 말한다. 즉, clip 길이를 영상 복잡도에 따라 동적으로 조절해야 한다고 본다.
추가로 읽히는 한계
pseudo temporal labels와 synthetic long-video QA에 의존한다. 따라서 selection이 얼마나 genuine temporal reasoning을 배우는지, 아니면 데이터 생성 규칙의 편향을 학습하는지는 더 검증이 필요하다. 이 부분은 논문이 일부 supervision을 Panda-70M과 concatenated short-video QA로 만든다고 명시한다.
hour-long video에서도 1 FPS / clip-based sampling 수준의 coarse visual scan에 의존한다. 아주 짧고 결정적인 event가 sampling 사이에 끼어 있으면 놓칠 수 있다. 논문도 uniform sampling의 한계를 인정한다.
statistical significance가 보고되지 않았다. NeurIPS checklist에서 error bar를 제공하지 않았고, 이유는 compute cost라고 적었다. 따라서 reported gain의 variance는 확인되지 않는다.
code/data는 submission 시점에 공개되지 않았다. 재현성 설명은 충분히 제공했지만, checklist에서 open access to data and code는 No라고 밝혔다.
전체 평가
이 논문은 long video를 처리하는 구조를 compression만의 문제가 아니라, streaming memory construction + question-conditioned memory retrieval 문제로 재정의했다는 점이 강하다. 특히 temporal understanding과 temporal grounding 성능이 좋아진 이유가 구조적으로 납득된다. 한편 adaptive segmentation, 더 정밀한 sampling, stronger grounding supervision 없이도 얼마나 일반화되는지는 아직 남아 있다.
한 줄 요약
- 이 논문은 긴 비디오를 short clip stream으로 순차 encoding하면서 이전 memory를 다음 clip에 전달해 global condensed memory를 만들고, 질문이 들어오면 관련 clip memory만 골라 LLM에 넣는 방식으로 long video QA와 temporal grounding을 효율적으로 수행한다.