ChatGPT에 요청을 보내면 어떤 일이 일어날까?

Yeshin Lee
3 min readOct 21, 2024

--

최근에 지인이 ChatGPT의 약자가 뭔지 아냐고 물었다. P는 프롬프트 아닌가? 했던 나 자신. 가만보니 개발하거나 글 첨삭 등 굉장히 잘 활용하고 있는 ChatGPT 자체에 대해서는 잘 모른다는 것이다. 이번 기회에 ChatGPT가 무엇인지, 요청을 보내면 어떻게 응답하는지에 대해 알아보자.

참고로 이 글 또한 ChatGPT와의 대화를 바탕으로 작성되었다.

대규모 언어 모델인 ChatGPT는 GPT 아키텍처를 기반으로 한다. GPT는 Generative Pre-trained Transformer의 약자로

  • Generative: 새로운 답변(텍스트)를 생성할 수 있다.
  • Pre-trained: 인터넷에 존재하는 방대한 데이터를 통해 미리 학습(무지도 학습, unsupervised learning)되었다. 이 때 NLM(Natural Language Modeling)이 수행된다.
  • Transformer: GPT에 사용되는 특정 신경망 구조 알고리즘으로 전체 문장의 문맥을 한 번에 파악해 중요한 부분을 이해하고, 앞에서 했던 말을 기억하면서 다음에 올 말을 예측한다.

정리하자면, Transformer 모델로 데이터 훈련을 받은 텍스트 생성 알고리즘으로 즉, 다음에 나올 단어를 예측하는 방식으로 텍스트를 생성한다.

ChatGPT에 요청을 보내면, 다음과 같은 순서로 응답한다.

  • 프롬프트 입력: 사용자가 텍스트를 입력한다.
  • 토큰화: 입력된 문장을 단어 또는 하위 단위로 쪼개서(parsing) 토큰으로 변환한다.
  • 문맥(컨텍스트) 분석: 문장 속 중요 단어를 찾아 각 단어들의 관계를 파악하는 self-attention 메커니즘을 통해 입력된 토큰간의 관계를 분석, 문맥을 이해한다.
  • 다음으로 올 토큰 예측: 인코더-디코더 구조로 개발된 Transformer 구조에서 인코더 부분을 생략하고 디코더 만으로 동작하는 autoaggressive 방식으로 이전 입력과 문맥을 바탕으로 다음에 올 토큰을 예측한다.
  • 응답 생성: 예측된 토큰을 순차적으로 생성하여 응답 문장을 만든다.
  • 디코딩: 생성된 토큰을 다시 텍스트로 변환하여 최종 응답을 형성한다.
  • 응답 출력: 완성된 텍스트 응답을 사용자에게 전달한다.

만약 추가적인 대화를 이어진다면, 모델은 이전 대화를 기억해 추가 정보를 제공하거나 문맥을 이어나갈 수 있다.

ChatGPT는 사전 학습(Pre-traning)과 미세 조정(Fine-tuning) 단계로 훈련한다. 이 때 미세 조정 단계에서는 인간이 개입된다. 트레이닝을 마치면, 사람이 이해할 수 있는 방식으로 답하도록 인간이 직접 개입(RLHF: Reinforcement Learning from Human Feedback)하여 강화 학습을 통해 모델의 응답이 더욱 자연스럽고 정확해지도록 개선한다. 여기에서 인간의 개입으로 기존 AI의 한계를 극복하려고 했다는 시도가 돋보였다. 그럼에도 불구하고 ChatGPT의 응답이 정확하지 않을 때가 있는데, 이는 학습 데이터로 사용되는 인터넷에 존재하는 데이터가 항상 정확하지 않기 때문이다.

ChatGPT는 4, 4o, 4 Turbo 버전 등 지속적인 업데이트로 더 긴 컨텍스트를 지원하면서 비용 절감 및 성능 최적화하고 있다. 앞으로 더욱 정교하게 나올 것으로 기대된다.

--

--

Yeshin Lee
Yeshin Lee

No responses yet