ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • "좋아요", "싫어요"로 언어모델을 개선해 보자.
    Paper Tasting 2024. 4. 8. 23:47

    Preference feedback 보다 "좋아요", "싫어요"가 더 확보하기 좋은 feedback이다.

     

    • Motive
      • ChatGPT가 세상에 놀라움을 줄 수 있었던 비결 중 하나를 꼽자면 RLHF(Reinforcement Learning with Human Feedback)라고 할 수 있다. 사람이 원하는 대로 반응을 만족스럽게 하지 못했던 언어모델이 RLHF를 거치면서 사람이 원하는 반응을 하는 존재로 거듭나게 되었던 것이다. 그 이후 DPO(Direct Preference Optimization)와 같은 좀 더 단순하면서도 효과적인 feedback-alignment 방법이 제안되기도 하였다. 하지만 이런 방법들은 preference feedback을 필요로 하므로 데이터 수집 비용이 비싸고 상당히 noisy하다. 이 논문은 preference 대신 "좋아요"나 "싫어요"만으로도 feedback alignment를 할 수있는 방법을 제안하고 있다.
    • Paper Title: KTO: Model Alignment as Prospect Theoretic Optimization
    • Arxiv Address: https://arxiv.org/abs/2402.01306
    • 주요 내용 및 평가
      • 이 논문에서 제안한 방법을 KTO라고 이름을 붙였다. KTO는 Kahneman- Tversky Optimization의 약자로 Kahneman과 Tversky의 prospect thoeory에 착안하였다는 의미로 이름을 지었다. Prospect Theory에서는 human utility를 value function과 weight function의 곱으로 표현한다. 사람의 value function은 특정 기준을 중심으로 gain과 loss에 다른 민감도로 반응한다(loss에 더 예민하게 반응한다). weight의 경우는 gain과 loss의 상대적인 강도를 의미한다. 이 논문은 feedback 반영을 위한 Loss function 설계에 prospect theory를 반영하였다고 주장하고 있다. 이와 같이 사람의 utitlity를 반영한 Loss를 human-Aware LOss (HALO)라고 정의하고, 자신들이 제안한 KTO가 HALO이며, non-HALO alignmnent method 대비 높은 성능을 보임을 주장하고 있다.
      • 제안된 KTO의 Loss function의 특징은 다음과 같다(논문의 수식 7 참고).
        • DPO처럼 SFT policy와의 loglikelihood를 reward로 정의하고, Average reward를 reference Reward로 하여 이와의 차이로 desirable value와 undesirable value를 표현하고 있다. reference reward는 평균 reward이므로 학습이 진행되어 saturation되면 loss가 작아져서 수렴되도록 하는 정규화 기능을 한다.
        • value는 logistic function을 거치도록 하여 reference reward와 멀어지면 gradient가 작아지는 특성을 가진다. 이를 통해 학습하기 어렵거나 outlier feedback은 자연스럽게 반영되기 어려워 지므로 noisy feedback에 robust해진다. 이 논문은 KTO가 DPO보다 성능이 더 좋은 이유를 여기에서 찾고 있다.
        • desirable weight와 undesirable weight를 다르게 줄 수 있도록 함으로써 loss aversion 특성이나 sample imbalance한 경우를 다룰 수 있도록 하였다.
      • Preference feedback이 binary signal보다 얻기 어렵고 비싼 feedback인 만큼 KTO는 참고하여 활용할만 가치가 있는 방법이라고 생각한다. 게다가 피드백의 경우 "좋아요"와 "싫어요" 비율이 unbalance하기 쉬우므로 KTO는 더욱 적용할 가치가 있는 방법이라고 생각한다.
    • 기타 참고 사항
      • DPO와 제안된 KTO의 차이를 DPO는 likelihood를 maximize하고 KTO은 utility를 maximize한다고 설명하고 있다. 결과적으로 KTO가 동일한 데이터, 심지어 좋아요 feedback data를 상당수 날려 버려도 DPO와 성능이 비슷하거나 더 좋음을 보이고 있다.(1B~30B모델 기준)
      • Large model(30B)의 경우 DPO와는 달리 KTO는 Supervised finetuing을 거치지 않고 바로 KTO만 해도 성능이 비슷하게 나왔다.
      • 이 논문에서 사전실험으로 Offline PPO를 테스트하였고, DPO와 비슷한 수준의 유의미한 결과를 얻었다.Offline PPO는 Reward function을 학습하는 대신 Preferred sample에 +1 reward, unpreferred sample에 -1 reward를 주도록 하고 old policy(SFT model)를 갱신하지 않고 one-step update한 것이다. 마치 sample을 왕창 수집해 놓고 mini-batch로 iteration(K-epoch)을 많이 돌린 것과 같다고 할 수 있다. 비록 학습이 여전히 불안정적이긴 하지만, 단순한 reward만으로도 PPO로 유의미한 개선효과를 얻을 수 있음을 보여주고 있다.
      • 그럼 DPO를 쓰는게 좋은 경우는 없을까? 만약 pereference data의 noise가 적고 상충되는 피드백이 적으면 상대적으로 KTO가 underfit하니까 DPO를 사용하는 편이 좋다고 한다. pair-wise loss이 단일 loss보다 더 정보량이 많은 loss이므로 일리 있는 말이다.
Designed by Tistory.