I read this because.. : flamingo에서 demonstration 주는 것 보고 multi-modal에서 Infer단계에서 할 수 있는 trick은 뭐가 있나 하고 봄
task : chain-of-thought
problem : 100B 이상의 파라미터를 가진 애들만 CoT 능력이 있더라. 왜 1B는 실패했을까? LLM의 chain-of-thought를 Multi-modal에 그대로 이용하면 hallucination이 등장해서 성능이 오히려 악화되는 현상.
idea : QCM(question / context / multiple choice)를 보고 rationale을 생성하는 모델, rationale과 QCM을 받고 answer를 생성하는 모델 두개를 학습. 아키텍쳐는 같으나 따로 학습한다. 이때 두 모델 모두 vision feature를 추가로 받음.
text-only 모델로 SicenceQA에 대해 one-stage setting(reasoning과 answer를 한번에 뽑게하는?)으로 학습하게 했더니 CoT를 안 한것보다 성능이 안좋아졌다.
이게 왜 이런지 보기 위해서 QCM -> R / QCMR -> A로 나누어 성능을 봤더니 이랬다.
즉 rationale을 잘못 생성하고 있어서 일어난 거였다. 아래 예시를 보면
당연한거긴 한뎅.. 이미지를 안보고 rataionale를 만들라고 하니 이미지와 상반되는걸 본 것처럼 hallucination -> 성능이 떨어짐
Framework
(i) rationale generation과 (ii) answer inference 두 단계로 나누고, 아키텍쳐는 같지만 따로 학습된다(이에 대한 이유는 논문에 있나?)
(i) 단계에서 input은 $X={X^1{language}, X{vision}}$이고 ouput은 rationale인 $R$이다.
(ii) 단계는 생성한 $R$을 concat하여 input X'={concat(X^1{language}, R), X_{vision}} 를 넣고 answer $A$를 생성하게 한다.
paper
TL;DR
Details
Problem
text-only 모델로 SicenceQA에 대해 one-stage setting(reasoning과 answer를 한번에 뽑게하는?)으로 학습하게 했더니 CoT를 안 한것보다 성능이 안좋아졌다. 이게 왜 이런지 보기 위해서 QCM -> R / QCMR -> A로 나누어 성능을 봤더니 이랬다.
즉 rationale을 잘못 생성하고 있어서 일어난 거였다. 아래 예시를 보면
당연한거긴 한뎅.. 이미지를 안보고 rataionale를 만들라고 하니 이미지와 상반되는걸 본 것처럼 hallucination -> 성능이 떨어짐
Framework
(i) rationale generation과 (ii) answer inference 두 단계로 나누고, 아키텍쳐는 같지만 따로 학습된다(이에 대한 이유는 논문에 있나?) (i) 단계에서 input은 $X={X^1{language}, X{vision}}$이고 ouput은 rationale인 $R$이다. (ii) 단계는 생성한 $R$을 concat하여 input X'={concat(X^1{language}, R), X_{vision}} 를 넣고 answer $A$를 생성하게 한다.
Architecture
VisionExtractor는 DETR. $H_{vision}\in\mathbb{R}^{m\times d}$이고 (m: # of patches, d: hidden dim) lanugage output이랑 차원을 맞춰줬다고 하넹
Q : $H{language}$ K=V: $H{vision}$
gated fusion을 해서 얼마나 vision 정보를 볼지도 학습하게했다.
Result
GPT-3.5 성능보다 우위
two-stage baseline(image 안보고 two-stage로 학습)의 경우 처음에 성능은 좋았으나 에폭이 갈 수록 개선이 안됨. one-stage baseline은 왜 좋아지는거징? 흠..
language model architecture
multimodal CoT 오류 case study