다들 이 기사 보셨나요? (기사)
직장인 10명 중 7명이 챗GPT를 매일 사용하고 있다는 뉴스요. 잡플래닛에서 직장인들을 대상으로 조사한 내용인데, 일상생활에서가 아닌 직장에서 훨씬 더 많이, 그리고 자주 챗GPT를 사용하고 있다고 조사됐습니다. 아마 많은 분들이 공감하고 계실 것 같아요. 이렇게 많이 사용을 하다 보면 조금씩 익숙해지고, 또 궁금해지는 것이 있죠. "얘가 도대체 어떻게 이렇게 답변을 잘 해주는거지?"라는 궁금증이요. (저만 그런가요?ㅎㅎ)
그래서 정리했습니다. 어려운 알고리즘이나 수식 하나도 없고요, 가볍게 휘리릭 읽고 이해할 수 있는 LLM의 (가장 기본적인) 작동 방식!
대략적으로라도 핵심을 파악하고, 개념적으로 이해하고 있으면 앞으로 챗GPT 사용하는 게 더 재밌어질거에요.
생성형AI의 작동 방식, Next token prediction
LLM은 텍스트를 받아 텍스트를 뱉어냅니다. 무슨 텍스트를 뱉을지는 어떻게 결정할까요? 바로 다음에 올 단어를 ‘예측’을 해서 내뱉습니다. 이러한 예측은 이전에 받았던 훈련 데이터에 기반으로 합니다. 정리해보면 LLM은 순차적인 텍스트를 입력으로 받아 훈련 데이터에 기반하여 다음에 올 단어(토큰)을 예측하는 ‘예측 엔진’입니다. (토큰은 다음 편에 따로 다룰 예정이며, 이번 편에서는 토큰 대신 단어라고 표현하겠습니다.)
간단한 예시를 들기 위해, 챗GPT에게 "한국의 수도는"이라고 문장을 입력했습니다. 그리고 "한국의 수도는 서울입니다."라는 답변을 받았네요. (당연하죠?) 어떻게 챗GPT는 뒷 글자에 '서울입니다'를 작성한 걸까요?

LLM 안에서는 어떤 일이 벌어지는지 가볍게 살펴보겠습니다. 먼저 LLM 안에는 어휘 집합(vocabulary)이라는 것이 있습니다. LLM이 이해하고 쓸 수 있는, 알고 있는 말들의 집합입니다. 이 어휘 집합 안에서 다음에 올 단어를 골라야 합니다. 바로 '확률'을 사용해서 골라냅니다. 엄청난 계산력으로 어휘 집합 속 모든 단어들마다 "한국의 수도는" 뒤에 올 수 있을 확률을 계산합니다. 어휘 집합이 국어사전이라고 친다면, 국어사전의 맨 첫 글자부터 시작해서 맨 마지막 페이지의 글자까지, 모든 단어에 대한 확률 분포를 만드는데, 그중에서 가장 확률이 높게 나온 단어들을 선택합니다.
(호오오옥시나 다음 단어 예측하는 확률을 계산하는 법이 궁금하다면 transformer 아키텍쳐를 검색해서 찾아보시길 추천드려요.)

“서울”은 76.53%, “무엇”는 8.21% … 가장 높은 확률을 가지고 있는 단어가 “서울”이기 때문에 LLM은 서울을 선택하여 “한국의 수도는 서울”이 됩니다. 이렇게 단어 하나를 추가한 다음에는 그 다음 단어를 맞추기 위해 예측 과정을 반복합니다. “한국의 수도는 서울”이라는 텍스트 뒤에 올 수 있는 단어들에 대한 확률을 다시 계산을 합니다. 그 결과 “입니다”가 가장 높게 나오면 “한국의 수도는 서울입니다”가 완성이 되는 것이죠.
중요한 것은 다음 글자를 업데이트한 다음에는, 다시 처음부터 기존에 만든 모든 글자들을 포함하여 다음 단어를 예측한다는 것입니다. 즉, 현재까지 생성한 모든 단어(문맥)을 고려하고, 학습 과정에서 접한 패턴과 데이터를 고려해서 다음 단어를 예측합니다. 이 과정을 반복하며 텍스트가 순차적으로 구성되고, 각 예측은 이전 예측의 결과를 고려해 이루어집니다.
참고로 GPT의 약자는 Generative Pre-trained Transformer로, 여기서 Transformer는 전체 문맥을 이해하고 다음 토큰을 예측하는 핵심 알고리즘 구조입니다. Claude, Gemini, Grok 등 현재 주목받는 대부분의 LLM들 역시 모두 이 Transformer 아키텍처를 기반으로 하고 있습니다. 즉, 요즘 많은 사람들이 쓰는 모델들의 말을 만들어 내는 원리는 기본적으로 동일하다는 뜻입니다. 하지만 학습한 데이터와 학습 방식이 조금씩 달라 각기 다른 '성격'을 가지게 되었습니다.
"내 질문/입력에 대해 이어질 가장 높은 확률의 단어들을 만들어낸다"는 사실은, 거꾸로 내가 원하는 결과를 얻기 위해서 어떻게 질문/입력을 주면 좋을지에 대한 인사이트로 이어질 수 있습니다. 이러한 분야가 프롬프트 엔지니어링이라는 분야인데요. 추후에 또 다뤄보도록 하겠습니다.
놀라울 정도로 유창한 대화를 이어가는 오늘날의 AI 모델들 속에는 이처럼 '전체 문맥을 고려해 다음 단어를 예측한다'는 간단하면서도 강력한 원리가 담겨 있다는 점! 복잡해 보이는 AI의 능력도 결국은 이런 기본 원리에서 출발한다는 게 흥미롭지 않나요?
*이 내용은 AI 전문 뉴스레터 "AI안테나"에 실린 글을 토대로 재작성한 글입니다.
뉴스레터를 구독하시면 AI 소식들과 인사이트를 가장 빠르게 접할 수 있어요.
뉴스레터 구독은 이 링크로 들어와 주세요!