AI VIDEO BRIEFING

토큰화 벡터화 임베딩 차이: NLP와 LLM이 텍스트를 숫자로 바꾸는 3단계

컴퓨터가 텍스트를 처리하려면 숫자로 바꿔야 합니다. 토큰화·벡터화·임베딩이 각각 무엇이고 어떻게 다른지, TF-IDF와 밀집 벡터, 코사인 유사도까지 실습 관점에서 정리했습니다.

토큰화·벡터화·임베딩, 무엇이 다를까? NLP와 LLM 텍스트 처리의 기초 영상 대표 이미지

핵심 메시지

  • 컴퓨터는 텍스트의 의미를 숫자로 연산하므로, 자연어를 처리하려면 먼저 숫자로 변환해야 한다.
  • 토큰화는 텍스트를 단어·형태소·서브워드 같은 의미 있는 최소 단위로 나누는 과정이다.
  • 벡터화는 나뉜 단위를 숫자 벡터로 표현하는 것으로, 백오브워드나 TF-IDF 같은 기법을 쓴다.
  • 임베딩은 단어·문장의 문맥적 의미와 유사도까지 반영해 저차원의 밀집(dense) 벡터로 만든다.
  • 임베딩 결과는 다차원 공간에 점으로 심어지며, 코사인 유사도나 유클리드 거리로 의미적 가까움을 잰다.

쉽게 이해하기

영상은 토큰화, 벡터화, 임베딩이라는 비슷해 보이는 세 용어의 차이를 다룬다. 생성형 AI에 텍스트로 질문해도 내부에서는 모두 숫자로 처리된다. 컴퓨터는 인간의 언어를 직접 이해하지 못하고 숫자로 연산하기 때문에, 텍스트를 숫자로 바꾸는 이 과정이 자연어 처리의 출발점이다.

토큰화는 주어진 텍스트를 분석 목적에 맞는 의미 있는 단위로 나누는 일이다. 띄어쓰기나 구두점으로 나누기도 하고, 한국어처럼 조사·어미가 있는 언어는 형태소 분석기(코엔엔파이, 메캡, 키위 등)를 쓰기도 한다. 트랜스포머 모델은 바이트 페어 인코딩, 워드피스, 센텐스피스 같은 서브워드 방식을 써서 사전에 없는 단어도 조합으로 표현한다. 발표자는 OpenAI 토크나이저로 모델마다 한국어 토큰화 결과가 다르게 나오는 모습을 보여준다.

벡터화는 나뉜 단위를 숫자 벡터로 바꾸는 단계다. 가장 단순한 백오브워드는 단어의 등장 여부·횟수를 표시하고, TF-IDF는 여기에 가중치를 더한다. 어떤 단어가 특정 문서에서만 자주 등장하면 그 문서에서 중요한 단어로 보아 더 높은 값을 주는 식이다. 다만 이렇게 만든 벡터는 0이 많은 희소(sparse) 벡터라 문서 간 의미 관계를 파악하기 어렵다.

임베딩은 의미와 문맥까지 보존해 저차원의 밀집 벡터로 만든다. 발표자는 OpenAI의 text-embedding-3-small 모델로 책 제목 50개를 임베딩한 뒤, 0이 거의 없이 값이 빽빽하게 들어찬 밀집 벡터를 만들었다. 이렇게 하면 단순 빈도를 넘어 텍스트의 잠재적 의미를 벡터 공간에 투영할 수 있어, 문서 간 관계를 훨씬 잘 파악할 수 있다.

임베딩된 데이터는 다차원 공간에 점으로 심어지고, 코사인 유사도(각도 기준)나 유클리드 거리(직선 거리 기준)로 가까움을 잰다. 차원이 큰 벡터(예: 1536차원)는 PCA 등으로 2~3차원으로 줄여 텐서플로우 임베딩 프로젝터에서 시각화할 수 있다. 실제로 '밑바닥부터 시작하는 딥러닝' 시리즈처럼 제목이 비슷한 책들이 서로 높은 유사도로 가깝게 모이는 것을 확인할 수 있다.

주요 인사이트

  • 토큰화→벡터화→임베딩은 텍스트를 숫자로 바꾸는 단계적 과정이며, 각 단계가 담는 정보의 깊이가 다르다.
  • TF-IDF 같은 벡터화는 빈도와 가중치만 다루는 희소 벡터라 의미 관계 파악이 어렵지만, 임베딩은 의미를 보존한 밀집 벡터를 만든다.
  • 한국어는 조사·어미 때문에 형태소 분석을 고려해야 의미를 잘 살릴 수 있고, 모델마다 토큰화 방식이 달라 결과가 달라진다.
  • 임베딩은 매번 계산하면 비용이 들기 때문에, 한 번 만든 결과를 벡터 DB에 저장해 두고 유사도 검색에 재사용하는 것이 일반적이다.

자주 묻는 질문

토큰화, 벡터화, 임베딩은 각각 무엇인가요?

토큰화는 텍스트를 단어·형태소·서브워드 같은 의미 있는 최소 단위로 나누는 과정이고, 벡터화는 그 단위를 숫자 벡터로 표현하는 것(백오브워드, TF-IDF 등)이며, 임베딩은 단어·문장의 문맥적 의미와 유사도까지 반영해 저차원의 밀집 벡터로 만드는 것입니다.

벡터화와 임베딩의 핵심 차이는 무엇인가요?

TF-IDF 같은 벡터화는 단어의 등장 여부·빈도와 가중치를 표시하지만 0이 많은 희소 벡터라 의미 관계를 알기 어렵습니다. 임베딩은 의미와 문맥을 반영한 밀집(dense) 벡터로 만들어, 비슷한 의미의 텍스트가 공간상에서 가깝게 모이도록 합니다.

임베딩 결과의 유사도는 어떻게 측정하나요?

임베딩된 단어·문장은 다차원 공간에 점으로 표현되며, 각도를 기준으로 하는 코사인 유사도나 직선 거리를 재는 유클리드 거리로 의미적 가까움을 측정합니다. 보통 다차원에서는 코사인 유사도를 많이 사용합니다.

원문과 출처

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

YouTube 원본 영상 보기 ↗

관련 AI 소식