justlikeazoo / Paper-Review

0 stars 0 forks source link

[Paper Review] Fine-Tuning Language Models from Human Preferences #3

Open justlikeazoo opened 11 months ago

justlikeazoo commented 11 months ago

[1] Fine-Tuning Langauage Models from Human Preferences.pdf

justlikeazoo commented 11 months ago

해당 논문은 똑똑한 언어 모델의 근본적인 개념이 되는 RLHF(Reinforcement Learning from Human Feedback)의 내용을 다룬다. RLHF는 강화학습을 NLP에 적용하는 것으로, 인간의 수동적인 라벨링을 통한 fine-tuning을 모델에 적용시킨다.

Methods Reinforcement Learning 강화학습을 잘 모르는 사람들을 위해 간단하게 RL을 소개해보겠다. 본 논문의 fine-tuning에서 사용하는 RL(Reinforcement Learning, 강화학습)은 알파고 제로가 뛰어난 바둑 실력을 가질 수 있게 한 머신러닝 기법으로, 밑의 그림에서처럼 학습 모델을 Agent라고 하고, Environment는 Agent가 처한 상황을 의미하며, 주로 시뮬레이션된 환경에서 실험이 진행된다.

image

모델은 본인의 행동에 대한 보상을 받으며, 보상이 높으면 좋은 행동으로 취급하고, 낮으면 안 좋은 행동으로 취급하여 모델 가중치가 업데이트된다. 이 학습 기법을 모델 성능 향상을 위해 fine-tuning에 사용한다.

Training process

image 위의 그림은 논문의 전체적인 학습 과정을 보여준다. 1.1에서 설명한 강화학습을 pre-trained 모델에 fine-tuning에 적용한다. 기존의 강화학습에는 시뮬레이션 환경에서 보상을 산출하는데, "이 글을 사람처럼 요약해줘"와 같은 조건에 대해 모델의 출력이 올바른지 아닌지 판단할 만한 기준이 애매하기 때문에 reward model을 추가적으로 학습한다.

Pre-training RL fine-tuning을 하기 전 가장 먼저 모델을 autoregressive 방법으로 pre-training하며 이 모델의 정책(파라미터)을 $p$라고 한다. Vocabulary를 $\sum$이라고 하면 언어 모델 $p$는 다음과 같이 학습된다:

image

위의 pre-training 방법은 GPT 모델의 방식과 동일하며, 주어진 입력에 대해 다음 토큰을 예측하는 기법이다. 해당 모델의 입력 사이즈는 $X = \sum^{\leq m}$ 이며, 출력 크기는 $Y = \sum^n$이다. 예를 들어 $X$는 1000 단어의 입력이 되고 $Y$는 100 길이의 요약문이 될 수 있다. $p$는 확률적 정책을 의미하며 $p(y|x) = p(xy) / p(x)$이다.

모델의 backbone 네트워크는 774M개의 파라미터 수를 가진 GPT-2이다. WebText 데이터셋에 대해 학습되었으며 50,257 token invertible byte pair encoding을 사용하여 대문자와 문자를 보존한다. 샘플의 퀄리티를 향상시키기 위해 temperature는 $T < 1$를 항상 유지한다.

Fine-tuning RL fine-tuning을 진행하는 모델의 정책을 $\pi$로 나타내며, 초기 정책의 세팅은 pre-trained $p$가 된다. Task가 reward function $r : X \times Y \to \mathbb{R}$에 의해 정의되었을 때에는, 보상의 기대값을 최대화할 수 있게 다음과 같이 최적화를 할 수 있다.

image

하지만 본 논문은 사람이 human feedback으로 task를 정의하여 모델이 학습하는 것을 목표로 하기 때문에 인간과의 질의응답을 통해 reward function을 학습시킨다. 인간은 주어진 4개의 출력 $(y_0, y_1, y_2, y_3)$ 중에 어떤 보기가 입력 $x$에 대해 가장 나은 답변인지를 $b \in {0, 1, 2, 3}$로 나타낸다. 진행된 질의응답으로 생성된 데이터셋 $S$는 $(x, y_0, y_1, y_2, y_3, b)$로 구성된 튜플 형태로 생성되며, 수집된 샘플에 따라 다음 loss로 reward model $r : X \times Y \to \mathbb{R}$를 학습한다:

image Reward 모델 또한 자연어를 이해할 수 있어야 하기 때문에 최적화 이 전에 보상 함수를 $p$로 초기화하고 마지막 레이어로 랜덤 linear function을 추가한다. 학습을 진행하는 동안 reward model의 scale를 유지하기 위해 정규화 기법을 사용한다. loss 수식 맨 앞에 '-'가 없는건 아마 오타인듯 하다...

최종적으로 학습된 reward model $r$을 활용하여 $\pi$를 fine-tuning한다. 이때, $\pi$의 입력이 초기 세팅인 $p$에서 너무 멀어지지 않게 하기 위해 패널티 $\beta KL(\pi, p)$를 보상에서 빼준다. 따라서 최종적으로 적용되는 보상은 다음과 같다:

image Fine-tuning은 PPO 기법이 사용되었다. 다른 seed와 같은 KL 패널티로 학습된 모델은 때때로 $KL(\pi, p)$의 값이 매우 다르게 나타나기 때문에 비교하기 어려워진다. 이를 해결하기 위해 일부 실험에서는 $\beta$를 log-space proportional controller를 활용하여 동적으로 변화시켜 특정 $KL(\pi, p)$값을 도출한다. $K_{\beta} = 0.1$로 고정되며, 아래와 같이 KL 패널티를 세팅한다.

image

Online training 본 논문은 모델의 offline과 online 학습을 진행했을 때 모델의 성능에 대해서도 비교 평가한다. Offline는 최초 정책 $p$에 의해 수집된 샘플만 활용하여 학습하는 것을 말하고, online 학습은 정책 $\pi$가 업데이트됨에 따라서 reward model도 정기적으로 업데이트하는 방식이다. Online 학습에서는 n번째 PPO episode 이전에 몇 개의 label이 필요한지를 나타내는 함수 $l(n)$을 정의한다. $N_{\pi} = 2 \times 10^6$는 PPO의 전체 episode 수이고, $N_r^0 = l(0)$은 가장 처음의 label 수를 의미하고, $N_r$은 총 label의 수이다.

image Label의 개수가 $l(n)$보다 부족하다면 에피소드를 중단하고 추가 샘플을 요청하여 $l(n) + 1000$개의 label을 확보한다 - 1000개의 샘플은 예비로 가지고 있는다. 전체 진행 상황을 확인하기 위해 $x \sim D; y_0, y_1 ~p(\cdot | x); y_2, y3 ~ \pi(\cdot | x)$로 구성된 validation 데이터를 추출한다. 첫 두개의 예시는 $p$로 산출하고, 나머지 두 개의 예시는 $\pi$로 계산하는 것이다. 해당 샘플에 대한 human feedback을 통해 $\pi$의 출력이 $p$ 보다 얼마나 더 선호되는지 평가할 수 있다. 해당 샘플은 $\pi$를 평가하는 용도로 사용되기 때문에 reward model의 훈련 데이터로 사용될 수 있다.

Human labeling 논문에서 human feedback을 추출하기 위해 Scale AI라는 API가 사용되었다. Scale API는 $(x, y_0, y_1, y_2, y_3)$의 입력을 받아 선택 $b \in {0, 1, 2, 3}$을 출력한다. 여타 ML task와 다르게 한 샘플에 대해 사람들마다 다른 의견을 보일 수 있기 때문에 명확한 참값이 존재하지 않는다. 실험에서 최종 평가 과정에서는 두 개의 모델 $A$와 $B$에 대한 2-way comparison $(a \sim A, b \sim B)$과 4-way comparison $(a_0, a_1 \sim A, b_0, b_1 \sim B)$ 샘플을 사용하며, 샘플의 순서는 섞여 Scale API로 입력된다.

훈련 샘플 추출에 참여한 사람과 동일한 사람으로 인해 모델이 평가되는 것은 그리 좋지 못하다. 이는 인간 보상으로 $r$과 $\pi$가 성공적으로 학습되었다는 것을 보여줄 수 있지만, 논문의 저자들이 관심을 가지는 부분을 평가 과정에서 정확하게 포착하지 못한다.

Experiments 모델은 continuation tasks(텍스트 생성)과 summarization(요약)에 대해 평가된다.

Stylistic continuation tasks Stylistic continuation task는 sentiment continuation task(긍정적인 출력)와 descriptive continuation task(생생한 설명에 대한 출력)에 대해 평가한다.

image 위 그래프는 RL fine-tuning 모델이 zero-shot 모델과 비교하여 얼마나 선호되었는지를 나타낸다. 대부분의 경우에서 fine-tuned 모델이 zero-shot 모델보다 선호도가 월등히 높았다.

image 위 그래프는 다른 baseline 모델과 비교하여 5k offline 모델의 선호도를 나타낸 표이다. Continuation task에서는 online과 offline의 차이가 크지 않은 것을 확인할 수 있다.

image 위는 zero-shot과 5k offline 모델의 descriptive continuation 예시이다. Zero-shot과 비교하여 5k offline 모델은 소설처럼 생생한 구절을 생성할 수 있게 된다.

Summarization Summarization은 말 그대로 요약문을 생성하는 task이며, CNN/Daily Mail, TL;DR 데이터셋에 대해 성능이 평가된다. 이 섹션에서는 먼저 ROUGE 점수에 대해 평가하고, 다음으로 인간 선호도에 대해 평가한다. ROUGE 평가에 대한 결과는 다음과 같다. image 두 데이터셋에 대한 ROUGE 평균 점수는 모두 supervised + 60k fine-tune 모델이 가장 높았다. 모두 SOTA에는 미치지 못하지만 그에 준하는 성능을 보인다. 여기서 집중해서 봐야 할 부분은 단순히 supervised 모델이 60k label로 fine-tune된 모델보다 높은 점수를 얻었다는 것이다.

image

위의 표는 두 데이터셋의 모델 요약에 대한 인간 선호 그래프를 나타낸 것이고, 60k fine-tuned 모델과 lead-3 모델이 가장 두각을 보인다. lead-3 baseline 모델은 첫 3 문장을 포함한 요약문을 출력하는 모델이다. 주황색 그래프를 확인해보면 이전의 ROUGE 점수와 다르게 순수하게 RL fine-tuning만 진행한 모델의 선호도가 supervised + 60k fine-tuned 모델보다 높다. 그리고 이전에 ROUGE 점수에서 supervised 모델이 60k fine-tuned 모델의 ROUGE 점수를 넘어섰지만, 인간 선호도에서는 supervised + 60k fine-tuned 모델보다 더 많이 차이가 났다.

이와 같이 본 논문에서 소개한 RL fine-tuning은 이와 같이 인간의 선호도와 benchmark 성능에서 이중성을 보이는 특징이 있으며, "smart copiers"이다. 입력의 불필요한 부분만 제거하여 그대로 출력하는 성향이 있었으며, 이는 labeler들의 샘플링 과정에 문제가 있을 수 있다.

Challenges 해당 논문에서는 모델이 가지는 한계점 및 문제점에 대해 설명하며 추후 연구에서 해결하기 위한 과제라고 말한다.

Conclusion 본 논문은 사람의 요구에 따른 모델의 학습을 가능하게 하기 위해 RL fine-tuning을 언어 모델에 적용하는 기법을 소개했다. 모델은 continuation task와 summarization task에서 평가되었으며, continuation task에서는 zero-shot에 비해 월등히 나은 결과를 보여줬지만 summarization task에서는 "smart copiers"의 출력을 생성하는 경향이 있었다.

논문은 human reward 학습을 NLP에 적용하는 것이 기능적, 안전적인 측면에서 중요하다고 주장한다. 기능적인 측면에서는 순수한 지도 학습으로는 훈련된 정책의 샘플링 과정에서 발생하는 오류를 수정하기 어렵다고 한다. Dialouge와 같은 task는 특히나 human feedback이 매우 중요할 수 있다. 대화의 목표를 모델 스스로 정의하는 것이 어려울 뿐더러, 대화의 길이가 길기 때문에 supervised 모델이 분포에서 벗어날 가능성이 매우 크다.

AI의 안전 측면에서는 확장 가능한 amplification, debate와 같은 재귀적 보상 모델링에서 인간-기계 상호작용이 요구된다. 또한, 자연어는 사람의 복잡한 아이디어를 전달하는 수단으로, 아직 Language model이 완전히 수행할 준비가 되어있지 않다고 여기며 이에 따라 RLHF는 모델의 발전 가능성을 넓혀준다고 믿는다.