TL;DR
- I read this because.. : reasoning in LVLM
- task : MLLM
- problem : MLLM의 CoT 능력 떨어짐
- idea : CoT 데이터 만들자 + DPO 학습하자
- architecture : InternVL2-8B
- objective : DPO loss + CE loss + BCOloss
- baseline : InternVL2-8B, InternVL2-8B-SFT, DPO variants, Gemini, GPT4o, LLaVA-1.5-13B, Qwen2VL-7B, …
- data : proposed MMPR (3.2M)
- evaluation : M3CoT, Mathvista, MathVision, MMVET, LLaVA-Bench, POPE, CRPE, MMHalbench
- result : CoT 능력과 math쪽 성능을 크게 개선 (mathvista 67.0). SFT보다 preference optimization을 하는게 CoT 성능에 크리티컬했다고 주장.
- contribution : 데이터셋 공개. 제안한 loss 조합도 성능이 좋음
- etc. :
Details
- thumbnail
MMPR dataset
답이 있는 경우엔 답이 맞으면 chosen / 아니면 loose 답이 없는 경우엔 일단 생성한 애를 다 chosen으로 선택하고, loose의 경우는 생성된 문장의 반을 가려놓고 나머지를 생성하라고 함. 이때 hallucination이 많이 생겼다고 함. (?) – DropNTP로 이름 붙임 2.5M 답이 있는 데이터 // 750K 답이 없는 데이터
examples
source
MPO Loss
DPO loss (0.8) + BCO loss (0.2) + SFT loss (1) 의 조합 (dpo가 rationale을 생성하지 못한다는게 smaug에서도 보였다고?)
- BCO loss
좋은지 나쁜지에 대한 binary classifier를 같이 학습하고 저기 델타는 과거 reward들 moving average.
Result
CoT 벤치랑 math쪽 벤치 크게 개선 (76B variant랑 비슷한 성능)
- text benchmarks
complex science 문제인 TheoremQA와 Instruction following 벤치인 IFEval이 크게 늘어서 성능 개선. text CoT 벤치는 없는건가..?
Ablations
- SFT loss vs MPO
SFT로 CoT를 넣었을 때 direct / CoT 둘다 전반적으로 늘어남 MPO로 넣었을 때 direct / CoT 둘다 크게 개선되고 모든 벤치에서 CoT > direct 성적이 나옴
- DropNTP vs RLAIF
제안한 방법이 더 간단하고 hallucination 쪽에서 더 좋다고 함
- DPO variants
일단 SFT들보다 다 성능이 좋았는데 단순히 DPO loss를 쓰면 CoT능력이 direct보다 좋아지지 않았다.