Brief-est review on RLHF
개인적으로 알파고보다 훨씬 센세이션했으며 역사에 더 주요 사건으로 기록될 거라 생각하는 ChatGPT의 기술적 본질 RLHF를 생각해보자.
RLHF의 본질은 Self-Supervised Transformer모델의 생성능력(혹은 인지능력)을 인간에게 더 맞게 바꿔준 것이다.
비유하자면 존잘인데 자신이 존잘인지 몰라서 안경에 정리안된 머리에 스타일이었던 사람에게 풀로 케어해줘, 여기서 끝이 아니라 상류층에 언어와 형식, 완벽한 규격과 자기관리를 가르쳐줘서 최상층류층의 삶을 살게 되었다는 스토리?
'자신이 가지고 있지만 존재하는지 몰랐던 포텐을 터트려준 격'
self-supervised learning으로 뇌를 만들고 그 안을 정보와 로직, reasoning으로 채워놨지만 어떻게 그 뇌를 이용하여 정보를 찾고, 새로운 task를 해내게 만들지 인류는 알지 못했던 것 같다. RLHF를 세상에 알린 InstructGPT는 극적으로 적은 Parameters수임에도 GPT3와 비견되는 성능을 보여주었다.
GPT3.5에 같은 방식으로 구현했더니 그 결과가 ChatGPT다.
일반적 GPT가 ChatGPT가 되는 과정은 이러하다.
먼저 GPT를 ChatGPT처럼 채팅 형식의 답변을 하는 방식으로 finetuning시킨다(SFT model, Supervised finetuning for dialogue)
Reward Model을 만든다. 이 모델은 prompt와 response를 보고 response가 얼마나 적절한 대답인지 score를 만드는 모델이다
그런 후에 Reward model을 이용하여 Finetuning 시킨다(base GPT -> Finetuning(SFT) -> Finetuning(with Reward model), 따라서 총 2번의 finetuning인 셈이다)
간단하면 간단한 이 방법론으로 gpt는 chatgpt로 변화했다.
인공지능의 무한한 가능성을 보여준것보다 더 놀라운 점은 바로 gpt의 작동 방식에 있다.
Transformer를 H라는 이름의 function이라고 해보자.
지금부터의 예시는 음절마다 tokenization이 되어있다고 가정하겠다. 또한 띄어쓰기는 없다고 그냥 심플하게 가정해보자.
'나는 사람' -> '나', '는', '사', '람'
H("오늘 너무 글루미한 하루였") -> "다"
H("오늘 너무 글루미한 하루였다") -> "그"
H("오늘 너무 글루미한 하루였다 그") -> "래"
H("오늘 너무 글루미한 하루였다 그래") -> "서"
H("오늘 너무 글루미한 하루였다 그래서") -> "울"
H("오늘 너무 글루미한 하루였다 그래서 울") -> "울"
H("오늘 너무 글루미한 하루였다 그래서 울었") -> "다"
이러한 방식으로(겨우) chatgpt는 다음 단어를 예측할뿐이다. 그렇게 방금만든 음절을 문장에 넣고 다시 chatgpt 모델에 들어가면 다음 말이 나온것에 불과하다(정확히는 챗gpt는 벡터를 쏟아내고 그 첫번째 벡터를 작은 neural net에 넣으면 그 neural net이 벡터를 해석해서 각 단어마다 확률 값을 내놓으면 최대 확률인 값을 내놓는것이다)
예를들면 H("오늘 너무 글루미한 하루였다 그래서 울었") -> "다" 에서 H("오늘 너무 글루미한 하루였다 그래서 울었")의 벡터를 최종 neural net에 넣으니 '다'의 확률이 가장 높았던 것일 뿐이다.
이 대단한 심플한 반복의 과정이 그렇게 다양하고 찬란한 결과물을 내놓는다.
gpt는 인류가 만들어낸 최적의 정보저장방법론(gpt에 넣은 정보량과 gpt paramters가 차지하는 사이즈를 비교해보자)이자, 최고의 지적 process 방법론이다 여지껏 인류가 발견한