CoTA++가 dMLLM 근사 캐시의 반복 저주를 정보 흐름 분석으로 줄인다
CoTA++: Understanding the Repeat Curse in dMLLMs from an Information Flow Perspective
무엇인가
이 논문은 확산 기반 멀티모달 대형 언어모델(dMLLM)의 추론 가속에서 생기는 'Repeat Curse'를 다룬다. dMLLM은 마스크된 응답을 여러 번의 디노이징으로 병렬 갱신하고 양방향 어텐션을 쓰기 때문에 자기회귀 모델의 정확한 KV 캐시를 쓸 수 없고, 인접 스텝의 중간 상태를 재사용하는 근사 캐시에 의존한다. 문제는 이 근사 캐시를 켜면 긴 응답에서 같은 토큰이 인접 위치에 연속으로 반복되어 문장이 깨지는 현상이 최대 99.6% 응답까지 나타난다는 점이다. LLaDA-V, MMaDA, LaViDa와 dLLM-Cache, SlowFast에서 모두 관찰되어 샘플링 우연이 아니라 캐시가 만드는 기계적 손상으로 본다. 저자들은 접두부 갱신 간격보다 접미부의 근사 캐시가 주원인임을 ablation으로 보인다. 접두부 간격을 바꿔도 SRR이 96.8~99.0%에 머물지만, 접미부 갱신 간격을 1에서 7로 늘리면 0.6%에서 96.8%로, 유사도 비율 α를 1에서 0으로 낮추면 0.4%에서 99.8%로 뛴다.
어떻게 동작하나
진단은 토큰, 스텝, 레이어 세 축의 컨텍스트 토큰 정보 흐름을 따라간다. 첫째, 한 스텝 안의 라우팅에서 주변 컨텍스트 토큰이 국소적 앵커 역할을 하는데 캐시가 반복 위치에서 이 앵커링을 분산시킨다. 반복 영역은 멀리 떨어진 영역보다 2.8~7.6배 더 많은 앵커링 손실을 보이고, 캐시가 라우팅을 재사용하는 동안 커밋된 주변 토큰을 놓친 수가 늘수록 손실이 커진다. 둘째, 스텝 간 최신성에서 유사도 기반 갱신은 상태의 노후도를 고려하지 않는다. 반복 위치의 디코드 시점 스테일니스 중앙값은 4로 정상 위치의 1보다 높고, 반복 위치 절반은 스테일니스 3을 넘겨 디코드되는 반면 정상 위치는 4분의 1만 그렇다. 갱신은 커밋된 위치를 선호해 스텝당 40% 대 10%로 고르고, 디코딩 후반에는 아직 마스크된 위치에 0.1% 미만으로 닿아 커밋 직전 위치의 KV 상태가 낡는다. 셋째, 레이어 간 응고에서 반복이 생기는 위치의 컨텍스트 깊은 레이어 엔트로피가 수렴하지 않는다.
무엇과 다른가
CoTA++는 이 세 손상을 각각 발생 지점에서 되돌리는 학습 없는 플러그인 프레임워크다. CTAR(Context-Token Attention Re-anchoring)은 현재 컨텍스트의 키에 대해 어텐션 라우팅을 다시 형성해 캐시가 흩뜨린 국소 앵커링을 복원한다. 단순히 거리 편향을 더하거나 게이트 이득을 주는 방식이 아니라 라우팅 자체를 재형성해야 반복 꼬리가 줄어든다고 비교한다. DAR(Decode-Aware Refresh)은 캐시의 갱신 예산 일부를 곧 커밋될 위치에 예약해 낡은 KV 상태로 토큰을 확정하지 않게 한다. CTEV(Context-Token Entropy-Guided Voting)는 후보의 신뢰도를 그 컨텍스트의 깊은 레이어 엔트로피로 할인해, 응고되지 않은 컨텍스트에서 커밋되는 것을 줄이도록 unmasking 순서를 바꾼다. 세 구성은 한 디코딩 스텝의 서로 겹치지 않는 단계에서 작동해 기존 dMLLM과 캐시 백엔드에 그대로 조합된다.
어떻게 쓰나
실험은 3개 dMLLM, 2개 캐시 백엔드, 3개 응답 길이(64, 128, 512), 9개 벤치마크에서 이뤄진다. CoTA++는 긴 응답의 샘플 반복률(SRR)을 최대 99.6%에서 최대 17.0%까지 낮추고, 길이와 백엔드 평균으로 LLaDA-V 95%, LaViDa 88%, MMaDA 99%의 SRR 감소와 99.5%, 97.7%, 99.9%의 ARR 감소를 보고한다. 어떤 설정에서도 3토큰보다 긴 반복 런이 남지 않는다. LLaDA-V와 dLLM-Cache에서 기존 CoTA는 L=64에서 SRR 2.4%, L=512에서 47.4%를 남겼지만 CoTA++는 0.4%와 8.2%로 낮춘다. SlowFast에서는 기존 CoTA가 L=512에서 286토큰 런을 남겼다. 반복이 구 단위로 옮겨가지도 않아, dLLM-Cache L=512에서 반복 4-gram 비율은 캐시 없이 24.6%, 2.2%, 2.0%이던 것이 캐시에서 37.9%, 7.7%, 14.5%로 오르고 CoTA++에서 20.5%, 2.2%, 1.9%로 돌아온다. 판정 점수도 캐시가 0.22~1.23점 낮추던 것을 CoTA++가 6개 모델-백엔드 조합 모두에서 끌어올려, 캐시 없는 모델과의 차이를 0.34점 이내, 4개 조합에서는 0.04점 이내로 줄인다.
전제와 한계
정확도 회복은 긴 답변 벤치마크에서 두드러진다. 짧은 답변의 MMStar, MME, SEED-Bench, MMBench에서는 캐시 모델과 0.4점 이내(MME 스케일로 14점) 차이를 유지한다. dLLM-Cache에서 LLaDA-V는 DocVQA 13.4점, LLaVA-Bench 21.5점을 잃지만 CoTA++는 둘 다 캐시 없는 모델과 1.8점 이내로 회복한다. MathVerse에서는 LLaDA-V가 잃은 3.1점 중 2.2점, LaViDa가 잃은 6.3점 중 3.8점을 회복하고, MathVista는 4.5점 중 1.3점, LaViDa의 LLaVA-Bench는 4.7점 중 1.3점으로 부분 회복에 그친다. SlowFast에서도 LLaDA-V의 LLaVA-Bench가 37.6에서 53.5로 올라 캐시 없는 51.7을 넘고, LaViDa는 ChartQA 6.3점 중 2.9점, LLaVA-Bench 9.1점 중 5.4점, MathVerse 7.0점 중 3.8점을 회복한다. 효율은 dLLM-Cache가 캐시 없이보다 2.4배 빠른 상황에서 DAR은 1.01배로 사실상 무료, CTAR은 6%, CTEV는 7% 오버헤드를 더해 전체 CoTA++가 캐시 대비 1.15배 지연, 0.9GiB 추가 메모리로 캐시 없는 디코딩보다 2.1배 빠르다.
개발자 관점에서 이 논문은 근사 KV 캐시를 켠 dMLLM 서빙에서 정확도 평균만 보면 놓치는 긴 생성 반복을 별도 지표로 감시해야 한다는 점을 보여준다. 캐시 갱신을 단순 유사도가 아니라 커밋 직전 위치의 최신성과 컨텍스트 응고도를 반영해 스케줄링하고, 어텐션 라우팅을 현재 컨텍스트로 재형성하는 개입이 15% 미만 오버헤드로 캐시 가속을 유지한다. 반복되는 토큰은 기능어 54%, 구두점 33%, 내용어 14%로, 문맥에 의해 정체성이 고정되는 토큰이 먼저 무너진다. 자기회귀식 no-repeat n-gram 패널티는 런 길이를 몇 토큰으로 제한할 뿐 거의 모든 응답의 반복을 남기고 판정 점수도 개선하지 못했으며, 블록 단위 디코딩도 그림을 바꾸지 않았다. 저자들이 밝힌 한계는 공개 가중치 dMLLM과 전용 캐시 기법이 아직 적고 연산 자원이 제한되어 더 많은 캐시 기법이나 더 큰 dMLLM에서 평가하지 못했다는 점이다. 향후 과제로 세 예산을 신호에 따라 적응적으로 배분하는 일과, 세 발견을 dMLLM 학습 및 캐시 설계에 반영하는 일을 남긴다.