Embedding이란? AI가 텍스트의 의미를 벡터로 이해하는 방법
ChatGPT와 같은 생성형 AI를 공부하다 보면 Embedding(임베딩) 이라는 용어를 자주 만나게 됩니다. 특히 RAG(Retrieval-Augmented Generation), 벡터 데이터베이스, 의미 기반 검색, 추천 시스템 등을 이해하려면 Embedding의 개념을 알아두는 것이 중요합니다. 그런데 Embedding을 처음 접하면 한 가지 의문이 생깁니다. AI는 도대체 어떻게 텍스트의 '의미'를 숫자로 표현할 수 있을까요? 핵심은 텍스트를 고차원 벡터 공간의 좌표로 변환하는 것 입니다. 이번 글에서는 Embedding이 무엇인지, 문장이 어떻게 숫자 벡터로 변환되는지, 그리고 이 벡터가 RAG와 같은 AI 시스템에서 어떻게 활용되는지 살펴보겠습니다. 1. Embedding이란 무엇인가? Embedding은 텍스트, 이미지, 음성 등의 데이터를 고정된 길이의 숫자 벡터로 변환하는 기술 입니다. 예를 들어 다음과 같은 문장이 있다고 해보겠습니다. "오늘 날씨가 정말 좋습니다." "오늘은 햇빛이 따뜻하고 하늘이 맑습니다." "반도체 시장의 전망이 밝습니다." 사람이 보면 첫 번째와 두 번째 문장은 서로 비슷한 의미라는 것을 쉽게 알 수 있습니다. 하지만 컴퓨터에게 문자열은 기본적으로 문자들의 집합일 뿐입니다. Embedding 모델은 이런 텍스트를 입력받아 다음과 같이 숫자로 표현할 수 있습니다. "오늘 날씨가 정말 좋습니다." ↓ Embedding Model ↓ [0.021, -0.184, 0.731, 0.092, ...] 실제 벡터는 수백~수천 개의 숫자로 구성될 수 있습니다. 중요한 것은 단순히 문장을 숫자로 바꾸는 것이 아닙니다. 의미가 비슷한 텍스트가 벡터 공간에서도 가까운 위치에 있도록 만드는 것 이 Embedding의 핵심입니다. 2. 왜 굳이 텍스트를 벡터로 바꿀까요? 컴퓨터는 숫자를 이용하면 데이터를 비교하고 계산하기가 ...