저희 NLP 기초 스터디에서는 ChatGPT를 시작으로 자연어 처리(NLP)에 관심을 가지게 된 분들이 많습니다. 이는 다른 분들도 마찬가지일 것으로 보이며, GPT를 직접 사용해 본 경험이 있는 분들이 거의 대부분일거라 생각합니다. 최근 들어 다양한 생성형 AI가 등장하고 있지만, 여전히 가장 널리 알려진 것은 GPT라는 점을 부인하기 어렵습니다. 오늘은 GPT의 역사와 각 버전의 작동원리, 그리고 앞으로의 발전 방향에 대해 알아보는 칼럼을 준비했습니다.

GPT-1

먼저 GPT-1 부터 시작해보도록 하겠습니다.

GPT란 무엇인가?

Generative Pre Training.png

GPT는 Generative Pre-Training of a language model의 약자입니다. GPT를 이해하기 위해 이름에 또렷이 나타나는 이 세 가지 컨셉을 알아보고 시작하겠습니다.

Pasted Graphic 8.png

첫째, Language Model (언어 모델) 입니다. Language model은 현재 알고 있는 단어들을 기반으로 다음 단어를 예측하는 데 많이 사용되는 모델입니다. 쉬운 예제로 검색창에 단어를 입력하다보면 다음 단어가 미리 예측되는 것을 보신 적이 있으실겁니다. Deep learning Tutorial 을 검색하려고 Deep learning이라는 단어를 입력했을 때 검색 키워드를 미리 띄워주는 language model이 사용될 수 있습니다. 많은 단어를 입력할 수록 제가 원하는 값을 잘 예측해줍니다. 이 정도면 훌륭한 language model이라 할 수 있겠습니다.

Pasted Graphic 9.png

GPT가 언어 모델(Language Model)을 사용하는 이유

이제 GPT가 왜 언어 모델(Language Model)을 사용하는지에 대해 살펴보겠습니다. 언어 모델의 가장 큰 장점 중 하나는 데이터에 별도의 레이블링(labeling)이 필요하지 않다는 점입니다. 전통적인 자연어 처리(NLP) 머신러닝 모델들을 떠올려보면, 대부분 레이블이 부착된 학습 데이터를 요구합니다. 이러한 레이블링 과정은 사람이 직접 데이터를 태깅(tagging)해야 하기 때문에 상당한 비용과 시간이 소요됩니다. 더군다나, 사람이 만든 레이블링 결과도 완벽히 정확하지 않을 가능성이 높습니다.

반면, 언어 모델은 이러한 레이블링 과정을 필요로 하지 않습니다. 언어 모델의 기본 학습 메커니즘은 "현재 단어를 기반으로 다음 단어를 예측하는 것"에 기반하기 때문입니다. 즉, 기존에 존재하는 대규모 텍스트 데이터를 활용해 학습할 수 있으며, 별도로 사람을 고용해 레이블링을 진행할 필요가 없습니다.

특히 방대한 양의 텍스트 데이터를 학습에 활용하면 모델의 오류가 줄어들 뿐 아니라, 우리가 이미 알고 있는 자연어의 특성뿐만 아니라 미처 알지 못했던 특성까지도 학습하게 됩니다. 이러한 학습 방식은 GPT-1의 핵심 아이디어 중 하나이며, 이를 통해 뛰어난 자연어 처리 성능을 가진 모델을 개발할 수 있는 토대를 마련했습니다.