임베딩
Embedding · 중급
텍스트, 이미지 같은 데이터를 의미적으로 비슷할수록 벡터 공간에서 가까운 위치에 놓이도록 고정된 길이의 숫자 벡터로 변환한 것을 말한다.
컴퓨터는 단어나 문장의 의미를 그 자체로 이해하지 못하기 때문에, 의미가 비슷한 데이터일수록 서로 가까운 값을 갖도록 수치로 바꿔주는 방법이 필요해서 등장했다. 임베딩 모델(인코더)이 입력을 정해진 차원의 벡터로 변환하며, 대량의 데이터로 학습되는 과정에서 문맥과 의미가 벡터의 방향과 거리에 압축되어 담긴다. 두 벡터가 얼마나 비슷한지는 코사인 유사도 같은 계산으로 측정한다. RAG(검색 증강 생성) 시스템에서 질문과 관련된 문서를 찾을 때, 추천 시스템에서 비슷한 상품이나 콘텐츠를 찾을 때, 대량의 텍스트를 자동으로 군집화하거나 중복 질문을 탐지할 때 임베딩과 벡터 데이터베이스를 함께 쓰는 경우를 실무에서 흔히 마주친다. 다만 서로 다른 임베딩 모델로 생성한 벡터는 같은 공간에 있지 않으므로 직접 비교할 수 없고, 검색이나 유사도 계산은 반드시 동일한 모델로 만든 임베딩끼리만 수행해야 한다는 점을 주의해야 한다.