압축 윈도 자동회귀가 밀집 장면 검출의 박스 반복 루프를 끊는다
WinARDet: Compressed Window Auto-Regression for Long-Horizon Vision-Language Grounding
무엇인가
이 논문은 MLLM 기반 검출기가 밀집 장면에서 무너지는 특정 실패 모드를 다룬다. RexOmni나 LocateAnything 같은 모델은 객체 검출을 좌표 토큰의 자기회귀 생성으로 정식화한다. 이미지의 가로·세로 픽셀 좌표를 정규화해 1,000개 구간으로 양자화하고, 언어모델 어휘의 마지막 1,000개 항목(⟨0⟩~⟨999⟩)을 좌표 토큰으로 재활용해 박스 하나를 좌표 토큰 4개로 표현한다. 문제는 한 응답 안에서 수백에서 수천 개 객체를 생성해야 하는 경우다. 저자들은 완전한 히스토리 자기회귀(Full-History Auto-Regression, FHAR) 아래에서 미세조정된 RexOmni가 초반에는 정상 검출을 내다가 결국 동일하거나 거의 동일한 박스를 계속 토해내는 '박스 반복 루프'로 붕괴하는 것을 관측했다. 첫 400개 박스 예측 구간에서 중복률은 약 10%에서 거의 100%까지 치솟고, 새로운 객체를 발견하는 비율은 약 16%에서 거의 0으로 떨어진다. 남은 디코딩 예산이 미검출 객체가 아니라 중복 박스에 소진되면서 재현율은 포화되고 지연만 쌓인다.
어떻게 동작하나
원인 분석은 어텐션 배분에서 나온다. 저자들은 컨텍스트를 시스템·시각·프롬프트·과거 답변 네 영역으로 나누고, 좌표 토큰 쿼리가 각 영역에 할당하는 소프트맥스 정규화 어텐션 질량을 디코딩 내내 추적했다. 과거 답변에 대한 어텐션은 디코딩이 길어질수록 꾸준히 증가하고 반복 루프가 시작되는 지점에서 급격히 치솟으며, 그와 동시에 초기 시스템 토큰에 대한 어텐션이 크게 줄어든다. 초기 시스템 토큰은 자기회귀 디코딩 중 과잉 어텐션을 흡수하는 어텐션 싱크 역할을 하는데, 밀집 그라운딩에서는 계속 불어나는 원시 답변 히스토리가 이 싱크 자리를 반복적인 좌표 패턴으로 밀어낸다는 것이다. 원시 좌표가 컨텍스트를 지배하면 디코더는 이미 생성한 위치 쪽으로 편향되고, 복제된 박스가 다시 히스토리에 추가되면서 편향이 강화되는 자기강화 루프가 완성된다.
무엇과 다른가
제안 방법인 WinAR(Compressed Window Auto-Regression)의 원칙은 '압축해서 기억하고, 국소적으로 생성하라'이다. 길이 T인 정답 시퀀스를 윈도 길이 L로 잘라 K=⌈T/L⌉개의 연속 윈도로 분할하고, k번째 윈도를 생성할 때 토큰 수준의 완전한 자기회귀는 현재 윈도 안에서만 허용한다. 이미 완료된 각 윈도는 윈도 히스토리 압축기 C_φ에 의해 고정 개수의 잠재 토큰 H^(i)=C_φ(Y^(i))로 변환되어 이후 디코딩의 조건이 된다. 생성 확률은 p(y_t^(k) | X, H_<k, Y_<t^(k)) 형태로, 멀티모달 프리픽스 X는 계속 유지되지만 답변 컨텍스트는 원시 좌표 시퀀스가 아니라 압축된 잠재 토큰을 통해서만 자란다.
어떻게 쓰나
압축기는 경계 정보를 의도적으로 보존한다. 고정 길이로 자르면 카테고리 구문이나 기하 구조가 윈도 경계에서 잘릴 수 있으므로, 윈도 양끝 B개 토큰은 압축하지 않고 그대로 출력에 넘기고 가운데 L−2B개 토큰만 압축 대상으로 삼는다. 가운데 토큰은 두 갈래로 처리된다. 한 갈래는 (L−2B)개 토큰을 N개 연속 구간으로 균등 분할해 각 구간을 평균 풀링하여 쿼리를 초기화하는데, 이는 무작위 초기화 대신 각 쿼리에 윈도의 특정 구간 요약을 부여하는 콘텐츠 인지 방식이다. 다른 갈래는 학습 가능한 윈도 내 위치 임베딩을 더한 뒤 선형 투영으로 크로스 어텐션의 키와 밸류를 만든다. 쿼리는 크로스 어텐션과 피드포워드 층을 여러 번 쌓아 정제되고, GELU를 사이에 둔 두 개의 선형 층으로 이루어진 출력 투영을 거친다. 결과적으로 L개 토큰 윈도가 2B+N개 잠재 토큰으로 줄어든다. 균등 분할을 위해 L−2B가 N으로 나누어떨어져야 한다는 제약이 하이퍼파라미터 선택에 걸린다. 학습 시에는 앞선 윈도들이 오직 H_<k로만 표현되고 교차 엔트로피 감독은 현재 윈도에만 적용되며, 압축이 끝난 원시 윈도는 버릴 수 있어 전체 시퀀스 활성값을 유지할 필요가 없다. 추론 시에는 윈도를 완성할 때마다 압축해 명시적 컨텍스트에서 제거하고 다음 윈도를 생성한다.
전제와 한계
실험은 DOTA2와 SODA-A의 학습 집합 합집합으로 학습하고 검증 집합 합집합으로 평가하며, 이미지당 200~2,000개 객체를 담은 RSDense 부분집합을 따로 구성해 극밀집 조건을 측정한다. RexOmni에 WinAR을 붙이면 RSDense에서 F1@IoU=0.5가 32.16에서 39.36으로, 재현율이 36.82에서 45.23으로 오르고, 평균 중복률 R_dup은 35.48%에서 13.00%, 과잉예측률 R_over는 3.14에서 0.87로 떨어진다. 덜 밀집한 DOTA2 & SODA-A에서는 재현율이 66.94에서 68.32로, R_dup이 2.43%에서 1.26%로, R_over가 1.39에서 0.51로 개선된다. 밀집 카테고리에서 효과가 두드러지는데, RSDense의 Ship 재현율은 57.13에서 65.35(F1 51.71→61.74), Small Vehicle 재현율은 22.65에서 30.06(F1 19.94→26.96)으로 올라간다. 병렬 박스 디코딩을 쓰는 LocateAnything에서도 일반화되어, RSDense에서 NTP 방식은 R_dup을 5.90%에서 0.49%로 줄이면서 F1은 54.87 대 54.40으로 비슷한 수준을 유지하고 재현율은 53.87에서 55.42로 올렸으며, PBD 방식은 F1을 26.15에서 27.54로 올리고 R_dup을 14.89%에서 2.13%로 낮췄다. 폴리곤 출력에서도 DOTA2 F1이 47.25에서 48.93(R_dup 6.34%→2.46%), SODA-A F1이 38.64에서 44.00(R_dup 3.72%→1.93%)으로 개선된다.
효율 측면에서 학습 최대 GPU 메모리는 RexOmni-FHAR*의 57.62GB에서 WinAR 42.97GB로 줄어, 48GB A40 8장에서 실험이 가능해진다. LocateAnything 학습에서는 최대 GPU 메모리를 34.1% 줄여 MagiAttention 없이 8장의 A40으로 학습할 수 있다. 다만 추론 처리량 자체는 일관되게 좋아지지 않는다. 윈도 경계마다 히스토리 압축과 KV 캐시 프리필 오버헤드가 붙기 때문인데, 중복 예측이 크게 줄어드는 덕분에 유효 처리량 지표인 Valid Boxes/s는 RexOmni 기준 3.57에서 5.40으로 상승한다. 절제 실험에서는 윈도를 짧게 잡을수록 반복 억제는 강해지지만 정확도와 맞바꿔야 함을 보인다. L을 300에서 100으로 줄이면 R_dup이 5.38%에서 0.89%, R_over가 0.66에서 0.32로 떨어지지만 F1은 44.78에서 43.71로 하락한다. 경계 토큰 보존의 중요성도 확인되는데, L=200에서 경계 보존을 없애고(B=0) 압축 토큰을 20개로 늘려도 (B,N)=(4,6) 대비 F1이 DOTA2 & SODA-A에서 67.22에서 64.82로, RSDense에서 44.56에서 32.47로 크게 떨어진다. 압축기 깊이는 6층이 가장 좋아 DOTA2 & SODA-A 67.97, RSDense 39.36, R_dup 13.00%를 기록했고, 8층은 재현율이 45.23에서 45.75로 조금 오르지만 정밀도가 38.90에서 38.23으로 내려가고 R_dup이 16.87%로 늘어 F1이 39.32로 오히려 낮아진다.
개발자 관점에서 이 논문은 긴 출력 시퀀스를 생성하는 모든 자기회귀 파이프라인에 적용할 만한 진단과 처방을 준다. 모델이 같은 출력을 반복하며 예산을 태우는 현상이 보인다면, 프롬프트나 후처리로 누르기 전에 과거 출력 토큰이 어텐션을 독식하고 있는지 확인할 가치가 있다. WinAR은 모델 구조를 크게 바꾸지 않고 히스토리 표현 방식만 바꾸는 접근이라, 좌표·구조화 출력처럼 형식이 정해진 장문 생성에 이식하기 쉽다. 다만 윈도 길이 L, 경계 B, 압축 토큰 N, 압축기 깊이를 데이터 밀도에 맞춰 튜닝해야 하고, L−2B가 N으로 나누어떨어져야 한다는 제약과 윈도 경계에서의 압축·프리필 오버헤드로 원시 처리량이 나빠질 수 있다는 점은 실무 도입 전에 확인해야 한다.
저자들이 명시한 한계는 두 가지다. 첫째, 히스토리 압축과 윈도 경계 KV 캐시 프리필 오버헤드 때문에 추론 원시 처리량은 일관되게 개선되지 않으며, 이득은 중복 예측 감소를 통한 유효 처리량에서 나온다. 둘째, 압축을 자주 할수록 반복은 억제되지만 국소 컨텍스트가 줄어 정확도와 트레이드오프가 생기므로, 최적 설정은 장면 밀도에 의존한다. 고정 길이 윈도가 카테고리 구문이나 기하 구조를 경계에서 자를 수 있다는 구조적 위험은 경계 토큰 보존으로 완화하지만 제거하지는 못하며, 논문 본문에는 이를 별도의 한계 절로 정리한 서술은 없다.