임베딩은 텍스트나 이미지 같은 데이터를 숫자 벡터로 표현한 것입니다. 벡터는 여러 숫자를 순서대로 담은 배열입니다. 임베딩 모델은 관련된 데이터가 가까운 벡터로 표현되도록 학습하며, 이 표현을 검색과 추천, 분류에 활용합니다.
가까운 벡터로 표현되는 관계는 모델이 무엇을 학습했는지에 따라 달라집니다. 벡터의 유사도가 높아도 질문에 답하는 문서라는 보장은 없으므로, 검색 품질은 실제 질문에서 필요한 문서를 찾아 주는지로 평가합니다.
숫자 벡터와 차원
벡터에 들어 있는 숫자의 개수를 차원이라고 합니다. OpenAI 임베딩 API는 각 숫자를 부동소수점 형식으로 반환합니다.
OpenAI의 text-embedding-3-small은 기본 1,536차원, text-embedding-3-large는 기본 3,072차원을 출력합니다. dimensions 설정으로 차원을 줄일 수도 있습니다.
두 데이터가 얼마나 관련 있는지는 벡터 사이의 유사도나 거리로 비교합니다. OpenAI는 코사인 유사도를 권장하며, 자사 임베딩은 벡터의 길이를 1로 정규화하므로 유클리드 거리로 비교해도 같은 순서를 얻는다고 설명합니다. 이 조건을 확인하지 않은 채 모든 임베딩 모델에서 계산 방식이 서로 같다고 가정해서는 안 됩니다.
검색어와 문서의 의미 비교
키워드 검색은 검색어와 문서의 단어 일치를 중요한 단서로 봅니다. 임베딩 검색은 질문과 문서를 비교 가능한 벡터로 변환하고 가까운 문서를 찾습니다. ‘강아지 사료’라는 질문으로 ‘반려견 먹이’를 설명한 글을 찾는 식으로, 표현이 달라도 뜻을 고려하는 시맨틱 검색을 구현할 수 있습니다.
Google은 RankBrain(2015년), 신경망 매칭(2018년), BERT(2019년)가 검색어와 콘텐츠의 의미를 이해하는 데 기여한다고 설명합니다. RankBrain은 단어와 개념의 관계를, 신경망 매칭은 질문과 페이지의 관련 개념을, BERT는 단어 조합의 의미와 의도를 처리합니다. 다만 이 공식 설명에서 각 시스템의 임베딩 모델이나 내부 계산 방식까지 공개한 것은 아닙니다.
벡터 검색을 쓰는 RAG의 처리 과정
일부 RAG 시스템은 문서 조각과 질문을 같은 임베딩 모델로 변환한 뒤 가까운 조각을 찾습니다. 검색한 조각은 답변을 생성할 때 참고 자료로 제공됩니다.
RAG에는 키워드 검색이나 하이브리드 검색도 활용할 수 있습니다. 벡터 검색을 쓸 때도 전용 제품 외에 벡터 검색 기능을 갖춘 기존 데이터베이스를 선택할 수 있어, 벡터 전용 데이터베이스가 반드시 필요한 것은 아닙니다.
임베딩을 활용한 검색의 품질 평가
자체 RAG를 운영한다면 대표 질문과 그 질문에 답하는 문서를 짝지어 두고, 검색 상위 결과에 해당 문서가 포함되는지 시험합니다. 거리 점수 자체보다 필요한 근거를 찾았는지가 평가 기준입니다. 콘텐츠를 수정했을 때도 같은 질문으로 다시 시험해야 검색 결과의 변화를 비교할 수 있습니다.
자주 묻는 질문
임베딩과 키워드 매칭은 뭐가 다른가요?
키워드 매칭은 단어의 일치를, 임베딩은 모델이 표현한 벡터의 유사도를 비교합니다. 임베딩 검색은 단어가 달라도 관련 문서를 찾을 수 있고, 같은 단어라도 맥락이 다르면 덜 가깝게 판단할 수 있습니다.
마케터가 임베딩을 직접 다룰 일이 있나요?
콘텐츠 유사도를 분석하거나 자체 검색 도구를 평가할 때 임베딩을 접할 수 있습니다. 이때는 유사도가 높은 문서가 단지 주제만 비슷한지, 질문에 필요한 답도 담고 있는지 읽어 봐야 합니다. 일반적인 원고 작성에서 외부 모델의 내부 벡터 값을 직접 지정하는 것은 아닙니다.
구글 검색도 임베딩을 쓰나요?
Google은 신경망 매칭 등이 질문과 페이지의 개념을 비교한다고 설명합니다. 이 설명을 일반적인 임베딩 원리와 연결해 이해할 수는 있지만, 이 글의 공식 출처만으로 Google 검색의 내부 임베딩 구성까지 확정할 수는 없습니다.
임베딩 최적화 서비스는 믿을 만한가요?
어떤 시스템의 무엇을 바꾸는지 제안서에 명시돼 있어야 합니다. 자체 RAG의 모델이나 문서 분할 방식을 고친다면 같은 질문에서 검색 결과가 개선됐는지 검증할 수 있습니다. 외부 AI 서비스의 인용을 보장한다면 해당 서비스의 어떤 기능으로 이를 통제하는지 근거가 필요합니다.
함께 알아두면 좋은 용어
- 시맨틱 검색: 단어의 일치뿐 아니라 의미와 문맥을 고려하는 검색
- RAG: 검색한 외부 자료를 답변 생성의 근거로 제공하는 구조
- 청킹: 문서를 검색과 처리에 적합한 조각으로 나누는 작업
- LLM: 텍스트를 생성하는 모델로, 임베딩 모델과 목적과 출력이 다름