long8v/PTIR

[170] Unpacking DPO and PPO: Disentangling Best Practices for Learning from Preference Feedback

Opened this issue · 0 comments

image

paper

TL;DR

  • I read this because.. : PPO / DPO 비교 논문
  • task : RL
  • problem : PPO, DPO, RM 모델의 크기, RM data, PPO에서 prompt(어떤 질문을 주고 rollout 시킬건지) 등에 대한 ablation
  • architecture : TULU 2 13B(LLama2 finetuned)
  • objective : PPO / DPO loss
  • baseline : TULU 2 SFT
  • data : preference data human-annotated(HH-RLHF, HelpSteer, Chatbot Arena 2023-4, AlpacaFarm human, PRM600k), Web-scraping(SHP-2, StackExchange), synthetic(Ultra-Feedback, Nectrar, Orca, Capybara, AlapacaFarm GPT-4)
  • evaluation : factuality(MMLU), reasoning(GSM8k, Big Bench Hard), truthfulness(TruthfulQA), coding(HumanEval+, MBPP+), safety(ToxiGen, XSTest), instruction folloiwng(AlpacaEval 1,2, IFEval)
  • result : 1) DPO보다 PPO가 좋다 2) RM은 클수록 좋지만 RM 지표가 꼭 다운 스트림에서 좋은 것은 아니다 3) 질 좋고 양좋은 synthetic preference data가 좋다 4) 그중에는 finegrained 성적(항목별 점수)를 내는 Ultra-F가 좋다 5) RLHF로 늘어나는 것은 Truthfulness, instruction following 능력이다 6) PPO에서는 reasoning, coding, safety가 늘어났다. 7) prompt는 down stream task에 맞게 다양화하면 좋으나 작은 RM에 대해선 generalize를 못해서 일반화를 하지 못했다.
  • contribution :
  • etc. :

Details

  • overall
image
  • PPO vs DPO
image
  • Preference data for DPO
image

DPO에서 synthetic >> human 으로 나옴.
수량이 비슷한 경우에도 그렇네.. human보다 synthetic이 더 일관적인건가?
개중에는 UltraFeedback (fine-grained하게 영역별로 점수를 낸 것)이 가장 효과가 좋았음.

  • DPO vs PPO
image

DPO 대비 두드러지는 부문은 reasoning, coding, safety
특히 stackexchange 같은 crawled data가 DPO에서는 coding 실력을 늘리지 못했는데 PPO는 늘렸음.
PPO가 chain-of-thought 능력이 더 뛰어난 것 같고 이로 이해 reasoning 능력이 늘어난게 아닐까 하는 분석

  • reward model
image

Mix가 가장 성능이 좋았던 UltraFeedback을 포함한 데이터셋으로 RM을 한건데 더 많은 Reward dataset을 쓰는게 RM 지표 상 성능이 좋았음.
reward model 자체의 평가랑 PPO 까지 갔을 때 평가가 상응하지 않았음.
13B Mix RM이 가장 좋게 나온 지표도 있었는데 실제로 그렇지 않았음. 70B RM이 13B모델 보다 rm 지표는 상당히 좋았는데, PPO에서의 성능은 개선이 없거나 거의 비슷했음.

  • policy training prompt
image

PPO 학습 시 사용되는 prompt는 downstream에 가까울 수록 좋았음.