백만 토큰 문맥에서의 장편 비디오 이해

24 FPS의 1시간짜리 4K 비디오를 패치로 나누고 임베딩하면 대략 6천만 토큰 규모가 됩니다. 2시간짜리 팟캐스트(podcast) 에피소드를 텍스트로 변환(transcribe)하면 약 30,000토큰입니다. Blu-ray 장편 영화 전체는 공격적인 풀링(pooling)으로 압축하더라도 수십만 토큰이 됩니다. Google의 Gemini 1.5(2024년 3월)는 1천만 토큰 문맥(context)으로 이 시대를 열었고, 한 시간 길이의 비디오에서 바늘 찾기(needle-in-a-haystack) 회상을 안정적으로 수행했습니다. LWM(Liu et al., 2024년 2월)은 링 어텐션(ring attention)이 확장될 수 있는 경로를 보여주었습니다. LongVILA와 Video-XL은 비디오 입력 처리(ingestion) 규모를 더 키웠습니다. VideoAgent는 원시 문맥(raw context)을 그대로 넣는 대신 에이전트식 검색(agentic retrieval)을 사용했습니다. 각 접근은 계산량, 회상률(recall), 엔지니어링 복잡도 사이에서 서로 다른 절충을 합니다. 이 lesson에서는 이 접근들을 나란히 비교해 읽습니다.

유형: Build 언어: Python (표준 라이브러리, 바늘 찾기 시뮬레이터 + 에이전트식 검색 라우터) 선수 지식: Phase 12 · 17 (비디오 시간 토큰) 예상 시간: 약 180분

학습 목표

  • 다양한 FPS와 풀링 설정에서 장편 비디오의 전체 비주얼 토큰(visual-token) 수를 계산합니다.
  • 세 가지 확장 경로인 강행 문맥(brute context, Gemini 1.5), 링 어텐션(LWM), 토큰 압축(token compression, LongVILA / Video-XL)을 설명합니다.
  • 원시 문맥 비디오 VLM과 에이전트식 검색 비디오 VLM(VideoAgent)을 정확도와 지연 시간(latency) 관점에서 비교합니다.
  • 30분짜리 비디오에 대한 바늘 찾기 테스트를 설계하고 특정 분(minute)에서의 회상률을 측정합니다.

문제

Qwen2.5-VL 크기의 패치를 384 네이티브 해상도(native resolution)에서 만들면 한 프레임은 약 729토큰입니다. 여기에 3x3 풀링을 적용하면 프레임당 81토큰이 됩니다. 1 FPS로 30분짜리 클립을 처리하면 1,800프레임, 즉 145,800토큰입니다. 2025년 공개 VLM으로도 가능하지만 빡빡합니다. 2 FPS가 되면 291,600토큰입니다. 이 정도는 가장 큰 문맥을 가진 모델만 감당할 수 있습니다.

2시간짜리 영화는 1 FPS만 사용해도 583,000토큰입니다. 대부분의 2026년 공개 모델 범위를 넘어섭니다. Gemini 2.5 Pro를 쓰거나, 더 공격적으로 풀링해야 합니다.

이 문제를 풀기 위해 세 가지 확장 경로가 등장했습니다.

사전 테스트

2문제 · 이 강의를 시작하기 전에 얼마나 알고 있는지 확인해보세요

1.백만 토큰 장편 비디오가 해결하는 핵심 과제는?

2.백만 토큰 장편 비디오 이전의 주요 한계는?

0/2 답변 완료

개념

경로 1: 강행 문맥(Gemini 1.5, Claude Opus)

문제에 하드웨어를 던지는 방식입니다. 문맥을 수백만 토큰까지 키우고, 모든 것을 한 번의 순전파(forward pass)로 처리합니다.

Gemini 1.5 Pro는 1M 토큰으로 출시되었고, Gemini 1.5 Ultra는 10M까지 확장되었습니다. 2026년의 Gemini 2.5 Pro는 몇 시간짜리 비디오도 안정적으로 처리합니다. Gemini 1.5 논문(arXiv:2403.05530)은 약 9.5M 토큰까지 바늘 찾기 회상률 99.7%를 기록했다고 설명합니다.

엔지니어링 측면에서는 메모리 계층(local + global + sparse)을 갖춘 커스텀 어텐션 구현과, 긴 문맥 효율을 위한 MoE 전문가 라우팅(expert routing)이 필요합니다. 전체 상세는 공개되어 있지 않습니다. 오픈소스도 아닙니다.

경로 2: 링 어텐션(LWM, LongVILA)

링 어텐션은 긴 시퀀스(sequence)를 여러 장치에 "링(ring)" 형태로 분산합니다. 각 장치는 하나의 청크(chunk)를 가지고 있고, 전체 시퀀스에 대한 어텐션은 각 장치가 자기 청크를 다음 장치로 보내는 링 패턴으로 수행됩니다. 장치들은 부분 어텐션(partial attention)을 계산하고 그 결과를 합칩니다.

LWM(Liu et al., 2024)은 이 방식으로 1M 토큰 문맥 모델을 학습했습니다. 학습 계산량은 문맥 길이에 대해 선형으로 증가합니다. 어텐션 자체의 이차 비용(quadratic hit)은 링에 있는 장치들로 분산되어 상쇄됩니다.

LongVILA(arXiv:2408.10188)는 이 패턴을 VLM에 맞게 적용했습니다. 1,400프레임 비디오를 프레임당 192토큰으로 처리하면 268k 문맥이 되며, 이를 8-way 병렬성(parallelism)의 링 어텐션으로 학습했습니다.

경로 3: 토큰 압축(Video-XL, LongVA)

강행 문맥보다 저렴한 방식은 LLM이 시퀀스를 보기 전에 강하게 압축하는 것입니다.

Video-XL(arXiv:2409.14485)은 비주얼 요약 토큰(visual summary token)을 사용합니다. N프레임으로 구성된 각 클립은 N프레임 전체를 어텐션하는 하나의 "요약" 토큰을 만듭니다. 추론 시 LLM은 클립마다 요약 토큰 하나만 보므로 문맥이 크게 줄어듭니다.

LongVA는 "긴 문맥 전이(long context transfer)" 기법으로 LLM 문맥을 200k에서 2M까지 확장합니다. 긴 문맥 텍스트로 학습한 뒤, 공유 표현(shared representation)을 통해 긴 문맥 비디오로 전이합니다.

토큰 압축은 특정 타임스탬프(timestamp)의 회상률을 희생하는 대신 확장성을 얻습니다. 모델은 대체로 무슨 일이 있었는지는 알지만, 정확한 프레임은 때때로 놓칩니다.

경로 4: 에이전트식 검색(VideoAgent)

전체 비디오를 LLM에 넣지 않습니다. 대신 비디오를 데이터베이스(database)처럼 다루고, LLM이 그 데이터베이스를 질의(query)하게 합니다.

VideoAgent(arXiv:2403.10517)의 흐름은 다음과 같습니다.

  1. LLM이 질문을 읽습니다.
  2. LLM이 검색 도구(retrieval tool)에 관련 클립을 요청합니다. 예를 들어 "고양이가 나온 구간을 보여줘"라고 묻습니다.
  3. 도구가 일치하는 클립 타임스탬프를 반환합니다.
  4. LLM이 그 클립들을 VLM으로 읽습니다.
  5. LLM이 답을 구성하거나 후속 질의를 요청합니다.

이는 긴 비디오에 LLM-as-agent 패턴을 적용한 것입니다. 추론 비용은 더 저렴합니다. 관련 클립만 인코딩하기 때문입니다. 대신 엔지니어링은 더 어렵습니다. 검색 품질(retrieval quality)이 병목이 됩니다.

바늘 찾기 벤치마크

표준 긴 문맥 테스트는 비디오의 무작위 지점에 고유한 비주얼 또는 텍스트 마커(marker)를 삽입한 뒤, 그것을 회상해야만 답할 수 있는 질문을 던지는 방식입니다.

지표는 비디오 길이와 마커 위치에 따른 Recall@k입니다.

Gemini 2.5 Pro는 최대 90분짜리 비디오에서 99% 이상의 회상률을 보입니다. 공개 72B 모델(Qwen2.5-VL-72B, InternVL3-78B)은 30분에서 약 85-90%를 기록하고, 60분을 넘기면 성능이 떨어집니다.

VideoAgent는 2시간 이상에서 원시 문맥 모델과 비슷하거나 더 나은 성능을 낼 수 있습니다. 검색 도구가 바늘을 잘 찾아낸다면, 전체 문맥을 모두 넣지 않아도 되기 때문입니다.

어떤 경로를 고를 것인가

15분짜리 클립에서 최전선 정확도(frontier accuracy)가 필요하다면 공개 72B + 네이티브 문맥(native context)이 보통 충분합니다. Qwen2.5-VL-72B를 고릅니다.

30분에서 1시간 콘텐츠라면 공개 모델에서는 LongVILA나 Video-XL을, 폐쇄형 모델에서는 Gemini 2.5 Pro를 고려합니다. 품질 기준이 최전선이면 폐쇄형 모델로 갈 가능성이 큽니다.

2시간 이상 콘텐츠라면 VideoAgent 또는 유사한 검색 패턴을 사용합니다. 대안으로는 더 작은 청크로 요약한 뒤 계층적 요약(hierarchical summaries)을 입력하는 방법이 있습니다.

2026년 프로덕션 패턴

실제 프로덕션 장편 비디오 파이프라인은 보통 하이브리드(hybrid)입니다.

  1. 전체 비디오에 동적 FPS 샘플링 + 공격적 풀링을 적용합니다. 예를 들어 100k 토큰짜리 전역 표현(global representation)을 얻습니다.
  2. 72B VLM에 전달해 전역 요약(global summary)을 만듭니다.
  3. 사용자가 세부 질문을 하면 그 요약을 인덱스(index)로 삼아 에이전트식 검색을 실행합니다.

이 방식은 전체 이해에는 강행 문맥을, 지역적 세부 정보에는 검색을 결합합니다.

사용해보기

code/main.py는 다음을 포함합니다.

  • 1분부터 3시간까지 다양한 길이의 비디오에 대해 FPS와 풀링을 바꿔 토큰 예산을 계산합니다.
  • 바늘 찾기 실행을 시뮬레이션합니다. 무작위 타임스탬프에 마커를 삽입하고 질문을 던진 뒤, 회상률을 점수화합니다.
  • 특정 클립을 선택해 하위 VLM에 넘기는 에이전트식 검색 라우터 시뮬레이터를 포함합니다.

예산 표를 실행해 보면 규모 차이가 바로 느껴질 것입니다.

산출물 만들기

이 lesson은 outputs/skill-long-video-strategy-planner.md를 만듭니다. 비디오 길이와 질의 복잡도(query complexity)가 주어지면 강행 문맥, 압축, 에이전트식 검색 중 무엇을 쓸지 고르고, 지연 시간과 품질 기대치를 계산합니다.

연습문제

  1. 45분짜리 강의를 1 FPS, 프레임당 81토큰으로 처리합니다. 전체 토큰 수는 얼마입니까? 어떤 모델의 문맥에 들어갑니까?

  2. 바늘 찾기 테스트를 설계합니다. 몇 분 지점에 마커를 삽입하겠습니까? 정확한 질의 형식은 무엇입니까?

  3. 1시간짜리 비디오에서 강행 문맥 Qwen2.5-VL-72B(80k 문맥)와 VideoAgent(Claude 3.5 + 검색)를 비교합니다. 회상률은 어느 쪽이 더 낫습니까? 지연 시간은 어느 쪽이 더 낫습니까?

  4. 링 어텐션의 메모리 비용은 시퀀스 길이에 대해서도 선형이고 장치 수에 대해서도 선형으로 증가합니다. 왜 그런지, 그리고 링 회전(ring-rotation) 단계를 제거하면 무엇이 실패하는지 설명합니다.

  5. Gemini 1.5 논문의 Section 5에서 바늘 찾기 결과를 읽습니다. 논문은 1M 토큰과 10M 토큰 경계에서의 회상률에 대해 무엇을 발견했습니까?

핵심 용어

용어흔한 설명실제 의미
강행 문맥(Brute context)"그냥 토큰을 더 많이 넣기"LLM 문맥을 수백만 토큰까지 확장하고 모든 것을 한 번에 처리하는 방식
링 어텐션(Ring attention)"LWM 방식 병렬 처리"각 장치가 청크를 들고 링처럼 회전시키며 전체 시퀀스 어텐션을 분산 계산하는 패턴
토큰 압축(Token compression)"요약 토큰"LLM 전에 학습된 압축기로 클립별 토큰 수를 줄이는 방식
바늘 찾기(Needle-in-haystack)"NIH 테스트"무작위 지점에 고유 마커를 넣고 테스트 시 모델이 그것을 회상하는지 확인하는 평가
에이전트식 검색(Agentic retrieval)"LLM이 질의 계획자가 되는 방식"LLM이 관련 클립을 검색 도구에 요청하고, VLM으로 읽은 뒤 답을 구성하는 방식
VideoAgent"비디오 검색 패턴"질문 -> 도구 -> 클립 -> 답변으로 이어지는 대표적인 에이전트식 검색 설계

더 읽을거리

실습 코드

이 강의의 실습 코드 1개

main
Code

산출물

이 강의에서 생성된 프롬프트, 스킬, 코드 산출물 1개

long-video-strategy-planner

Pick brute-context, ring-attention, token-compression, or agentic-retrieval for a long-video understanding task and compute latency + recall expectations.

Skill

확인 문제

3문제 · 모두 맞추면 완료 표시가 가능합니다

1.프로덕션에서 백만 토큰 장편 비디오의 가장 중요한 설계 원칙은?

2.백만 토큰 장편 비디오가 올바른 선택이 아닌 경우는?

3.백만 토큰 장편 비디오는 AI 생태계에 어떻게 들어맞나요?

0/3 답변 완료

추가 문제 풀기

AI가 강의 내용을 바탕으로 새로운 문제를 생성합니다