[19’] RLHF: Fine-Tuning Language Models from Human Preferences

Date:     Updated:

카테고리:

태그:

image


🔍 Abstract

OpenAI에서 2019년 발표했던 논문으로 LLM에서의 RLHF(Reinformcement Learning from Human Feedback)을 제시한 중요한 논문이다. 최근 많은 LLM에서 RLHF를 사용한 alignment tuning이 필수적인 만큼, 본 논문의 중요성은 더욱 커졌다. 이 논문에서는 PPO(Proximal Policy Optimization)를 사용하여 RLHF를 수행하였다. 크게 1) Stylistic continuation task, 2) Summarization task에서 이를 적용하고 결과를 분석하였다. 이 과정에서 여러 문제점들이 발견되었고, 이 부분이 굉장히 중요하다고 생각하기에 문제점들도 주목하여 논문 리뷰를 진행해보려고 한다.


1. Introduction

1.1. Overview

image

Language model의 output의 선호도(preference)를 결정할 수 있는 것은 오직 사람뿐이다. 이는 RLHF(Reinformcement Learning from Human Feedback)의 기본적인 아이디어이다. 이는 human feedback을 통해 LLM을 fine-tuning하는 것이다. 두 단계의 학습이 필요한데, 처음은 1) autoregressive pre-training, 다음은 2) RLHF를 통한 fine-tuning이다. 각각을 식으로 나타내보면 다음과 같다. 먼저 pre-training은 다음과 같다.

image

이를 통하여 language model $\rho$를 얻게 되고, 이후 RLHF를 통해 fine-tuning을 수행한다. 이때 policy $\pi = \rho$로 두고, RL을 통해 $\pi$를 학습한다. 단순히 다음과 같이 expected reward에 대해 최적화하면 된다.

image


1.2. Fine-Tuning with RLHF

이때 reward function을 정확히 알지 못한다는 것이 문제인데, 따라서 1) human label을 통해 reward model을 훈련하고, 2) 이 reward model을 통해 얻은 reward를 통해 policy를 학습한다. 이때 학습 과정은 PPO(Proximal Policy Optimization)를 사용한다. Reward model $r$은 4가지 후보 $(y_0, y_1, y_2, y_3)$ 중에서 best option인 $y_b$에 가장 많은 reward를 줄 수 있도록 학습한다. 이 라벨링은 Scale AI 회사에서 수행되었다.

image

이제 reward model을 학습했으므로 이를 통해 얻은 reward $r$에 대해 최적화한다. 다만, 이때 policy $\pi$가 기존의 $\rho$와 너무 달라지거나, 높은 reward를 가지는 일부 정답만 출력하는 mode-collapse를 막기 위해 KL-divergence constraint을 추가한다. 이것이 PPO이고, 구체적으로는 아래 식을 통해 최적화를 수행한다.

image

이때 KL-divergence term은 굉장히 중요하며, 이를 사용하지 않을 경우 다음과 같은 문제가 발생한다.

image

$\beta$ 값의 경우 고정할 수도 있고, dynamic하게 설정할 수도 있다. 다만 동일한 $\beta$ 값으로 학습을 진행해도 seed에 따라 최종 KL-divergence 값이 달라질 수 있어, KL-divergence 값을 일정한 값인 $KL_ {target}$로 맞추기 위해서는 다음과 같은 방법을 사용한다.

image


1.3. Online Data Collection

Zero-shot policy $\rho$와 trained policy $\pi$는 훈련이 계속되면서 굉장히 달라지게 된다. 따라서, $\rho$로 학습된 reward model은 $\pi$로부터 얻은 sample을 평가하기에 일종의 distributional shift 문제를 겪게 된다. 이를 해결하기 위해 online data collection을 수행한다. 이는 $\pi$로부터 얻은 sample을 이용하여 reward model을 업데이트하고, 다시 $\pi$를 업데이트하는 과정을 반복하는 것이다. 이후 실험에서 offline-trained reward modelonline-trained reward model을 비교하였다.


1.4. Training Process Summary

전체 과정을 정리하면 다음과 같다.

image


2. Experiments

저자들은 stylistic continuation tasksummarization task에 대해 실험을 수행하였다. 그 전에, reward model을 학습시키지 않고 pre-defined reward를 사용했을 때에 대한 pilot study 결과를 먼저 확인하였다.


2.1. Pilot Study w/ Pre-defined Reward

Pre-defined reward를 사용하여 두 가지 방법을 실험하였다.

  1. Direct Reward Optimization: reward를 직접 최적화하는 방법, 일종의 upper bound
  2. Optimization with Reward Model: 실제로 앞으로 사용하게 될 방법으로, reward 모델을 N개의 label로 훈련한 뒤 이를 사용하여 최적화하는 방법

image

검은 점선은 analytical solution, direct는 direct reward optimization, label은 optimization with reward model을 의미한다. 실제로 사용하게 될 reward model 방법이 생각보다 upper bound와 많은 차이가 있는 것을 확인할 수 있었다. 이는 앞으로 해결해야 할 문제 중 하나이다.


2.2. Stylistic Continuation Task

실제 stylistic continuation task에 대한 실험을 수행한 결과는 다음과 같다.

image

이를 통해 알 수 있는 점은 다음과 같이 정리할 수 있다.

  • 5K 개의 human data로만 fine-tuning해도 만족할 만한 성능에 수렴하는 것을 알 수 있다. 즉, 적은 데이터로 fine-tuning이 가능하다.
  • Offline과 online reward model을 비교하였을 때 큰 차이가 없다.


2.3. Summarization Task

Summarization task에서는 다른 결과를 얻었다.

image

이를 통해 알 수 있는 점은 다음과 같이 정리할 수 있다.

  • 기계 평가(ROUGE)에서는 supervised + 60k fine-tune60k fine-tune보다 성능이 좋다. 그러나, human evaluation에서는 60k fine-tune이 더 좋다.
  • Online data collection을 통해 human evaluation에서 더 좋은 성능을 보인다.

왜 이러한 결과가 나왔을까? 저자들은 이 결과에 대해 굉장히 깊이 있는 분석을 진행했다. 큰 결론만 이야기하면, supervised training된 모델과 RLHF로 fine-tuning된 모델의 특징은 다음과 같이 정리할 수 있다.

  • Supervised: 요약을 더 abstract하게 진행하지만, 덜 정확하다.
  • RLHF fine-tuned: 진정한 의미의 요약보다는 기존 문장을 발췌하여 copy하는 경향이 있지만, 이러한 방식 때문에 더 정확하다.

image

그렇다면 문장을 베끼는 방식의 RLHF 학습은 잘못된 것일까? 저자들은 두 가지 방식으로 이를 해석하였다.

  1. 문장을 베끼는 것이 오히려 가장 정확한 요약이다.
  2. 그러나 이것은 우리가 모델에게 바라는 바가 아니다.

그러나 RLHF를 통해 이를 적절히 penalize하지 못했기에, 저자들은 이를 감지하지 못한 실수라고 결론지었다.


3. Challenges

어떠한 task이든지 높은 성능을 보였지만, 아직 여러 해결해야 할 문제가 남아 있다. 간단하게 요약하면 다음과 같다.

  1. Online data collection is hard
  2. Sharing parameters between reward model and policy causes overfitting
  3. Ambiguous tasks make labeling hard

이 중에서도 reward model과 policy가 parameter sharing을 하는 경우의 문제에 대해 조금 더 이야기하도록 하자. 본 논문에서는 reward model은 기존 LM $\rho$를 사용하여 학습하였으며, policy는 초기 $\pi = \rho$로 두고 PPO로 학습하였다. 여기서의 질문은 reward model도 $\pi$를 사용하면 data distribution shift 문제도 해결되고 좋지 않냐는 것이다.

저자들은 여러 시도를 했지만, 전부 잘 되지 않았다고 한다. 그 이유는 data imbalance 때문인데, reward model을 훈련하기 위해 60k sample을 사용한 반면 policy를 훈련하기 위해서는 2M episode를 사용했기 때문이다. 따라서 모델 $\pi$는 RLHF를 적용한 policy 쪽으로 치우치게 되고, reward model의 역할을 잘 하지 못하게 된다. 이 문제를 해결한 것이 self-rewarding model인데, 이후 논문 리뷰에서 다뤄보도록 하겠다.


💡 Summary

본 논문에서는 reward model을 학습하고, 이를 통해 policy를 학습하는 RLHF를 제시하였다. 이를 통해 continuation tasksummarization task에 대해 실험을 수행하였다. continuation task에서는 적은 데이터를 사용하여 성공적인 결과를 보였지만, summarization task에서는 단지 smart copiers가 되어버린 것을 확인하였다. 저자들은 이것이 data quality의 문제라고 생각했고, human feedback을 줄 때 direction을 명확하게 주는 것이 중요하다고 결론지었다.


📃 Reference


Language 카테고리 내 다른 글 보러가기

댓글 남기기