AI는 내가 묻는 말을 어떻게 알아듣고 답을 만들까?(토큰, 다음 토큰 예측, 생성)

 

AI는 내가 묻는 말을 어떻게 알아듣고 답을 만들까?

AI와 대화를 하다 보면 가끔 이상한 기분이 듭니다.

“오늘 기분이 좀 가라앉는데, 특별한 이유는 없는 것 같아.”

이렇게 한마디 했을 뿐인데 AI가 제법 그럴듯하게 대답합니다.

“특별한 이유가 떠오르지 않더라도 몸이 피곤했거나, 최근 여러 일이 겹치면서 감정이 천천히 가라앉았을 수도 있어요.”

그러면 문득 궁금해집니다.

AI는 내가 하는 말을 정말 알아듣는 걸까?

사람에게 말을 하면 우리는 대충 그 과정을 짐작할 수 있습니다. 귀로 말을 듣고, 단어의 뜻을 이해하고, 상대방의 표정이나 상황도 살피면서 무슨 뜻인지 판단합니다.

그런데 AI에게는 사람처럼 귀도 없고, 살아오면서 겪은 경험도 없습니다.

그렇다면 AI는 도대체 어떻게 우리가 묻는 말을 받아들이고, 그럴듯한 답을 만들어내는 것일까요?


AI에게 문장은 처음부터 ‘문장’이 아니다

우리가 AI에게 이렇게 물었다고 해보겠습니다.

“오늘 저녁에 비가 올까?”

사람에게는 이것이 하나의 문장입니다.

하지만 AI가 이 문장을 처리하는 방식은 조금 다릅니다. 먼저 문장을 그대로 한 덩어리로 받아들이는 것이 아니라, 처리할 수 있는 작은 단위들로 나눕니다.

이 작은 단위를 토큰(token)이라고 합니다.

토큰은 반드시 단어 하나와 일치하지는 않습니다. 어떤 경우에는 하나의 단어가 여러 토큰으로 나뉘기도 하고, 문장부호나 단어의 일부가 하나의 토큰이 되기도 합니다. 모델과 언어에 따라 나뉘는 방식도 달라집니다.

그러니까 우리가 보는

오늘 저녁에 비가 올까?

라는 문장이 AI 내부에서는 우리가 보는 것과는 다른 작은 단위들의 배열로 들어가는 것입니다.

여기서부터 인간과 AI의 차이가 시작됩니다.

우리는 문장을 보며 곧바로 의미를 느끼지만, AI는 먼저 계산할 수 있는 형태로 바꾸어야 합니다.


그런데 숫자로 바뀐다고 뜻을 알 수 있을까?

토큰으로 나누는 것만으로는 부족합니다.

AI는 각각의 토큰을 계산할 수 있도록 수치적인 표현으로 바꿉니다. 아주 단순하게 말하면, 글자를 AI가 계산할 수 있는 숫자들의 위치와 관계로 바꾸는 것입니다.

이때 중요한 것은 단어 하나의 뜻만 따로 보는 것이 아니라는 점입니다.

예를 들어,

배를 먹었다.
배를 탔다.
배가 아프다.

여기에는 모두 ‘배’라는 말이 들어갑니다.

하지만 우리는 앞뒤 문장을 보고 각각 과일, 선박, 신체 부위를 가리킨다는 것을 압니다.

AI 역시 ‘배’라는 글자 하나만 보고 의미를 결정하는 것이 아니라 주변에 어떤 말들이 함께 있는지, 서로 어떤 관계에 놓여 있는지를 계산하면서 문맥을 구성합니다.

현대의 많은 언어모델이 사용하는 Transformer 구조에서는 이런 관계를 다루기 위해 어텐션(attention)이라는 메커니즘이 중요한 역할을 합니다. Transformer는 2017년 발표된 논문 「Attention Is All You Need」에서 제안된 구조입니다.

어텐션이 정확히 무엇인지는 뒤의 글에서 따로 살펴보겠습니다.

지금은 이렇게만 기억해도 충분합니다.

AI는 단어를 사전처럼 하나씩 읽는 것이 아니라, 여러 토큰의 관계를 함께 계산하면서 문맥을 만들어간다.




그렇다면 AI는 내 질문의 ‘뜻’을 이해한 것일까?

여기서 조금 조심해야 합니다.

우리는 AI가 적절한 답을 하면 자연스럽게 이렇게 말합니다.

“내 말을 이해했네.”

일상적으로는 그렇게 표현해도 별문제가 없습니다.

하지만 기술적으로 조금 더 들여다보면 인간이 말하는 ‘이해’와 AI가 하는 계산을 그대로 같은 것으로 볼 수는 없습니다.

사람이

“비가 온다.”

라는 말을 들을 때는 비 냄새를 떠올릴 수도 있고, 젖었던 기억이나 우산을 놓고 나온 경험을 떠올릴 수도 있습니다.

AI에게 그런 인간의 삶의 경험이 반드시 있는 것은 아닙니다.

대신 학습 과정에서 수많은 텍스트 속에 나타났던 단어와 문장 사이의 패턴과 관계를 바탕으로 현재 입력을 처리합니다. OpenAI 역시 언어모델의 학습을 설명하면서, 모델이 많은 텍스트에서 패턴을 학습해 다음에 올 가능성이 높은 내용을 예측하는 능력을 발전시킨다고 설명합니다.

그래서 여기서는 조금 정확하게 표현해보겠습니다.

AI가 인간처럼 뜻을 경험한다고 단정하기보다는, 입력된 문장의 관계와 패턴을 계산해 그 문맥에 맞는 다음 출력을 만들어낸다고 보는 편이 안전합니다.

이 차이는 앞으로 AI를 이해하는 데 꽤 중요합니다.


그런데 문맥을 파악한 다음에는 어떻게 답을 만들까?

여기서 더 재미있는 일이 벌어집니다.

AI는 머릿속 어딘가에 완성된 답변을 미리 저장해 두었다가 꺼내는 것이 아닙니다.

예를 들어 내가 이렇게 묻습니다.

“서울은 대한민국의…”

그러면 AI는 다음에 무엇이 이어질 가능성이 높은지를 계산합니다.

‘수도’가 올 가능성이 매우 높겠지요.

그런데 다음 문장은 어떨까요?

“비 오는 날에는…”

뒤에 올 수 있는 말이 훨씬 많아집니다.

우산을 쓴다.
길이 미끄럽다.
파전이 생각난다.
집에 있고 싶다.

모두 가능한 문장입니다.

AI는 이런 여러 가능성 가운데 현재 문맥에서 다음에 올 토큰들의 가능성을 계산하고 그 가운데 하나를 선택합니다.

그리고 끝이 아닙니다.

하나를 선택한 뒤 다시 그다음 토큰을 예측합니다.

또 선택합니다.

다시 예측합니다.

이 과정이 반복되면서 우리가 보는 한 문장의 답변이 만들어집니다.

즉,

한 번에 완성된 문장을 생각해서 내놓는 것이 아니라, 다음에 올 것을 계속 예측하면서 문장을 생성해 가는 것입니다.


그러면 AI는 결국 ‘다음 단어 맞히기 기계’일 뿐일까?

여기서 많은 사람이 다시 의문을 갖습니다.

“잠깐, 결국 다음 단어를 예측하는 거라면 별것 아닌 것 아닌가?”

겉으로 보면 그렇게 느껴질 수 있습니다.

하지만 문제가 그렇게 단순하지는 않습니다.

다음에 무엇이 올지를 잘 예측하려면 앞에 나온 내용의 관계를 상당히 잘 반영해야 하기 때문입니다.

예를 들어,

“철수는 우산을 들고 나왔다. 하늘에는 먹구름이 가득했다. 잠시 후…”

라는 문장에서 다음 내용을 제대로 이어가려면 ‘철수’, ‘우산’, ‘먹구름’, 날씨에 관한 관계를 함께 반영해야 합니다.

더 복잡한 질문에서는 앞서 제시된 조건, 개념, 문장의 관계를 훨씬 더 많이 고려해야 합니다.

그래서 ‘다음 토큰 예측’이라는 학습과 생성 원리는 단순해 보이지만, 그 과정에서 만들어지는 내부 계산은 매우 복잡할 수 있습니다.


그리고 바로 이 지점에서 재미있는 질문이 하나 생깁니다.

그렇게 다음 토큰을 예측하는 시스템에서 우리가 ‘추론’이라고 부르는 현상은 어떻게 나타나는 것일까?

이 문제는 뒤에서 다시 살펴보겠습니다.


답이 만들어지는 과정을 아주 단순하게 펼쳐보면

우리가 AI에게 질문을 하나 입력했다고 해보겠습니다.

“고양이는 왜 높은 곳을 좋아해?”

AI의 내부에서 일어나는 과정을 아주 거칠게 단순화하면 이렇습니다.

사람의 질문

“고양이는 왜 높은 곳을 좋아해?”

작은 단위로 나눈다

토큰

계산할 수 있는 형태로 바꾼다

숫자적 표현

토큰들의 관계와 문맥을 계산한다

‘고양이’
‘높은 곳’
‘좋아하다’
‘왜’

다음에 올 수 있는 여러 토큰의 가능성을 계산한다

하나를 선택한다

선택한 토큰까지 포함하여 다시 다음 토큰을 계산한다

이 과정을 반복한다

우리에게 한 문장으로 보이는 답변이 완성된다

OpenAI의 설명에서도 입력 텍스트는 토큰으로 나뉘어 처리되고, 출력 역시 토큰들의 연속으로 생성된 뒤 우리가 읽을 수 있는 텍스트로 나타난다고 설명합니다.



그런데 여기서 이상한 점이 하나 있다

이 구조를 알고 나면 AI와 대화할 때 전에는 보이지 않던 것이 하나 보이기 시작합니다.

AI의 답은 어디선가 찾아온 ‘정답 문장’이 아닐 수 있다는 것입니다.

우리가 질문을 입력한 순간,

학습되어 있던 수많은 관계와 패턴,
현재 대화의 문맥,
입력된 단어들 사이의 관계가 작용하면서

그 자리에서 답이 생성됩니다.



그래서 AI가 아주 자연스럽게 말한다고 해서 그 문장이 자동으로 사실이 되는 것은 아닙니다.

문장을 잘 만드는 능력과 사실을 정확하게 아는 능력은 같은 능력이 아니기 때문입니다.

이 차이를 이해하면 AI를 대하는 태도도 조금 달라집니다.

AI의 문장을 보자마자

“AI가 그렇게 말했다.”

에서 멈추는 것이 아니라,

“이 답은 어떤 과정을 거쳐 만들어졌을까?”

라고 한 번 더 바라볼 수 있게 됩니다.

바로 여기서 AI 리터러시가 시작됩니다.




잠깐, 그렇다면 검색하는 AI도 같은 방식일까?

여기서 다음 질문이 생깁니다.

AI에게 오늘 날씨나 최근 뉴스를 물어보았는데 정확한 자료와 출처까지 보여준다면 어떨까요?

그것도 모두 학습한 것을 기억해서 말하는 것일까요?

아니면 인터넷 어딘가에서 답을 찾아오는 것일까요?

실제로 검색해서 정보를 가져오는 과정과, 가져온 정보를 바탕으로 문장을 생성하는 과정은 서로 구분해서 볼 필요가 있습니다.

그래서 다음 글에서는 이 질문에서 시작해보겠습니다.

“AI는 인터넷에서 답을 찾아서 말해주는 걸까?”



다음 글 — 검색하는 AI와 생성하는 AI는 무엇이 다른가

댓글

이 블로그의 인기 게시물

AI는 왜 존재하지 않는 출처까지 만들어낼까?

AI가 "나는 이렇게 느낀다"고 말할때 우리는 무엇을 보고 있나!

AI는 왜 틀린 말도 사실처럼 말할까?