본문 바로가기
Research/NLP

강화학습과 InstructGPT - part 1

by yooonlp 2023. 5. 28.

강화학습 (Reinforcement Learning)

강화학습은 정답은 없지만, 특정 환경에서 자신이 한 행동에 대한 보상을 통해 학습하는 방법론입니다. 정답 데이터가 존재하거나(지도 학습) 데이터에 존재하는 규칙을 찾아내는(비지도 학습) 기존 머신러닝 방법론과 달리, ‘직접 해보면서 배운다’는 인간의 학습 방식과 닮아 있는 학습 방법입니다.

출처: https://www.oreilly.com/library/view/hands-on-machine-learning/9781491962282/ch01.html#reinforcement_learning_diagram

키워드: Agent, Environment(환경), Action(행동), Reward(보상), Policy(정책)

학습과정

  1. Agent가 Environment을 관찰한다.
  2. Policy에 기반하여 Action을 선택한다.
  3. Action을 취한다.
  4. Reward을 받는다. (negative일 경우, penalty의 개념)
  5. 이에 따라 Policy를 업데이트한다.
  6. 최적의 Policy를 찾을 때까지 위의 과정을 반복한다. (=주어진 환경에서 가장 보상이 큰 행동을 취할 때까지)

 

InstructGPT

https://arxiv.org/pdf/2203.02155.pdf

LLM의 문제는 사실이 아닌 내용을 말하거나(hallucination), 편향되거나 비도덕적인 텍스트를 생성하거나, 사용자의 지시를 따르지 않는다는 점입니다. InstructGPT 페이퍼에서는 “models(LLM을 지칭) are not aligned with their users” 이라고 표현하고 있습니다.

그렇다면 Language model을 align 한다는 것의 의미는 무엇일까요? 사용자의 의도에 맞게 행동하도록 훈련하는 것을 의미합니다. InstructGPT는 Reinforcement learning from human feedback(RLHF)을 사용해 GPT3를 fine-tuning 하여, 사람의 지시를 따도록 훈련되었습니다. 이는 인간의 선호도를 보상 신호로 주는 강화학습을 적용시킨 것입니다.

 

InstructGPT는 3단계를 거쳐 탄생합니다.

 

이번 포스팅에서는 1단계를 소개합니다.

 

1. Demonstration data 수집 + Supervised Fine-tuning

여기서 Demonstration data는 prompt에 직접 응답을 한 데이터를 수집한 것을 의미합니다. 1단계에서는 입력-라벨 쌍 13000개를 수집하여 지도학습 방식으로 GPT-3 모델을 파인튜닝하게 됩니다.

 

데이터 수집을 위해 40명의 labeler들을 선정하여 주어진 prompt에 label, 즉 응답을 하도록합니다. 주어지는 prompt 데이터셋은 다음과 같은 직접적인 지시문과 few-shot을 통한 지시문이 섞여있고, 생성, 질의응답, 브레인스토밍, 요약 등 다양한 task를 수행하도록 하는 use-case로 이루어져 있습니다.

 

이때 labeler들은 응답을 할 때 prompt를 작성한 사용자의 의도를 최대한 추론해보고, 명확하지 않은 task는 넘기도록 합니다. Labeler들은 응답의 진실성, 편향되거나 혐오 발언의 여부 등의 숨은 의도까지 고려하게 됩니다.