DeCoPrune이 디노이징 불일치로 비디오 KV 캐시를 85% 줄인다
DeCoPrune: Efficient KV-Cache Pruning for Autoregressive Video Diffusion via Denoising Consistency
무엇인가
자기회귀(Autoregressive) 비디오 확산 모델은 영상을 시간 청크 단위로 순차 생성하기 때문에 스트리밍 생성과 상호작용 제어에 자연스럽게 맞지만, 각 청크가 이전 영상 히스토리의 KV 캐시 전체를 어텐션 대상으로 삼으면서 메모리와 어텐션 비용이 롤아웃 길이에 비례해 계속 커진다. 전체 히스토리를 유지하는 것은 결국 비현실적이 되고, 반대로 과감히 잘라내면 장거리 일관성에 필요한 시각적 증거가 사라진다. 기존 방식은 고정 윈도로 히스토리를 버리거나, 인접 프레임 간 유사도 같은 국소 신호로 토큰을 고르는데, 이런 국소 비교는 멀리 떨어진 히스토리 구간에서 반복되는 객체나 장면을 찾아내지 못한다. 논문이 요구하는 것은 현재 청크를 유지된 컨텍스트 전체와 비교해, 이미 캐시에 표현된 정보와 추가 저장이 필요한 정보를 구분하는 기준이다.
어떻게 동작하나
DeCoPrune의 출발점은 경험적 관찰이다. 네 개의 백본에서 정보량이 많은 사전 컨텍스트가 주어지면 중간 단계의 clean 예측과 최종 디노이징 출력 사이의 불일치가 줄어드는 것을 확인했다. 즉 어떤 토큰의 중간 예측이 이미 최종 출력에 가깝다면 유지된 컨텍스트가 그 토큰을 예측하는 데 필요한 정보를 이미 상당 부분 제공하고 있다는 뜻이므로, 그 KV 엔트리는 제거 후보가 된다. 그래서 이 논문은 불일치가 큰 토큰을 남기고 작은 토큰을 버린다. 구체적으로 청크 i를 정상 생성하는 과정에서 프로브 타임스텝 τ*의 clean 예측 x̂0,i(τ*)를 기록해 두고, 같은 궤적이 최종값 x_i^final을 만들면 토큰별 평균제곱 불일치 ℓ = (1/d)‖x̂0(τ*) − x_final‖²를 계산해 임계값 γ로 이진 마스크를 만든다. 이 마스크는 레이어 전체가 공유한다. 캐시 갱신은 어텐션 가중치를 마스킹하는 수준이 아니라 물리적이다. 초기 sink 청크는 보호하고 최근 w개 청크의 KV는 dense로 유지하며, sink가 아닌 청크가 이 윈도를 벗어날 때 각 레이어에서 선택된 엔트리만 K[m], V[m] 형태로 모아 실제 KV 시퀀스 길이를 줄인다. 점수 계산은 정상 디노이징 궤적의 예측을 재사용하므로 추가 모델 평가나 학습이 필요 없다.
무엇과 다른가
관측된 영상 컨텍스트처럼 디노이징 궤적이 없는 경우를 위한 프리픽스 프루닝도 붙는다. 확정된 컨텍스트 청크를 다시 τ*까지 노이즈로 되돌리고, 원래의 절대 시간 위치에서 앞선 유지 캐시를 조건으로 x0 예측을 구한 뒤 관측된 clean 청크를 기준값으로 삼아 같은 식을 적용한다. 또 하나의 구성 요소는 RoPE 재인덱싱으로, 오래된 컨텍스트 키의 시간 좌표를 t̃(t) = q0 − g(q0 − t) 형태로 고정된 가상 구간에 압축한다. g는 최근 오프셋은 그대로 두고 오래된 것만 선형 압축하며, 토큰·값·공간 RoPE 좌표는 건드리지 않고 키 위상만 바꾼다. 여기에 직교적으로 얹히는 헤드 특화 변형 DeCoPrune-HS는 ForcingKV의 어텐션 기반 헤드 분할을 빌려 동적 헤드는 DeCoPrune을, 정적 헤드는 Streaming 정책을 적용해 압축률을 더 끌어올린다.
어떻게 쓰나
평가를 위해 새로 만든 CMBench는 약 1분 길이의 생성 또는 실제 영상 컨텍스트 58개와 Reappear/Revisit 이어 생성 과제 116개로 구성된다. H3로 생성한 50개 에피소드가 102개 과제를, 실제 영상 8개가 나머지 14개를 담당한다. 생성 컨텍스트는 first–last 프레임 조건으로 만든 10초 클립 6개를 이어 붙여 만들고, 경계 프레임을 전파해 연속성을 유지하며, 클립당 완전한 타깃 이벤트를 최대 하나만 넣어 여러 이벤트가 서로 방해자가 되게 한다. 채점은 컨텍스트에 주석된 참조 프레임과 타깃 바운딩 박스를 기준으로 OWL-ViT로 타깃을 찾고 SAM 2로 분할한 뒤 DINOv2 임베딩 코사인 유사도의 프레임 최댓값을 취한다. 효율 지표로는 청크·레이어·헤드별로 실제 어텐션에 보이는 히스토리 KV 위치 수를 FullKV와 비교해 누적 감소율(PR)을 정의한다.
전제와 한계
실험은 LingBot World v2를 주 백본으로 NVIDIA H200 네 장에서 수행했다. 4스텝 노이즈 스케줄 (999, 957, 899, 702)에서 제로 기반 인덱스 2(τ*=899)를 프로브로, γ=0.10을 임계값으로 썼고, 기본 설정은 832×480, 16 FPS, 청크당 잠재 프레임 4개다. 결과는 DeCoPrune이 DINO 0.6701을 기록하며 누적 히스토리 KV 토큰을 85.43% 줄이고 FullKV 대비 이어 생성 속도를 4.14배 높였다. 헤드 특화 변형은 86.19% 압축률에서 0.6783으로 FullKV의 0.6803에 0.0020 차이까지 접근한다. 같은 예산의 TempDiff보다 0.0472 DINO 높다. 절제 실험에서 동일 압축률(85.31~85.43%)의 Random은 0.6091, 불일치가 작은 토큰을 남기는 역방향 기준은 0.4512에 그쳤고, 역방향 기준이 히스토리 KV의 81.21%를 남겨도(PR 18.79%) 0.5621에 불과해 선택 방향의 중요성이 0.2189 DINO 차이로 드러난다. RoPE 재인덱싱은 먼 히스토리를 보존하는 정책에서 효과가 컸다. FullKV는 0.4385에서 0.6804로, DeCoPrune-HS는 0.6686에서 0.7156으로, Random은 0.5515에서 0.6723으로 올랐지만, 이미 먼 컨텍스트를 버리는 Streaming·DummyForcing·ForcingKV는 거의 변하지 않았다.
개발자 입장에서 이 논문은 이미 학습된 자기회귀 비디오 생성기를 건드리지 않고 추론 파이프라인에 끼워 넣는 캐시 압축 모듈로 읽힌다. 별도 중요도 예측기, 검색 인덱스, 모션 추정기 없이 모델 자체의 디노이징 궤적에서 나오는 신호만 쓰므로, 청크 기반 롤아웃을 돌리는 서빙 스택이라면 프로브 타임스텝 하나와 임계값 γ, 최근 윈도 크기 w만 정하면 된다. 다만 논문이 보고하는 PR은 누적 히스토리 토큰 감소율이지 피크 메모리 절감이나 총 연산량 절감이 아니고, FPS와 배속도 프리픽스 처리를 제외한 이어 생성 구간만 측정한 값이라는 점을 배포 계획에 반영해야 한다.
저자들이 밝힌 전제와 한계도 분명하다. Self-Forcing, Causal Forcing, LongLive 같은 다른 백본은 분 단위 장문맥 생성에 잘 맞지 않아, LongLive는 10초 컨텍스트의 이어 생성 18개 사례에서만 추가 검증했다. 프로브 타임스텝은 넓은 PR 구간에서 DINO 점수가 비슷해 정밀 튜닝이 필요 없다고 주장하지만, 공격적인 압축에서는 성능이 떨어진다. 또한 VBench 같은 일반 화질 지표는 피사체·배경 일관성이 거의 포화 상태로 남아 히스토리 기억 손실에 반응하지 않으므로, 그것만으로 압축 예산을 고르면 안 된다고 지적한다. 윤리 진술에서는 이 기법이 오해를 유발하는 합성 영상 제작 비용도 낮출 수 있고, 컨텍스트와의 일관성이 사실 정확성이나 진위를 보장하지는 않는다고 못 박는다.