Foresight가 재학습 없이 스트리밍 VLM의 미래 지각을 계획한다

Foresight: planning future perception in streaming VLMs without retraining

HF Daily2610.03123

Ashok Prasad Neupane, Dipan Bartaula, Ankit Belbase2026-10-02

무엇인가

실시간 영상 스트림을 보는 VLM은 지금까지 들어온 프레임을 계속 처리하지만, 추론이 진행되는 동안 계산 경로 자체는 고정되어 있다. 그런데 장면의 역동은 계속 변하고, 미래의 어떤 사건은 더 많은 지각을, 어떤 사건은 다른 형태의 지각을 요구한다. 저자들은 이 간극을 문제로 잡는다. 라이브 영상을 보는 에이전트는 새 관측을 계속 처리하면서, 지금 가진 증거가 답하기에 충분한지, 다음에 무엇을 확인해야 하는지, 진화하는 장면에 얼마만큼의 계산을 배분할지를 스스로 결정해야 한다. 기존 스트리밍 VLM은 응답 시점을 학습하거나, 프레임 샘플링·토큰 프루닝으로 스텝 비용을 줄이거나, 메모리를 압축하는 식이었다. 저자들은 이들이 모두 '이미 도착한 것'에 반응해 계산을 제어한다고 지적한다. 진짜 필요한 것은 아직 오지 않은 증거를 기다렸다가 그때 확인하는 결정이고, 그 기다림은 모델 스스로 계획해야 한다는 것이다.

어떻게 동작하나

논문의 핵심 주장은 스트리밍 VLM이 이미 장면을 충분히 이해하고 있어서 '무엇이 아직 빠졌는지'를 알고, 그 정보가 언제 나타날지, 나타나면 무엇을 확인할지도 추정할 수 있다는 것이다. 그래서 예측(anticipation)을 채점 대상이 아니라 계산을 제어하는 수단으로 쓴다. 각 추론 스텝에서 모델은 남은 불확실성을 식별하고, 다음에 언제 다시 볼지 정하고, 그때까지 얼마나 촘촘히 샘플링할지 정한다. 스트리밍 추론은 고정된 계산 시퀀스가 아니라 닫힌 루프가 되고, 모델의 현재 상태가 미래를 어떻게 처리할지 결정한다.

무엇과 다른가

구조는 가중치·입력 인코더·KV 캐시를 공유하는 쌍둥이(Siamese) LLM 두 개로 이루어진 이중 스트림이다. Ingest LLM은 태스크 쿼리와 각 프레임의 시각 토큰을 도착 순서대로 공유 KV 캐시에 쓰는 유일한 writer이며, 계획을 기다리지 않고 계속 돈다. Think LLM은 같은 캐시의 읽기 전용 스냅샷을 읽고 앞으로의 스트림을 위한 계획을 쓴다. 둘 사이의 통신 채널이 공유 KV 캐시이고, 메모리 예산을 지키기 위해 오래된 항목은 슬라이딩 윈도로 축출하거나 계획이 요청할 때 압축한다. Live Executor는 계획을 받아 파이썬 프로그램으로 시스템을 재구성하며, 어떤 이벤트가 언제 있었는지에 대한 기억을 유지한다. Vision Gate는 계획이 정한 프레임 레이트로 스트림을 샘플링하고(관련 사건이 없을 때는 성기게, 사건이 예상될 때는 촘촘하게), Vision Encoder는 admit된 프레임만 인코딩한 뒤 keep class·ignore class를 받아 관련 없는 부분의 토큰을 프루닝한다. 클래스 라벨이 토큰에 붙어 있지 않으므로, 컨트롤러가 준 클래스 이름을 같은 얼린 모델로 임베딩해 시각 토큰 표현과 유사도를 비교하는 방식으로 관련도를 추정한다. 별도 검출기나 추가 학습 모듈이 필요 없다.

어떻게 쓰나

계획은 π_t = (s_t, u_t) 형태다. 제어 필드 u_t에는 적응적 프레임 레이트를 정하는 FPS, 주의할 객체를 지정하는 keep class·ignore class, 컨텍스트 압축 신호 Compact Now, 다음에 언제 Think LLM을 깨울지 정하는 Next Check, 그때 무엇을 볼지 정하는 Next Question이 들어간다. 사용자 응답 필드 s_t에는 증거가 충분한지(Have enough info), 사건이 언제 있었는지(Event time), 답변(Answer)이 들어간다. 제어 필드는 상시 상태 U에 merge되어 명시적으로 바뀌기 전까지 유지되지만, 증거·응답 필드는 merge로 지속되지 않고 매 계획 스텝마다 현재 스트림 상태에서 다시 계산된다. 디코딩에서 설정 필드는 자기회귀적으로 생성하고, 불리언 결정은 텍스트로 디코딩하지 않고 해당 위치에서 yes/no 토큰의 로짓 비율 p = e^z_yes/(e^z_yes + e^z_no)을 확률 프로브로 읽어 응답 트리거로 쓴다. 첫 계획 스텝은 전체 계획을 디코딩하고, 이후 스텝은 현재 계획에 대한 diff만 디코딩해 바뀌는 필드만 덮어쓴다.

전제와 한계

실험은 얼린 Qwen3-VL-8B 하나를 감싸서 수행하며 가중치는 모든 실험에서 고정된다. 개별 프레임 대신 Qwen3-VL의 기본 비디오 입력 파이프라인을 써서 admit된 연속 프레임을 2프레임 클립으로 묶어 비디오 입력으로 넣는다. OmniPro Online 모드에서 Foresight는 평균 joint F1 23.0을 기록해 가장 강한 학습 베이스라인 MiniCPM-o 4.5의 13.5를 크게 앞선다(초록 기준 9.5% 개선). 정시 응답의 타이밍 F1은 43.7, 내용 정확도는 54.6이며, 응답은 정답이면서 주석된 사건 시각 ±3초 안에 도착해야 인정된다. 일반 스트리밍 이해에서도 백본을 StreamingBench에서 6.7점 끌어올려 SOTA를 기록했고, OVO-Bench에서는 15.4점 향상됐다. 가장 큰 이득은 18.7점으로, 답이 영상 뒤늦게 나타나는 Forward Active Responding에서 나왔다. 응답 임계값만 데이터에 맞춰 피팅하는데, 각 벤치마크를 무작위로 20% 캘리브레이션·80% 평가로 나눠 태스크별 증거 임계값 θ_task, 게이트 발화·재무장 임계값 θ_hi > θ_lo, 응답 간 불응 기간을 정한다. 모든 실험은 NVIDIA GH200 Grace Hopper GPU 4장에서 돌았다.

개발자 관점에서 이 논문이 주는 것은 '학습 없는 추론 시점 컨트롤러'라는 패턴이다. 백본 가중치를 건드리지 않으므로 더 강한 VLM이 나오면 같은 컨트롤러를 그대로 얹어 이득을 볼 수 있다는 것이 저자들의 주장이다. 실시간 영상 요약·감시·휴먼-AI 상호작용처럼 응답 시점 자체가 성능인 시스템에서, 학습된 트리거 대신 얼린 모델의 자기 상태로 스케줄을 짜는 접근을 검토할 만하다. 다만 임계값은 태스크별로 캘리브레이션 데이터가 필요하고, 프롬프트 문구에 민감하며, 계획 품질이 백본의 미래 예측·시간 그라운딩 능력에 의존한다는 점을 전제로 깔아야 한다. 또한 캐시 압축·토큰 프루닝이 계획에 따라 켜지고 꺼지는 구조라, 실제 지연 시간과 메모리 예산을 자기 워크로드에서 다시 측정해야 한다.

저자들이 명시한 한계는 세 가지다. 첫째, Foresight의 예측 정확도와 사건 시각 위치 추정은 기반 VLM의 역량에 달려 있고, 컨트롤러가 이 능력에 크게 의존하므로 신뢰성 있는 동작에는 미래 예측과 시간 그라운딩이 강한 VLM이 필요하다. 둘째, 초기 오탐이 한 번 발생하면 이후 관측이 이를 뒷받침하지 않는데도 모델이 계속 그 사건을 보고하는 경우가 있다. Think LLM에 관측·보고 이력을 제공하면 이 현상이 상당히 줄지만 완전히 사라지지는 않는다. 셋째, 컨트롤러가 프롬프트 문구에 민감하게 반응하므로 더 프롬프트 견고한 제어 정책이 향후 과제로 남는다.