정의
토큰(Token)은 인공지능 모델이 사람의 언어를 이해하고 처리하기 위해 글을 잘게 쪼갠 기본 조각 단위예요. 컴퓨터는 글자를 직접 계산할 수 없기 때문에, 문장을 토큰이라는 글자 조각으로 나눈 뒤 각각에 고유한 번호를 붙여 계산해요.
AI가 글을 씹어 삼키는 한 입 크기
긴 빵을 먹기 좋은 크기로 칼로 썰어 먹듯이, 인공지능도 글자를 숫자로 바꿔 계산하려면 미리 정해 둔 조각 단위가 필요해요. 그래서 컴퓨터가 다룰 수 있는 정해진 크기의 조각으로 문장을 자르는데, 이 잘린 조각 하나하나를 토큰이라고 불러요.
토큰은 무조건 단어 하나나 글자 하나와 일치하지 않아요. '사과'처럼 짧은 단어는 조각 하나가 되지만, '사과나무를'처럼 긴 단어는 '사과', '나무', '를'처럼 자주 함께 나오는 글자 묶음에 따라 여러 조각으로 쪼개지기도 해요.
영어와 한글의 쪼개지는 방식도 서로 달라요. 영어 단어는 알파벳 몇 개가 모여 하나의 토큰이 되는 경우가 많지만, 한글은 글자 종류가 1만 개가 넘고 학습 자료에 상대적으로 덜 나와서, 자주 쓰이지 않는 글자는 토크나이저에 따라 한 글자가 여러 개의 토큰으로 쪼개지기도 해요.
결국 우리가 문장을 낱말 단위로 나눠 이해하듯, 인공지능은 토큰 단위로 글을 다뤄요. 이렇게 문장을 적절한 조각으로 나누어 두어야 다음 분석과 생성 작업을 수월하게 진행할 수 있답니다.
글자 조각이 숫자로 변신하는 과정
인공지능은 글자를 그대로 다루지 못하고 숫자로 바꿔 계산해요. 그래서 글자를 쪼개서 토큰으로 만든 다음에는, 커다란 단어 사전을 펼쳐 각 조각에 고유한 번호표(ID 숫자)를 붙여요.
예를 들어 '사과'라는 토큰에 '4201'이라는 번호가 매겨져 있다면, 인공지능은 '사과'라는 글씨 대신 '4201'이라는 숫자를 넘겨받아 복잡한 수학 연산을 시작해요. 이처럼 문장을 토큰으로 쪼개고 숫자로 바꾸는 전체 과정을 '토큰화'라고 불러요.
인공지능이 답변 글을 써서 우리에게 보여줄 때도 원리는 완전히 같아요. 다음에 올 가장 알맞은 번호를 수학적으로 계산해 찾아낸 뒤, 그 번호에 해당하는 글자 조각을 다시 이어 붙여 완성된 문장으로 만들어 내는 거예요.
우리가 챗봇과 대화를 나누는 짧은 순간에도, 컴퓨터 내부에서는 수많은 글자 조각이 숫자로 바뀌었다가 다시 글자로 조립되는 마법 같은 과정이 쉼 없이 일어나고 있어요.
조금 더 정확히 말하면
조금 더 정확히 말하면, 토큰은 인공지능 서비스의 요금 계산서이자 두뇌 기억력의 한계를 정하는 기준이에요. 챗봇을 만들거나 API로 이용할 때 지불하는 비용은 단순히 글자 수가 아니라 입력한 토큰과 출력한 토큰의 개수에 따라 정해지거든요. 보통 입력과 출력의 단가는 서로 달라요.
또한 인공지능 모델이 한 번에 기억하고 참고할 수 있는 대화의 길이도 토큰 수로 엄격하게 제한돼요. 이를 '문맥 창'이라고 부르는데, 책 여러 권 분량의 토큰을 한 번에 읽을 수 있는 모델이 있는가 하면, 몇 쪽만 읽어도 앞서 나눈 대화 내용을 잊어버리는 모델도 있어요.
따라서 자주 쓰이는 글자 묶음을 하나의 토큰으로 묶어 효율적으로 나누는 기술은 인공지능의 작업 속도를 높이고 운영 비용을 줄이는 데 핵심 역할을 해요. 같은 의미의 문장이라도 더 적은 수의 토큰으로 표현할수록 인공지능은 훨씬 더 빠르고 저렴하게 작동할 수 있답니다.
최신 인공지능 연구들이 다양한 언어를 더 적은 토큰으로 압축해 처리하는 알고리즘을 개발하는 데 집중하는 이유도 바로 여기에 있어요.
흔한 오해
1개 토큰은 정확히 1개 단어나 1글자와 같다.
토큰은 단어보다 작을 수도, 클 수도 있어요. 영어 단어 하나가 여러 토큰이 되기도 하고, 토크나이저에 따라 자주 쓰이지 않는 한글 글자는 하나가 최대 2~3개의 토큰으로 쪼개지기도 해요.
일상에서 만나요
인공지능 챗봇에 질문을 길게 쓸수록 더 많은 토큰이 소비돼요.
인공지능 API를 이용해 프로그램을 개발할 때는 주고받은 토큰 수만큼 비용을 지불해요.
그러니까 한마디로
토큰은 인공지능이 글을 계산하고 이해하기 위해 잘게 쪼갠 기본 글자 조각 단위예요.