-
[2023 Spring Lab Seminar] Training language models to follow instructions with human feedback (NeurIPS 2022)AI/NLP 2023. 4. 11. 12:44728x90
[2023 Spring Lab Seminar]
Training language models to follow instructions with human feedback (NeurIPS 2022)들어가기 전에 ...
https://asidefine.tistory.com/213
이전에 대규님이 동일한 논문을 정리해주신 바 있었는데, 한 번 더 들으니까 더 이해가 쏙쏙 !
Abstract & Introduction
- RLHF : Reinforcement Learning with human feeback
- continuation x 4: sampling 4번 한다
- NLP에서의 강화학습은 ?
- agent : LM
- Policy : Text Sequence 생성
- action space: LM의 모든 token(=vocab size)
- reward : 별도의 보상체계
- 강화학습 중
- PPO (2017) 사용
- TRPO(2015) + Clipping
- PPO (2017) 사용
Methods
GPT-3 모델을 InstructGPT 모델로 만들기 위해 OpenAI는 다음의 세 가지 단계를 도입했다.
이때 Deepmind 팀과 함께 개발한 강화학습 알고리즘 RLHF (reinforcement learning with human feedback)을 적용한다.
Step 1.예제 데이터 수집 후 supervised policy를 학습 => SFT 모델 확보
: GPT-3가 주어진 지시문대로 행동하도록 가르치기 위해, 해당 데이터셋을 만들어 <fine-tuning> 한 모델 확보
> 이를 위해 지시 프롬프트와 그에 대한 결과물로 이루어진 데이터셋을 정의 (demonstration dataset, 13K prompts)
- 프롬프트 데이터셋으로부터 지시 prompt를 샘플링 (예) 8살 아이에게 달착륙을 설명해보시오
- 라벨러는 프롬프트에 적합한 행동을 예시로 라벨링 (예) 몇몇 사람들이 달에 갔답니다 ~~
> 이 데이터셋을 GPT-3에 대해 Fine-tuning => 결과로 SFT (supervised fine-tuning) 모델을 얻음
- 이렇게 fine-tuning 된 모델은 원래 GPT-3와 완성된 InstructGPT를 비교하기 위한 베이스라인으로 사용됨
- 지시문을 따르는 점에 있어 이 모델은 이미 GPT-3보다 성능이 우수했지만, 완벽하게 원하는 방식으로 작동하지는 않았다
Step 2. 결과물에 대한 사람의 선호도 데이터를 학습 => Reward Model 확보
: Comparison dataset을 사용해 Reward Model(보상 모델) 학습
> Comparison dataset은 33K 개의 프롬프트로 이루어져 있으며 이를 Reward Model 학습에 적합하게 구성한 것
- comparison dataset은 프롬프트와 그에 따른 결과물들 (4-9개), 그리고 그 결과에 대한 선호도 순위로 구성됨
- 즉, 프롬프트가 주어질 때 Reward Model은 결과물들에 대해 사람의 선호도를 예측하는 방법을 학습
- 이때 사용한 프롬프트는 step 1의 demonstration dataset에서 사용한 것과 다름
Step 3. 강화학습을 사용해 Reward Model에 대해 policy를 최적화 => InstructGPT
: Step1의 SFT 모델을 Step2의 보상모델을 사용해 강화학습을 통해 추가 fine-tuning
> Proximal policy optimization algorithm(PPO) 사용
- Reward Model을 보상함수로 사용하여 정책을 최적화 (InstructGPT가 사람의 피드백을 얻는 방법)
> 강화학습을 통한 fine-tuning 과정은 다음과 같이 이루어진다 :
3-1) InstructGPT는 프롬프트를 보고, 그에 대한 결과 (completion)를 추론함
3-2) 이 결과물을 Reward Model이 평가하여 reward(보상)를 계산
3-3) 보상 값이 InstructGPT에게 주어지고, 모델은 정책을 업데이트하여 사람이 원하는 아웃풋에 더 가까운 결과를 내게 됨
요약하자면, 먼저 지시문에 따라 결과를 완성하는 초기 모델을 완성한 후,
사람의 feedback을 모사하는 보상 모델(reward model)을 확보하여
이를 통해 초기 모델이 사람이 더 선호하는 결과를 추론하도록 강화학습을 진행한 것!https://arxiv.org/abs/2203.02155
https://github.com/openai/following-instructions-human-feedback
도움이 되었던 블로그
https://velog.io/@mmodestaa/InstructGPT-ChatGPT
https://littlefoxdiary.tistory.com/101
728x90'AI > NLP' 카테고리의 다른 글
- RLHF : Reinforcement Learning with human feeback