[24’ CVPR] OPERA: Alleviating Hallucination in Multi-Modal Large Language Models via Over-Trust Penalty and Retrospection-Allocation

Date:     Updated:

카테고리:

태그:

image


🔍 Abstract

image

CVPR 2024에서 Highlight 받은 논문이라 굉장히 흥미를 가지고 읽었다. 해당 논문 전까지 기존 Multimodal LLM의 Hallucination을 해결하기 위한 방법은 Hallucination을 줄이기 위해 추가 데이터를 사용하거나 외부 지식을 활용하는 방법들에 제한되어 있었다. 그러나 이러한 방법들은 학습 또는 추론에 추가적인 cost가 많이 필요하다. 대신, 저자들은 MLLM의 Attention Matrix를 잘 분석하여 MLLM이 아주 일부의 summary token에만 집중하여 next token prediction을 수행한다는 것을 발견했다. 그러나 summary token에 포함될 수 있는 정보는 제한적이기에 이러한 behavior는 partial over-trust를 초래하고, 이는 Hallucination을 유발한다.

따라서 저자들은 이러한 partial over-trust를 줄이기 위해 Decoding Mechanism을 조작하는 방법을 사용한다. 저자들은 이를 OPERA(Over-Trust Penalty and Retrospection-Allocation Strategy)라고 명명하였다. 이러한 방법은 기존 방식들과 비교하면 거의 “공짜 점심(free lunch)”에 가깝다. 이러한 방법을 통해 Hallucination을 줄이고, MLLM의 해석 가능성을 높일 수 있다. 이제 이러한 방법이 어떻게 작동하는지 알아보자.


1. Aggregation Pattern of MLLM Attention

image

저자들은 MLLM의 Self-attention map에서 많은 hallucinated content가 특정 columnar attention pattern 이후 나타난다는 것을 발견했다. 이를 저자들은 partial over-trust라고 명명하였다. 이러한 partial over-trust는 MLLM이 summary token에만 집중하여 next token prediction을 수행하기 때문에 발생한다. 이 summary token은 보통 full stop ., quotation marks "와 같은 token에 해당한다. LLM에서도 이미 이러한 behavior가 관찰되었고, 이러한 패턴을 aggregation pattern이라 하였다. LLM과 달리, MLLM에서는 이러한 behavior로 인해 Hallucination이 더 심해진다는 점이 문제이다.

image


2. OPERA

2.1. Over-Trust Logit Penalty

위에서 분석한 대로 hallucination과 knowledge aggregation pattern 간에는 밀접한 관계가 있다. 그러나 이 패턴은 hallucination이 일어나는 토큰에서 발생하는 것이 아니라, 몇 개의 토큰이 만들어진 뒤 발생한다. 즉 columnar attention pattern이라는 것을 알기 위해서는 몇 개의 토큰이 생성된 후에야 알 수 있다. 이를 저자들은 hysteresis라고 했다. 따라서 저자들은 over-trust logit penalty를 제안한다. 이 방법은 특정 토큰이 생성된 후에 hallucination이 발생할 확률을 줄이기 위해 해당 토큰의 logit을 줄이는 방법이다. 토큰 생성 후에도 결과를 바꿀 수 있어야 하므로 저자들은 greedy decoding을 사용하지 않고, beam search를 사용한다.

image

방법은 위 그림과 같이 굉장히 간단하다. Decoding되고 있는 Beam Search의 Local Window에서 Attention Pattern을 분석하여 columnar pattern을 탐지할 수 있는 heuristic한 방법을 사용한다. 이러한 패턴이 발견되면 해당 토큰의 logit을 줄인다. 이러한 방법을 통해 Hallucination을 줄일 수 있다. 참고로 이때 Attention은 Last Layer의 Attention을 사용한다.


2.2. Retrospection-Allocation Strategy

Over-Trust Logit Penalty를 통해 columnar pattern의 등장을 줄일 수 있지만 완전히 줄일 수는 없다. 이미 Summary Token이 생성되고, 그것이 Local Window를 벗어난 이후에는 Over-Trust Logit Penalty를 적용할 수 없다. 따라서 저자들은 Retrospection-Allocation Strategy를 제안한다. 이 방법은 이전에 생성된 토큰들을 다시 보고, 해당 토큰들이 Hallucination을 유발하는지 판단하는 방법이다.

image

방법도 굉장히 간단하다. 이전의 몇 개의 Local Window에서 가장 columnar pattern이 잘 관찰되는 token을 voting하고, 이 voting 결과에서 대부분의 Local Window가 동일한 token을 voting하면 해당 token을 Hallucination으로 판단한다. 그리고 해당 sequence를 생성하지 못하게 하고 다시 roll-back하여 생성한다. 이러한 방법을 통해 Hallucination을 줄일 수 있다. 대신, 무한한 반복을 방지하기 위해 Maximum Retrospection Depth $\beta$를 설정한다.


3. Experiments

3.1. Main Results

image image

저자들은 CHAIR, HalluBench(GPT-4), GPT-4V Evaluation, POPE 등을 통해 모델을 평가하였다. Hallucination의 평가가 까다롭고, 특히 LMM에서는 거의 비교할 대상이 없기에 신경쓴 모습이다. 어쨌든 다른 것들에 비해 OPERA는 Hallucination을 줄이는 데 효과적이었다. 추가로 LMM 자체의 성능도 약간 향상되었다고 한다.


3.2. Repetition Elimination

image

LLM 또는 LMM을 사용해본 사람이라면 알겠지만 이러한 모델들은 반복적인 문장을 생성하는 경향이 있다. 이러한 반복은 Hallucination 그 자체이고, OPERA에서는 이것 또한 columnar pattern으로 확인할 수 있다는 것을 밝힌다. 따라서 OPERA는 이러한 반복을 줄이는 데도 효과적이었다. 즉 추가적인 문장을 생성하기보다 <EOS>를 생성하는 것을 implicit하게 guide하는 효과가 있었다.


💡 Summary

OPERA(Over-Trust Penalty and Retrospection-Allocation Strategy)는 Hallucination을 줄이기 위한 굉장히 간단하면서도 효과적인 방법이다. 해당 논문의 내용을 요약하면 다음과 같다.

  • LMM의 Attention Map을 분석하여 Hallucination이 발생하는 columnar pattern과 summary token을 발견하였고, 이는 repetition과도 관련됨
  • Hallucination을 줄이기 위해 Over-Trust Logit Penalty와 Retrospection-Allocation Strategy를 제안함


📃 Reference


Multimodal 카테고리 내 다른 글 보러가기

댓글 남기기