AI VIDEO BRIEFING

토큰과 임베딩의 차이: LLM이 단어를 숫자로 바꿔 다루는 방식을 예시로 쉽게 이해하기

LLM을 다루다 보면 만나는 토큰과 임베딩. 둘 다 단어를 숫자로 표현하지만 역할이 다르다. 임베딩은 수백 차원으로 의미의 관계를, 토큰은 단어마다 부여된 고유 ID를 담는다는 차이를 유명한 예시로 풀어 정리했다.

토큰과 임베딩은 어떻게 다른가 — LLM이 단어를 숫자로 다루는 방식 영상 대표 이미지

핵심 메시지

  • 임베딩은 ‘의미를 담은 벡터’, 즉 숫자 배열이다. king − man + woman = queen 처럼 단어 사이의 관계를 수치 연산으로 표현할 수 있다.
  • 실제 임베딩은 두세 개가 아니라 수백 개의 차원을 사용해 단어 간의 복잡한 의미 관계를 담는다.
  • 토큰은 학습된 각 단어에 부여된 하나의 고유 번호(ID)로, 그 숫자 자체에는 의미가 없다.
  • 프롬프트를 넣으면 단어가 토큰으로, 다시 임베딩으로 변환되며, 모델은 이 임베딩을 가지고 다음에 올 내용을 예측한다.
  • 같은 토큰의 임베딩은 출발점일 뿐, 모델은 주변 단어(문맥)를 보고 더 문맥에 맞는 임베딩으로 갱신한다. 임베딩은 의미를 저장하는 게 아니라 의미들의 상대적 위치를 지도화한다.

쉽게 이해하기

LLM을 조금이라도 다뤄 본 사람이라면 ‘토큰’과 ‘임베딩’이라는 말을 접했을 것이다. 애니 섹스턴의 이 영상은 둘이 각각 무엇이고 어떻게 다른지, 그리고 서로 어떻게 연결되는지를 예시로 설명한다.

먼저 임베딩은 무언가를 나타내는 벡터다. 벡터는 숫자의 배열일 뿐인데, xy 좌표가 2차원 벡터, xyz 좌표가 3차원 벡터인 것처럼 차원 수에는 제한이 없다. 벡터는 수학적 개념이고, 임베딩은 그중에서도 ‘의미를 지닌’ 벡터다. 언어 모델에서는 주로 단어가 그 대상이 된다.

숫자 배열이 단어의 의미를 담는다는 것을 보여 주는 유명한 예가 king − man + woman = queen이다. 단어를 벡터로 표현하면 이런 연산이 실제로 성립한다. 다만 두 개 차원만으로는 단어의 온전한 의미를 담을 수 없어, 실제 임베딩은 수백 개의 차원을 써서 더 복잡한 관계를 표현한다.

반면 토큰은 주로 자연어 처리와 LLM에서 쓰이는 개념으로, 단어를 나타내는 숫자라는 점은 같지만 단 하나의 번호다. 모델이 학습한 모든 단어는 목록으로 정리돼 각자 고유한 번호를 받는데, 이는 의미가 없는 ID에 가깝다. 서로 관계없는 단어가 우연히 가까운 번호를 가질 수도 있다. 각 토큰은 특정 임베딩을 가리키며, 프롬프트를 넣으면 단어 → 토큰 → 임베딩 순으로 변환돼 모델이 다음 내용을 예측한다.

여기서 한 가지 의문이 생긴다. 하나의 뜻만 담는 토큰과 임베딩으로 어떻게 다의어를 처리할까. 답은 문맥이다. ‘개를 훈련시키다(train)’와 ‘기차(train)를 타다’에서 사람은 주변 단어로 뜻을 구분하는데, LLM도 문맥에 주의를 기울인다. 토큰이 가리키는 최초 임베딩은 출발점일 뿐이고, 모델은 주변 단어를 보고 더 문맥에 맞는 임베딩으로 갱신한다. 그래서 저자는 임베딩이 의미를 ‘저장’하는 것이 아니라 의미들이 서로 어디에 위치하는지를 ‘지도화’한다고 정리한다.

주요 인사이트

  • 벡터는 순수한 수학 개념이고, 임베딩은 그중 ‘의미를 지닌’ 벡터다. 이 구분이 토큰·임베딩 이해의 출발점이다.
  • 토큰과 임베딩은 모두 단어를 숫자로 바꾸지만 역할이 다르다. 토큰은 의미 없는 고유 ID 한 개, 임베딩은 의미 관계를 담은 수백 차원의 벡터다.
  • 프롬프트 처리 과정은 단어 → 토큰 → 임베딩의 변환이며, 모델이 실제로 계산에 쓰는 것은 토큰 번호가 아니라 임베딩이다.
  • 다의어 처리의 열쇠는 문맥이다. 토큰의 초기 임베딩은 고정된 의미가 아니라, 주변 단어에 따라 문맥에 맞게 갱신되는 출발점이다.
  • 임베딩의 본질은 의미의 저장이 아니라 의미들 사이의 상대적 위치를 나타내는 지도라는 점이다.

자주 묻는 질문

토큰과 임베딩의 가장 큰 차이는?

토큰은 단어에 부여된 하나의 고유 번호로 그 자체에는 의미가 없는 ID다. 임베딩은 수백 개 차원을 가진 벡터로 단어 간의 의미 관계를 담는다. 하나는 식별용 번호, 하나는 의미를 표현하는 좌표라는 점이 다르다.

프롬프트는 모델 내부에서 어떻게 처리되나?

입력한 각 단어가 먼저 토큰(고유 번호)으로 바뀌고, 그 토큰이 가리키는 임베딩(벡터)으로 변환된다. 모델은 이 임베딩을 가지고 다음에 올 단어, 즉 응답을 예측한다.

같은 단어의 여러 뜻은 어떻게 구분하나?

문맥으로 구분한다. 토큰이 가리키는 최초 임베딩은 출발점일 뿐이며, 모델은 주변 단어를 보고 더 문맥에 맞는 임베딩으로 갱신해 다의어의 의미를 구별한다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식