본문 바로가기

LMM 환각을 해결해주는 딱따구리! Woodpecker 논문 리뷰!

들어가며

원문: Woodpecker: Hallucination Correction for Multimodal Large Language Models

 

안녕하세요 퍼펭스쿨입니다! 여러분, LLM이나 LMM 같은 생성 AI 모델의 가장 큰 문제가 무엇일까요? 바로 없는 얘기를 찰떡처럼 지어내는 환각 현상입니다. 오늘 소개할 논문은 마치 딱따구리 처럼, LMM 모델이 거짓말한 부분만 쏙쏙 골라서 고쳐주는 방법을 소개하는 Woodpecker: Hallucination Correction 입니다. 아직 LMM이 생소하신 분들은 이전 리뷰를 보고 와주세요!

 

GPT4 이제 눈까지 떠버렸다👀 GPT-4V 논문 리뷰

 

GPT4 이제 눈까지 떠버렸다👀 GPT-4V 논문 리뷰

들어가며 GPT4가 눈까지 떠버렸습니다. 이 녀석... 이제 언어 뿐만 아니라 이미지도 이해할 수 있게 되었습니다. 10월 11일 마이크로 소프트 연구팀에서 논문 한편을 공개했는데요, 바로 "The Dawn of L

blog.firstpenguine.school

1. 데모

저자들이 공개한 데모를 먼서 살펴보겠습니다. 펭귄이 서핑을 하고 있는 이미지를 주고, 묘사해보라고 시켜봤습니다.

그러면 mPLUG-Owl이라는 LMM은 펭귄이 서핑을 하고 있다고 잘설명을 해줍니다. 그러나 동시에 펭귄이 서핑 슈트를 입고 있고, 바다엔 보트가 가득하다고 환각현상을 일으켰습니다. 이를 Woodpecker 기법을 이용해서 교정해볼까요?

 Woodpecker 기법은 먼저 펭귄과 서핑보드의 위치를 박스로 잘 잡아주었습니다. 그리고 펭귄이 슈트를 입고 있지 않았고 바다엔 배들이 없다고 환각 현상을 교정해줍니다. Woodpecker 기법은 모델의 추가 학습 없이 환각 현상을 해결해줄 수 있습니다. 어떻게 동작하는건지 스텝 바이 스텝으로 살펴볼께요!

2. 기존 할루시네이션 극복 기법

먼저 기존의 LLM의 할루시네이션 현상을 극복하기 위해서 어떤 접근들이 있었는지 살펴보겠습니다. 대표적으로 RLHF와 RAG 기법이 있습니다. 

RLHF은 쉽게 말해 사람의 피드백을 바탕으로 LLM이 더 좋은 답안을 내놓도록 학습시키는 기법입니다. 먼저 프롬프트 하나에 대해서 LLM이 여러가지 답안을 만듭니다. 그 다음, 사람이 직접 보고 어느 답안이 적절한지 선호도를 평가합니다. 이 선호도를 바탕으로 모델이 점점 더 인간이 선호하는 답안을 생성하도록 학습시키는 기법이 RLHF이며, chatGPT에 적용된 기법으로 유명합니다.

 

RLHF 단계에서 모델이 환각 현상을 일으키면 휴먼 라벨러가 선호도를 낮게 평가할 수 있습니다. 이를 충분히 모델에 학습시키면 환각 현상이 줄어든다고 합니다. 다만 인간의 노동력이 많이 필요하고 전체 모델을 학습시켜야 한다는 점에서 한계가 있습니다.

다음으로 많이 사용되는 기법은 RAG(Retrieval Augmented Generation)입니다. 프롬프트를 입력받으면 구글 검색이나 자체 데이터 베이스에 검색해서 관련된 정보를 가져와 프롬프트에 추가해줍니다. 그 다음 답변을 생성하면 환각 현상이 줄어듭니다. 또한 LLM이 사전에 학습한 적 없는 최신 뉴스를 바탕으로 답변을 생성할 수도 있어서 빙챗이나 바드 같은 LLM 서비스에 적용되어 있습니다. 모델의 추가 학습 없이도 환각 현상을 줄일 수 있고, 기업 내부 데이터를 바탕으로 텍스트를 생성할 수도 있어서 많이 사랑받는 기법입니다.

3. Woodpecker

wookdpecker 기법은 이미지와 텍스트를 동시에 입력받는 LMM의 환각 현상을 학습 없이 없애는 기법입니다. 핵심만 정리하면 미리 학습된 컴퓨터 비전 모델을 사용해서 이미지로부터 정보를 추출합니다. 크게 키워드 추출, 질문 생성, 시각 자료로 검증, 시각 자료 수정안 생성, 할루시네이션 교정 다섯 단계로 진행합니다. 

먼저 예제로 사용한 이미지와 LMM의 결과를 살펴보겠습니다. 자전거와 쓰레기 통이 보이는 길거리 사진 이미지를 주고 LMM에게 이미지를 묘사해보라고 시켰습니다. 그랬더니 쓰레기 통 옆에 자전거가 있고 앞바퀴가 살짝 틀어져 있다고 잘 설명해줍니다. 그런데 거리에 사람들이 걸어다닌다는 환각 현상을 일으켰습니다. 그럼 지금부터 woodpecker 기법이 어떻게 환각 현상을 고치는지 알아볼께요!

3.1. 키워드 추출

먼저 LMM이 이미지를 묘사한 결과를 chatGPT 같은 LLM에 전달해서 키워드를 추출합니다. 예시에서는 자전거, 쓰레기통, 사람이라는 키워드를 추출했습니다.

사용된 프롬프트를 잠깐 살펴보면 주어진 문장에서 존재하는 엔티티를 추출하고, 중복없이 일반적인 카테고리로 요약해달라고 지시합니다.

 

3.2. 질문 생성

그 다음, 추출한 키워드를 가지고 질문들을 생성합니다. 이 때 질문에는 2 종류가 있는데, oject level 환각을 잡기 위한 질문과 attribute level 환각을 잡기 위한 질문입니다. object level 질문은 "쓰레기 통이 몇개 있어?", "쓰레기통은 어디에 있어?"와 같이 이미지 안에 특정 물체가 몇개나 있는지, 어디에 있는지 등을 물어보는 질문입니다. attribute level 질문은 "자전거는 무슨 색이야?", "쓰레기통의 오른쪽엔 뭐가 있어?" 와 같이 특징을 물어보는 질문입니다. 

object level 질문들은 비교적 쉽게 만들 수 있는 반면에 attribute level 질문들은 추출된 키워드들에 따라서 굉장히 다양하게 만들 수 있습니다. 때문에 attribute level 질문들을 만드는데 LLM을 이용합니다. 프롬프트는 다음과 같은데 상당히 복잡하죠? 만들어야 하는 질문들을 묘사하고, 예시를 함께 주었다 정도로 이해하고 넘어가면 충분합니다.

3.3. 시각 정보 검증

질문을 만들었으니까 이제 답을 해봐야겠죠? 이를 위해서 미리 학습된 AI 모델들을 활용합니다. 먼저 object level 질문들에 대답하기 위해서 openset object detection 모델인 Grounding DINO를 사용했습니다. 

openset image detection이란 학습 과정에서 본적 없는 새로운 라벨이 주어지더라도 물체를 인식해내는 테스크를 말합니다. 위 예제에서는 ear, lion, bench라는 임의의 라벨이 주어지더라도 잘 인식합니다. 이를 이용해서 물체가 몇개나 있는지, 어디에 있는지와 같은 질문들에 대답하는데 필요한 정보를 추출합니다.

다음으로 attribute level 질문들에 대답하기 위해서 미리 학습된 VQA 모델을 사용합니다. VQA는 이미지와 질문이 주어지면 답변을 생성하는 모델입니다. 일반적으로 VQA 모델이 LMM에 비해서 이미지에 대해서 더 적은 설명을 생성하지만, 환각 현상을 훨씬 덜 일어나는 것으로 알려져있습니다. 이를 이용해서 attribute level 질문들에 대한 답변을 생성해줍니다.

3.4. 수정 요청 생성

질문을 만들고, AI 모델들을 이용해서 답도 했다면 이제 LMM의 환각 현상을 해결해야겠죠? object level 환각을 해결하기 위해서 먼저 detection 모델로 찾아낸 물체들의 종류와 개수를 텍스트 형태로 프롬프트에 넣어줍니다. 없으면 없다고도 넣어주면 됩니다.

 

다음으로 attribute level 환각을 해결하기 위해서 QA to claim이라는 모델을 사용합니다. LMM의 결과와 VQA 모델의 결과를 입력으로 받으면 어떤 부분을 수정해야하는지를 출력으로 내주는 모델입니다.

3.5. 환각 현상 수정

어느 부분을 수정해야할지 알았으면 이제 LLM을 이용해서 환각 현상을 수정해보겠습니다. LMM의 결과와 object level 수정 제안, attribute lebel 수정 제안을 모두 입력하여 환각 현상을 교정합니다. 이 때, 해석 가능성을 위해서 수정할 때 참고한 물체에 바운딩 박스를 같이 그려달라고 요청을 넣습니다.

4. 실험 결과

환각 현상을 고쳤으면 이제 성능이 얼마나 개선되는지 확인해봐야 겠죠? 논문에서는 여러 벤치마크에 대해서 실험해보고, woodpecker 기법으로 환각을 고친 결과 더 뛰어난 성능을 냈다고 소개했습니다. 다만 각각의 벤치마크들이 단편적인 부분만 평가해서 그다지 와닿지 않았습니다. 그보다는 GPT-4V를 이용해서 성능을 평가한 부분이 인상적이어서 소개해보겠습니다.

먼저 이미지와 프롬프트를 주고 LMM을 이용해서 답변을 생성합니다. 그 다음 woodpecker 기법을 이용해서 환각 현상을 수정한 다음, 두 답안을 GPT-4V에게 전달하고 각각의 정확도와 디테일을 10점 만점으로 평가해달라고 했습니다.

Method로는 네가지 LMM이 사용되었습니다. 그리고 w/Ours에 체크가 된 건 Woodpecker 기법을 적용한 겁니다. 그 결과 모든 모델들에서 Acuracy와 Detailedness가 개선되는 것을 확인할 수 있습니다.

정리

여기까지 LMM의 환각 현상을 모델 학습없이 해결할 수 있다고 해서 화제가 된 Woodpecker 논문을 리뷰해보았습니다. 하나씩 뜯어보면 사실 미리 학습된 컴퓨터 비전 모델들을 여러개 사용해서 이미지로부터 정보를 추출하고, LLM을 이용해서 환각 현상을 제거하는 방법이었습니다. 마치 RAG를 LMM에 적용한 느낌이죠?

 

사실 이정도면 환각 현상 수정이 아니라 아예 새로 인퍼런스를 하는게 낫지 않을까? 싶을 정도로 파이프라인이 복잡해서 아쉬움이 남았던 논문입니다. 더 심플하게, 더 적은 단계로 환각을 줄일 수 있는 기법들이 앞으로 계속 등장하지 않을까 기대해보면서 마치겠습니다.

 

저는 다음에 더 재미있는 AI 논문 리뷰로 돌아오겠습니다. 펭바~