ChatGPT란? (개념 및 원리)

2023. 4. 14. 00:52Machine Learning

 
 이번 포스팅에서는 최근 일상 속에서 큰 화두가 된 'ChatGPT'에 대해 알아보려고 합니다. 몇 년 전 인공지능 공부를 시작한 뒤 챗봇이 발전하려면 꽤나 시간이 필요할 것이라고 생각했었습니다. 하지만 기술이 세상을 놀라게 하는데는 오랜 시간이 걸리지 않았습니다. 이런 변화에 맞춰 기술을 제대로 이해하고, 잘 활용하는 방법에 대해 고민해보는 것이 중요하다고 생각하여 GhatGPT에 대해 조금씩 공부해보려고 합니다.


1. ChatGPT 란?

 

ChatGPT 를 소개하며,

우리는 대화 방식으로 상호작용하는 모델을 훈련시켰고, ChatGPT 라고 부릅니다.

대화 형식은 ChatGPT 가 후속 질문에 답변하고, 실수를 인정하고,
잘못된 전제에 이의를 제기하고, 부적절한 요청을 거부할 수 있도록 합니다.

- OpenAI -

ChatGPT 메인화면 - 소개글

 
  ChatGPT란 OpenAI에서 개발한 GPT-3.5 기반의 대형 언어 모델(Large Language Model, LLM) 챗봇입니다. 대형 언어모델(LLM)은 일련의 단어에서 다음 단어를 예측하는 작업을 수행하는 생성형 모델입니다. 또한, ChatGPT는 인간 피드백형 강화학습 (Reinforcement Learning with Human Feedback, RLHF) 을 사용하는데, 이는 사용자의 질문에 만족스러운 반응을 생성하는 능력을 학습하기 위해 인간 피드백을 사용하는 추가 훈련 계층을 말합니다.
 

2. ChatGPT의 원리

 
(1) 대형 언어 모델 (LLM)
 
  대형 언어 모델은 문장에서 다음에 오는 단어를 정확하게 예측하기 위해 방대한 양의 데이터로 훈련되는데, 데이터의 양을 늘리면 언어 모델의 수행 능력이 증가하는 것으로 나타났습니다. 스탠포드 대학에 따르면, GPT-3는 1,750억 개의 매개변수를 가지고 있으며 570GB의 텍스트를 학습하였습니다. 이는 15억 개의 매개변수를 가진 GPT-2에 100배에 해당하는 수치입니다. 
 

단계시기매개변수주요기능
GPT-12018년 6월1억1700만개문장 의미 유사도 판단, 분류
GPT-22019년 2월15억개번역, 작문, 간단한 대화
GPT-32020년 5월1750억개간단한 코딩, 텍스트 요약
GPT-3.52022년 11월1750억개시나리오·보고서 작성, 광고 카피 생성
GPT-42023년 3월비공개텍스트·이미지 동시 이해, 단어처리능력 8배 강화

GPT 발전 단계 (출처:아시아경제, 2023-03-15)

 
(2) 인간 피드백형 강화학습 (RLHF)
 
  대형 언어 모델을 통해 사용자들은 단락 뿐만 아니라 여러 페이지의 문서를 작성할 수도 있습니다. 그러나 대형 언어 모델은 인간이 원하는 것을 정확히 이해하지 못한다는 점에서 한계가 있습니다.
 

GPT 답변 예시 (출처: OpenAI, https://openai.com/research/instruction-following)

  예를 들어, GPT-3는 달착륙에 대해 6살 아이에게 몇 문장으로 설명하라고 했을 때, 비슷한 질문을 반복하는 식으로 사용자의 지시를 이해하지 못합니다. 이러한 한계점을 개선하기 위해 인간 피드백형 강화학습이 활용되었습니다.
 

3. ChatGPT의 훈련

 
  GPT-3.5는 2021년 4분기 이전에 게시된 수십만 개의 위키피디아, SNS, 뉴스 기사 등으로 훈련되었고, ChatGPT가 대화를 학습하고 인간처럼 반응하도록 돕기 위해 온라인 커뮤니티 내 토론과 같은 소스를 포함하여 인터넷의 코드 및 정보 등 방대한 양의 데이터를 통해 훈련되었습니다.
 

출처: https://lifearchitect.ai/chatgpt/

 
  OpenAI는 GPT-3에서 모델이 사용자의 의도를 이해하고, 유용한 답을 제공하도록 만들기 위해 인간 피드백형 강화학습 기법(RLHF)을 적용한 InstructGPT를 개발하였고, 이후 인종차별, 혐오, 폭력 등 민감한 문제에 답변하지 않도록 가이드라인 장치를 더해 GPT-3.5 기반의 ChatGPT를 발표하였습니다.
 

InstructGPT 학습 방법 (출처: OpenAI, https://openai.com/research/instruction-following)

 
  InstructGPT 학습 방법을 간단히 살펴보면, 프롬프트 샘플에 대해 라벨러가 답변을 작성하고, 이것을 GPT-3의 fine-tuning에 활용합니다(지도학습). 그 다음 프롬프트 샘플에 대한 모델의 여러가지 답변에 대해 라벨러가 순위를 매기면, 이것을 가지고 보상 모델을 학습시킵니다. 그 다음 새로운 프롬프트에 대해 강화학습 모델(PPO, Proximal Policy Optimization)은 답변을 생성하고, 보상모델이 답변에 대한 보상값을 산출하면 이것을 강화학습 모델 업데이트에 활용합니다. 이 과정을 반복합니다.
 
  ChatGPT는 안전한 사용을 위해 자체 필터링 기능을 통해 텍스트에서 민감한 내용을 감지하고 이를 필터링합니다. 이 기능은 OpenAI의 학습데이터에서 유추된 패턴을 기반으로 하며, 모델 학습시 민감한 주제나 유해한 내용을 포함하고 있는 데이터셋은 필터링하여 사용하지 않습니다. 주요 필터링 대상은 선정성, 욕설, 유해한 내용을 포함한 질문, 어린이 보호법 등과 같은 법에 저촉될 수 있는 질문 등 입니다. (이 부분은 ChatGPT에 직접 질문하여 얻은 답변으로 잘못된 부분이 있으면 댓글로 남겨주세요.)

 

4. ChatGPT의 한계점 

 
  OpenAI 스스로 공개한 한계점은 다음과 같습니다.
 
(1) ChatGPT는 그럴듯하게 들리지만 부정확하거나 말도안되는 대답을 제공할 수 있습니다. 하지만 이 문제를 해결하는 것은 다음과 같은 이유에서 어려움이 있습니다:

  • 강화학습 훈련 중에는 사실의 출처를 기반으로 하지 않습니다.
  • 모델이 더 신중하게 대답하도록 훈련시키면 모델은 올바르게 답변할 수 있는 질문도 거부할 수 있습니다.
  • 지도학습에 의해서 모델의 이상적인 답변은 학습한 내용에 의해 결정됩니다.

 
(2) ChatGPT는 입력 문구를 조정하거나 동일한 프롬프트를 여러 번 시도하는것에 민감하게 반응합니다. 예를 들어, 한 질문에 모델은 답을 모른다고 주장할 수 있지만, 문구를 약간 수정하면 답을 얻을 수도 있습니다.
 
(3) ChatGPT는 종종 지나치게 장황하고 특정 문구를 과도하게 사용합니다. 이러한 문제는 훈련데이터의 편향과 모델 과적합 문제에 의해 발생합니다.
 
(4) 이상적으로는 사용자가 애매한 질문을 했을 때 모델이 명확화된 질문을 할 수 있습니다. 하지만 현재 모델은 사용자가 의도한 바를 일반적인 관점에서 추측합니다.
 
(5) 모델이 부적절한 요청을 거부하도록 훈련시켰지만 유해한 지시에 대응하거나 편향된 행동을 보일 수 있습니다. Moderation API를 사용하여 특정 유형의 안전하지 않은 콘텐츠를 경고 또는 차단하지만 아직 부족한 부분이 있을 수 있습니다. 이를 개선하기 위한 작업으로 사용자의 피드백을 수집하기를 원합니다.
 


5. 참고자료

1. https://openai.com/blog/chatgpt
2. https://seo.tbwakorea.com/blog/what-is-chatgpt
3. https://blog-ko.allganize.ai/chatgpt-how-to-use/