시각적 대규모 활성화는 모든 LVLM에서 생기지 않는다
Mind the Spike: Mechanisms and Brittleness of Visual Massive Activations in Large Vision-Language Models
무엇인가
대규모 활성화(massive activation)는 소수의 고정된 은닉 채널에 통상 크기의 수천 배 값이 찍히는 현상으로, 텍스트 전용 LLM에서는 입력과 무관하게 초기 레이어의 고정된 첫 위치에서 나타난다. LVLM은 이런 스파이크 채널을 텍스트 베이스로부터 물려받고 이미지 토큰도 같은 차원에서 거대해질 수 있는데, 시각적 스파이크는 이미지마다 위치가 달라지고 배경 영역에 주로 생기며 뒤따르는 텍스트 프롬프트와 무관하다는 것까지만 알려져 있었다. 이 논문이 던지는 질문은 네 가지다. 모든 LVLM과 모든 이미지에서 시각적 스파이크가 형성되는가, 모델 어디에서 형성되는가, 무엇이 트리거인가, 그리고 이미지 섭동에 어떻게 반응하는가. 저자들은 이 질문이 실무와 직결된다고 본다. attention sink는 롱컨텍스트·스트리밍 추론, 양자화, KV 캐시 압축에 이미 활용되고 있고, LVLM에서는 KV 캐싱·토큰 프루닝·어텐션 재분배·워터마킹의 근거가 된다. 또한 거대한 값은 은닉 표현의 노름·거리·유사도를 지배해 프로젝터 기하 분석, 토큰 희소성, 개념 방향, 안전 분석의 거부(refusal) 방향 연구 결과를 조용히 왜곡할 수 있다.
어떻게 동작하나
실험 규모는 이전 연구와 비교해 눈에 띄게 넓다. 10개 패밀리, 18개 공개 텍스트 전용 베이스 위에 어댑터 방식으로 얹은 25개 LVLM을 2B에서 72B 파라미터까지 아우르고, 각 LVLM을 자기 텍스트 베이스와 나란히 분석해 시각 적응 과정에서 무엇이 상속되고 무엇이 바뀌는지 분리한다. 기본 평가는 COCO 검증 이미지 300장에 짧은 질문을 붙인 형태이고, 이미지 토큰의 잔차 상태를 디코더 블록마다 기록한다. 스파이크 판정은 두 비율로 한다. Ψ는 해당 레이어 전체 토큰·채널 중앙값 대비 스파이크 채널 최대값, φ는 토큰 자체의 RMS 대비 스파이크 채널 최대값이다. 원래의 대규모 활성화 기준은 깊은 레이어에서 Ψ≥1,000이고 절대 크기가 100 이상인 이미지 토큰이 있을 때 그 이미지가 스파이크한다고 선언하며, 언어모델에 들어갈 때 스파이크 채널 값이 100 미만인 토큰만 후보로 인정한다. 어텐션 sink는 대규모 활성화와 독립적으로 측정한다. 이미지 뒤 텍스트 쿼리들에 대해 헤드 평균을 낸 어텐션 수신량이 이미지 토큰 합의 30% 이상인 경우를 sink로 본다.
무엇과 다른가
핵심 결과 하나는 시각적 스파이크가 보편적이지 않다는 것이다. 300장 기준으로 15개 모델은 단 한 장에서도 스파이크하지 않고, 나머지 10개는 발생률이 1.7%에서 100%까지 퍼진다. 두 군집은 최대 피크로도 분리된다. 비스파이킹 모델의 최대값은 877 이하, 스파이킹 모델은 최소 5,278이다. 반면 널리 쓰이는 채널 집중도 기준 φ≥20은 25개 중 21개 모델에서 이미지 토큰의 83~100%를 선택해 23개 모델이 모든 이미지에서 스파이크하는 것처럼 보이게 만든다. 같은 포워드에서 Ψ≥1,000은 토큰의 최대 1%만 고른다. 독립적으로 측정한 어텐션 sink는 분리를 지지한다. 스파이킹 모델 9개를 모아 보면 스파이킹 포워드의 96.7~97.6%에서 sink가 형성되고 거의 항상 스파이크 토큰에 걸리며, 나머지 포워드에서는 1% 미만이다. 스파이크를 실제로 쓰는 블록을 저자들은 visual switch라 부른다. 스파이킹 10개 모델 각각에서 한 블록이 이미지 토큰의 스파이크 채널 값을 수십에서 수천으로 끌어올리고 그 값이 마지막 레이어까지 유지되는데, 이 스위치는 10개 중 9개에서 텍스트 스위치보다 깊은 곳에 있다. 텍스트 스위치는 위치 0에서 노름만 충분히 작으면 방향과 무관하게 켜지지만, 시각 스위치는 입력이 트리거 방향에 정렬될 때 켜진다. 또 시각 스파이크는 텍스트 스파이크의 attention sink에 의존한다. 최종 스파이크 토큰이 텍스트 스파이크 토큰에 주는 어텐션을 차단하면 75~100%의 이미지에서 시각 스파이크가 억제된다.
어떻게 쓰나
트리거 방향은 가중치에서 직접 추정한다. 스파이크 채널 d의 writer 벡터 w_d와 블록의 은닉 활성 h(u), 그리고 그 채널에 쓰는 부호 s_d에 대해, 단위 구 위에서 s_d·w_dᵀh(u)를 최대화하는 방향 t를 구한다. SwiGLU 활성함수를 항등으로 바꾸면 Sun 등(2026)의 이차형식이 되고 그 최대화자는 측정된 쓰기 부호의 주 고유벡터이므로, 고유방향은 이 일반해의 특수 근사가 된다. 실제로 추정된 트리거는 모든 체크포인트에서 고유벡터와 코사인 0.999~1.000으로 일치한다. 스위치 입력에서 최종 스파이크 토큰은 t와 중앙값 코사인 0.08~0.62를 보이는 반면 다른 토큰의 99%는 0.05 미만이고, 정렬 순위는 75~100%의 스파이킹 이미지에서 최종 스파이크 토큰을 1위로 올린다. 위치 규칙도 하나 더 나온다. 디코더가 돌기 전, 최종 스파이크 토큰은 나머지 이미지와 가장 적게 공유하는 토큰에 거의 한정된다. 토큰 x_i와 나머지 토큰 평균 m_-i의 스칼라 투영 p_i를 공유 성분으로 정의하면, 이 값은 이미지 내 랭킹 기준 중앙값 AUC 0.893, FPR@95 28%로 노름(0.850, 48%)이나 방향(0.824, 78%)보다 낫다. 최종 스파이크 토큰은 스파이킹 이미지의 43~97%에서 최소 공유 10% 구간에 들어가고(우연이면 10%), 71~100%에서 최소 공유 25% 구간에 들어간다(우연이면 25%). 배경 선호라는 기존 관찰보다 훨씬 정밀한 규칙이다. 이미지의 10분의 1 크기 영역의 토큰들을 10분의 1로 축소하면 6개 모델에서 33~79%의 스파이킹 이미지에서 스파이크가 그 영역으로 끌려온다(깨끗한 포워드에서는 9~19%).
전제와 한계
이 논문의 두 번째 축은 취약성이다. 텍스트 스파이크가 고정 위치에서 반복되는 것과 달리 시각 스파이크는 이미지 토큰 궤적에 의존하며, 작은 이미지 변화가 스파이크를 만들거나 없애거나 옮긴다. 10개 스파이킹 모델, 6종 손상, 모델·연산자당 200개 질문에서 생성 3,152건 대 제거 476건이 관찰됐다. 즉 손상은 전반적으로 발생률을 높인다. 발생률만 보면 취약성을 과소평가한다. Qwen3-VL-32B에서 밝기 증가는 발생률을 0.41에서 0.39로 거의 바꾸지 않았지만 39개 질문은 스파이크를 얻고 43개는 잃었다. 손상 전후 모두 스파이크하는 포워드 중 스파이크 토큰이 바뀌는 비율은 Qwen3-VL-4B·8B·32B에서 85~100%, Molmo2-8B에서 96~100%다. 저자들은 트리거를 이용한 화이트박스 공격도 만든다. 스위치 입력에서 트리거와의 코사인에 대한 logsumexp와, 스위치 출력의 부호 있는 스파이크 채널 값에 대한 logsumexp(τ1=0.02, τ2=50)를 부호와 함께 최대화하는 ℓ∞ 제약 섭동을 ε/4 크기의 signed-gradient 스텝으로 최적화하고, 스파이크 판정이 뒤집히는 첫 스텝에서 멈춘다. 목적함수에도 정지 규칙에도 모델의 답은 들어가지 않는다. 1/255 예산(8비트 채널당 1단계)만으로 스파이킹 10개 모델 중 9개에서 성공하고, 입력이 스파이크하지 않던 8개 모델에서 53~100%의 적격 이미지에 스파이크를 생성하며, 같은 8개 모델과 Pixtral-12B에서 95~100%의 적격 이미지에서 스파이크를 제거한다. 그런데도 예/아니오 답은 시도의 93~100%에서 그대로다. VQAv2 정확도는 절대값 0.6~4.9%p 움직이고 CIDEr는 -0.10에서 +0.11 사이에 머문다. 답만 보면 드러나지 않는 내부 취약성이다.
마지막으로 예방적 개입을 제안한다. 기존 개입이 스파이크가 쓰인 뒤에 손대는 것과 달리, 스위치의 피드포워드가 읽는 입력에서 트리거 성분만 사영 제거한다. 스위치 어텐션 서브블록 이후의 이미지 토큰 잔차 x̄_i에 대해 x̄_i' = x̄_i - (tᵀx̄_i)t를 모든 이미지 토큰에 적용한다. 잔차 연결은 그대로 x̄_i를 나르고, 가중치는 건드리지 않고, 토큰을 지우지도 않는다. 깨끗한 POPE 입력에서 10개 모델 중 6개는 스파이크를 완전히 제거하고 나머지는 발생률을 45~81% 줄인다. 6종 손상 전반에서 억제가 유지되고, 정확도는 원본 모델 대비 4%p 이내다. 공격이 만들어낸 스파이크도 8개 중 5개 모델에서 제거된다. 과제 출력 변화는 작다. 깨끗한 POPE 답 1,600개 중 1,599개가 동일하고, VQA 정확도는 최대 0.006, CIDEr는 최대 0.010 움직인다. 다만 Molmo2-8B와 Pixtral-12B는 자유 형식 출력이 더 크게 바뀌어 캡션을 각각 53%, 13%만 유지한다(같은 랭크의 무작위 방향을 제거했을 때는 88%, 63%). 개입의 특이성도 확인된다. 피드포워드 입력을 0으로 만들면 스파이크는 사라지지만 피드포워드 출력 자체가 죽고, 무작위 방향을 제거하면 스파이크는 그대로다. 트리거 제거는 평범한 이미지 토큰의 피드포워드 출력을 토큰 중앙값 코사인 0.999, 노름비 1.000으로 거의 보존한다.
개발자 관점에서 이 논문이 바꾸는 것은 전제다. attention sink나 대규모 활성화를 KV 캐시 압축, 토큰 프루닝, 양자화 스케일 산정, 워터마킹의 근거로 삼는다면, 먼저 자기 모델이 스파이킹 체제인지 비스파이킹 체제인지 확인해야 한다. 25개 중 15개는 아예 스파이크하지 않았고, 같은 베이스를 공유하는 LVLM이라도 적응 방식에 따라 발생률이 최대 87%p 달라졌다. 어텐션 구현 두 가지를 바꾸면 200회 포워드 중 최대 35회가 편을 바꾸지만 체제 자체는 바뀌지 않았다. 또 하나는 판정 지표다. 채널 집중도 φ≥20 같은 지표는 거의 모든 이미지 토큰을 스파이크로 표시해 두 체제를 구분하지 못하므로, Ψ와 절대 크기 기준을 함께 봐야 한다. 마지막으로 스파이크의 존재와 위치는 별개로 측정해야 한다. 발생률이 안정적으로 보여도 스파이크 토큰은 손상 후 85~100%에서 다른 토큰으로 옮겨간다.
저자들이 명시한 한계는 분명하다. 스파이크의 기능적 역할은 여전히 미해결이다. 10개 스파이킹 모델 중 8개에서 스파이크를 억제해도 동작이 거의 그대로였고 나머지 2개에서는 자유 형식 출력이 크게 바뀌었는데, 이 변화만으로 스파이크가 유용한 계산을 지탱한다거나 그렇지 않다고 결론지을 수 없다. 답이 안정적이라는 사실도 다른 조건에서의 역할을 배제하지 못한다. 다중 이미지 추론과 비디오에서 시각적 대규모 상태가 언제 기여하는지는 향후 과제로 남긴다. 공격은 모델 가중치, visual switch, 트리거를 모두 요구하는 화이트박스이며 공개 체크포인트와 공개 벤치마크 이미지에서만 평가했고, 답을 최적화하지 않는다. 재현성 측면에서 전체 실험 비용은 약 53 B200-시간(공격이 약 23시간, 대부분 Molmo2-8B와 InternVL3.5-38B)이고 2026년 9월 요금 기준 임대 환산 약 360달러라고 밝힌다.