생성형 AI가 프롬프트를 이해하는 원리
앞서 소개한 것처럼, AI는 함수(Function)
입니다. 다만 수학 시간에 배운 f(x) = 3x + 2와 같은 단순한 함수가 아닌, f(수 없이 많은 변수) = 광범위한 출력 경우의 수
와 같이 평범한 사람이 이해하기 어려울 정도로 복잡한 함수입니다.
사람의 지능이 뇌로부터 발현되는 것과 같이, AI의 지능은 복잡한 함수들로 구성된 모델로부터 나옵니다. AI 모델은 데이터를 학습해 사람의 뇌와 유사한 뉴런(뇌의 신경세포)을 만들고, 이를 바탕으로 주어진 문제를 해결합니다.
최근 출시된 생성형 AI의 뉴런은 트랜스포머(Transformer)
라는 모델을 활용합니다. 트랜스포머는 입력받은 프롬프트를 단어와 토큰과 같은 하위 단위로 나누어 분석하고, 이를 바탕으로 다음 단어를 확률적으로 예측해 문장을 생성합니다.
AI가 프롬프트를 이해하는 과정은 크게 4단계로 나눌 수 있습니다.
1. 토큰화(Tokenization)
토큰
은 문장을 단어, 구두점, 숫자 등으로 나눈 작은 단위를 의미합니다. AI가 프롬프트 "고양이는 나무 위에 올라갔다"를 입력받으 면, AI는 이 문장을 토큰으로 나눕니다.
고양이 / 는 / 나무 / 위 / 에 / 올라갔다
각각의 토큰은 AI가 학습한 데이터에서 의미를 찾아내고, 문장의 문맥을 파악하는 것을 돕습니다. 토큰은 AI 모델마다 조금씩 다르게 정의될 수 있으나, 일반적으로 아래와 같이 정의됩니다.
영문 토큰화
영문 토큰화는 주로 공백이나 구두점(punctuation, 마침표와 같이 문장에 사용하는 기호)을 기준으로 단어를 분리합니다.
예시: "The quick brown fox jumps over the lazy dog."
이 문장을 토큰화하면 다음과 같이 10개의 토큰으로 분리할 수 있습니다.
- The
- quick
- brown
- fox
- jumps
- over
- the
- lazy
- dog
- .
여기서 각 단어와 구두점이 하나의 토큰이 됩니다.
하나의 단어도 접두사, 패턴, 접미사에 따라 여러 토큰으로 분리될 수 있습니다. 예를 들어, "unconcious"라는 단어는 un(반대를 나타내는 접두사), conc(영어 단어에 자주 나타나는 패턴), ious(영어 단어에 자주 나타나는 접미사)라는 하위 요소로 분리되어 3개의 토큰으로 인식될 수 있습니다.
한글 토큰화
한글의 토큰화는 조금 더 복잡합니다. 한글은 조사와 어미 변형이 많기 때문에, 주로 단어 단위 토큰화보다는 형태소(언어에서 의미를 갖는 최소 단위) 기준 토큰화를 사용합니다.