관리 메뉴

Douglas' Space

chatGPT에 대해서 본문

Computing Tech. Diary/Artificial Intelligence

chatGPT에 대해서

똘키아빠 2023. 3. 25. 13:39

이제는 너무나도 잘아는 chatGPT(Generatie Pre-trained Transformer)이지만 워낙 화두가 되다보니 이에 대해 글을 정리할 필요가 있어서 본 글을 작성해 보았습니다. chatGPT를 이용하거나 사용하는 관점이라기 보다 어떻게 chatGPT가 만들어졌는지의 관점에서 기존의 이 섹션에서 소개한 인공지능 기술들을 기준으로 설명을 드리고자 합니다. (사실 GPT의 마지막단어가 Transformer라는 것을 생각하면 지난번 소개한 구글의 Transformer모델이 등장하면서 언어모델 뿐만 아니라 다른 인공지능 모델에 많은 영향을 주었습니다. GPT3 등과 같은 초거대언어모델 및 멀티모달 인공지능 모델, 자기주도학습모델 들이 예견되었다고 해도 과언이 아닐 정도로 Transformer기술이 근본 뿌리가 아닐까 생각합니다. )
 
 
결국 초거대언어모델의 경쟁은 학습을 위한 파라미터의 갯수(절대적이지는 않지만)로 이야기할 수 있으며, 이에 대해서는 지난번 글에서도 소개를 했지만 국내 및 국외에서도 초거대모델 개발을 진행중입니다. (그러나 이 경쟁은 결국 모델자체의 성능도 중요하지만 컴퓨팅 및 인적자원을 활용하여 누가 얼마나 큰 규모로 학습하고 서비스하는 가에 그 승패가 달려 있는 것 같습니다. 현재는 MicroSoft가 엄청난 돈을 투자한 chatGPT가 기선을 잡은 듯이 보입니다.)
 
 

GPT3의 파라미터의 개수 (참조: https://medium.com/analytics-vidhya/openai-gpt-3-language-models-are-few-shot-learners-82531b3d3122)

 
 
chatGPT는 초거대언어모델인 GPT3를 개발한 OpenAI에서 개발한 챗봇이라고 할 수 있습니다. OpenAI는 또 잘 알다시피 이미지생성모델인 DALLE-2라는 것도 개발하였습니다. 그런데 이번의 chatGPT는 사람이 질문하면 마치 옆에 앉아서 질문에 대답하는 또 다른 사람이 있는 것처럼 튜링테스트를 통과할 만한 진정한 인공지능의 모습을 탑재한 것 같아 많은 사람들이 놀라고 있는 것 같습니다. 
 
 

DALLE-2에게 chatGPT에 대해 제시한 글을 기반으로 형상화한 그림

 
결론적으로는 chatGPT는 GPT3을 기반으로 챗팅 기능을 위해 RLHF(Reinforcement Learning from Human Feedback)라는 사람에 의한 강화학습을 통해 개발된 새로운 언어모델로서, 2021년까지의 데이타를 학습하였다고 합니다. (GPT3는 기존의 어떤 제시어를 주면 이를 기반으로  소설 등과 같은 글을 생성하거나 번역을 하거나 프로그래밍 등을 하는 언어생성모델이라고 할 수 있습니다. 따라서 chatGPT를 GPT3.5라고 하는 것 같습니다.) 이는 openAI의 논문 "Training language models to follow instructions with human feedback"를 기반으로 합니다. 이 논문에서는 이 모델을 instructGP라고 부르고 있습니다.
 
 
chatGPT모델의 기술적 학습과정을 위의 논문을 기준으로 하면 크게 3단계로 구분할 수 있습니다. 첫번째 Pretraining language model 학습, 두번째 Reward model 학습, 세번째 강화학습으로 Fine-tuning 하는 것입니다.
 
 

intstructGPT에서의 3단계 학습방법 (논문참조)

 
 
첫번째는 기존의 GPT3모델에 사람이 직접 질의문과 정답문을 작성하여 (40명이 13,000개 작성하였다고함.) supervised fine-tuning을 수행하였다고 합니다. 따라서 사람이 제시하는 질문을 이해하고 이에 적절한 답을 구해주는 능력을 GPT3에 추가하여 모델에 탑재하게 되었습니다. 
 
 

intstructGPT에서의 1단계 학습방법 (참조: https://huggingface.co/blog/rlhf)

 
 
두번째 단계는 강화학습을 위해 보상값을 생성하는 환경모델을 개발하는 것입니다.  이 보상모델은  33,000개의 질문에 대해 1단계에서 학습한 언어모델이 생성한 답에 대해 사람이 생각하는 선호도(특정 값이 아니라 다수의 답에 우선순위를 다수의 사람이 부여하여 상대적으로 계산)를 입력값으로 하여 보상값을 최종 출력하는 강화학습을 진행합니다.
 
 

intstructGPT에서의 2단계 학습방법 (참조: https://huggingface.co/blog/rlhf)

 
 
마지막 세번쩨 단계에서는 최종 학습모델을 개발하기 위해 초기 모델을 강화학습으로  fine-tuning하는 단계입니다. 초기 학습모델에서 출력한 결과에 대해 보상모델에서 출력한 보상값으로 학습모델의 정책을 학습해 가는 과정으로서 openAI에서 개발한 PPO(Proximal Policy Optimization)라는 policy 기반 강화학습방법으로 최종 chatGPT의 모델을 생성하게 됩니다. (강화학습의 전반적인 내용은 별도로 자세한 글을 올릴 계획에 있습니다.)
 
 

intstructGPT에서의 3단계 학습방법 (참조: https://huggingface.co/blog/rlhf)

 

'Computing Tech. Diary > Artificial Intelligence' 카테고리의 다른 글

분류 모델(Classification Model)의 평가 지표  (0) 2024.11.24
회귀 모델(Regression Model)의 평가지표  (0) 2024.11.23
ANSR Program  (0) 2022.10.20
ACE Program  (0) 2022.10.09
DARPA의 AI Next Campaign  (0) 2022.08.26
Comments