AI Sparkup

복잡한 AI 세상을 읽는 힘 ⚡

벡터 임베딩의 숨겨진 한계: 왜 최신 AI도 ‘사과 좋아하는 사람 찾기’에 실패할까?

Google DeepMind의 최신 연구에 따르면, 아무리 뛰어난 임베딩 모델도 수학적 한계로 인해 모든 검색 조합을 표현할 수 없으며, 이는 실제 검색 시스템에서 예상치 못한 성능 저하의 원인이 된다는 것이 밝혀졌습니다.

RAG(Retrieval-Augmented Generation) 시스템을 구축하다 보면 이상한 현상을 마주할 때가 있습니다. 분명히 간단해 보이는 질문인데, 최신 임베딩 모델이 엉뚱한 답변을 내놓는 것이죠. 마치 똑똑한 학생이 쉬운 문제에서 갑자기 실수하는 것처럼 말이에요.

이런 현상이 단순한 우연이 아니라는 것을 증명한 흥미로운 연구가 나왔습니다. Google DeepMind에서 발표한 “임베딩 기반 검색의 이론적 한계(On the Theoretical Limitations of Embedding-Based Retrieval)” 논문을 바탕으로, 벡터 임베딩이 왜 때때로 우리를 실망시키는지 알아보겠습니다.

간단한 질문이 어려운 이유

LIMIT 데이터셋: 단순해 보이지만 임베딩 모델에게는 까다로운 도전 (출처: Google DeepMind)

연구팀이 만든 LIMIT 데이터셋을 보면 정말 단순합니다. “존은 사과를 좋아한다”, “메리는 피자를 좋아한다” 같은 문장들이 있고, 질문도 “누가 사과를 좋아하나요?” 수준입니다.

그런데 놀랍게도 최신 임베딩 모델들(GritLM, Gemini Embeddings 등)의 성능이 참담합니다. 상위 100개 결과에서 겨우 20% 미만의 정확도를 보이죠. 마치 구글에서 “사과”를 검색했는데 바나나 광고만 잔뜩 나오는 격입니다.

수학이 말하는 한계

왜 이런 일이 생기는 걸까요? 이를 이해하려면 임베딩 모델이 어떻게 작동하는지부터 알아야 합니다.

임베딩의 기본 원리
임베딩 모델은 단어나 문장을 숫자들의 리스트로 변환합니다. 예를 들어 “사과”라는 단어가 [0.2, -0.5, 0.8, 0.1, …] 같은 512개 숫자의 조합이 되는 거죠. 이걸 512차원 공간의 한 점이라고 생각하면 됩니다.

거리로 유사도 측정
비슷한 의미를 가진 단어들은 이 공간에서 가까이 위치합니다. “사과”와 “오렌지”는 가깝고, “사과”와 “자동차”는 멀리 떨어져 있겠죠. 검색할 때는 질문과 가장 가까운 문서들을 찾는 겁니다.

조합의 폭발
문제는 여기서 시작됩니다. 검색 시스템이 처리해야 하는 건 단순한 유사도만이 아닙니다. “A와 B 둘 다 관련된 문서”, “C는 관련 있지만 D는 관련 없는 문서” 같은 복잡한 조합들을 구분해야 하죠.

예를 들어 문서가 10개만 있어도, 이 중에서 2개씩 선택하는 경우의 수는 45가지입니다. 문서가 100개면 4,950가지, 1,000개면 거의 50만 가지가 됩니다. 조합의 수가 기하급수적으로 늘어나는 거죠.

공간의 한계
512차원 공간이라고 해서 무한한 표현력을 가진 건 아닙니다. 마치 아무리 큰 창고라도 무한정 물건을 넣을 수 없는 것처럼, 임베딩 공간도 표현할 수 있는 관계의 조합에 한계가 있습니다.

실제 예시로 이해하기
친구 5명(민수, 영희, 철수, 수진, 동호)이 있다고 해봅시다. 각자 좋아하는 음식이 다릅니다:

  • 민수: 피자, 햄버거
  • 영희: 피자, 파스타
  • 철수: 햄버거, 치킨
  • 수진: 파스타, 샐러드
  • 동호: 치킨, 샐러드

이제 “피자를 좋아하는 사람은?”이라는 질문에 [민수, 영희]를 답으로, “햄버거를 좋아하는 사람은?”에 [민수, 철수]를 답으로 하는 시스템을 만들려고 합니다.

2차원 공간(종이 위)에서 이 5명을 점으로 표시하고, 각 질문을 또 다른 점으로 표시해서, 거리로 관련성을 표현하려고 한다면? 모든 조합을 완벽하게 표현하기는 매우 어렵습니다. 어떤 배치를 택해도 일부 관계에서는 오류가 생기게 되죠.

차원이 늘어나면?
3차원, 4차원으로 늘어나면 더 복잡한 관계를 표현할 수 있습니다. 하지만 여전히 한계는 있습니다. 표현해야 할 조합이 기하급수적으로 늘어나는 반면, 차원은 선형적으로만 늘어나거든요.

이게 바로 연구에서 말하는 “Sign-Rank” 한계입니다. 수학적으로는 복잡하지만, 핵심은 간단합니다. 아무리 차원을 늘려도 모든 가능한 관계 조합을 완벽하게 표현할 수는 없다는 거죠.

실험으로 본 현실의 벽

연구팀은 “자유 임베딩” 실험을 통해 이 한계를 명확히 보여줬습니다. 이는 자연어의 제약 없이 벡터 자체를 직접 최적화하는 실험입니다. 즉, 가장 이상적인 조건에서의 성능을 측정한 거죠.

결과는 충격적이었습니다:

  • 512차원 모델: 약 50만 문서 조합이 한계
  • 1024차원 모델: 약 400만 문서 조합이 한계
  • 4096차원 모델: 약 2억 5천만 문서 조합이 한계

웹 규모의 검색을 생각해보면, 이 숫자들도 턱없이 부족합니다.

복잡한 수학 공식들
수학적 한계는 피할 수 없는 현실입니다 (출처: Unsplash)

실무에서 마주하는 함정들

이런 이론적 한계가 실무에서는 어떻게 나타날까요?

1. 복잡한 쿼리의 함정
“Python을 사용하고 머신러닝을 다루며 스타트업 경험이 있는 개발자”같은 복합 조건 검색에서 예상치 못한 결과가 나올 수 있습니다.

2. 데이터 증가의 딜레마
문서가 늘어날수록 임베딩이 표현해야 할 관계의 조합이 기하급수적으로 증가합니다. 어느 순간 모델의 표현력이 한계에 부딪히죠.

3. 도메인별 특성
특정 도메인(법률, 의학 등)에서는 미묘한 차이가 중요한데, 임베딩이 이를 구분하지 못할 수 있습니다.

대안이 있을까?

다행히 해결책들이 있습니다.

BM25의 재조명
전통적인 키워드 검색인 BM25가 LIMIT 데이터셋에서 거의 완벽한 성능을 보였습니다. 차원이 매우 높은(실제로는 단어 개수만큼) 스파스 벡터이기 때문이죠.

Cross-Encoder의 활용
검색 후 재순위 매김(Reranking) 단계에서 Cross-Encoder를 사용하면 정확도를 크게 높일 수 있습니다. 연구에서 Gemini-2.5-Pro는 LIMIT 작업을 100% 정확도로 해결했습니다.

멀티벡터 모델
ColBERT 같은 멀티벡터 모델도 단일 벡터 모델보다 훨씬 나은 성능을 보입니다. 여러 벡터로 더 풍부한 표현이 가능하기 때문입니다.

하이브리드 접근법
벡터 검색과 키워드 검색을 결합하면 각각의 장점을 살릴 수 있습니다.

실용적인 시사점

이 연구가 주는 실무적 교훈들을 정리해보겠습니다.

시스템 설계 시 고려사항

  • 단일 임베딩에만 의존하지 말 것
  • 하이브리드 검색 아키텍처 고려
  • 도메인 특성에 맞는 차원 수 선택

성능 이슈 해결법

  • 예상치 못한 검색 실패가 있다면 임베딩 모델의 한계일 수 있음
  • 재순위 매김 단계 추가 검토
  • 키워드 기반 보조 검색 고려

모델 선택 기준

  • 높은 차원의 모델이 더 복잡한 관계 표현 가능
  • 하지만 비용과 속도도 함께 고려해야 함
  • 용도에 맞는 적절한 균형점 찾기
다양한 도구들이 놓인 작업대
적재적소에 맞는 도구 선택이 중요합니다 (출처: Unsplash)

앞으로의 방향

벡터 임베딩의 한계가 명확해진 만큼, 이를 보완하는 기술들이 더욱 주목받을 것 같습니다. 특히 인스트럭션 기반 검색이나 복잡한 논리 연산이 필요한 작업에서는 새로운 접근법이 필요하죠.

하지만 이것이 임베딩 모델이 쓸모없다는 뜻은 아닙니다. 대부분의 실용적인 검색 작업에서는 여전히 훌륭한 성능을 보이니까요. 중요한 것은 한계를 이해하고 적절히 대응하는 것입니다.

결국 완벽한 도구는 없습니다. 각 도구의 장단점을 이해하고, 상황에 맞게 조합해서 사용하는 지혜가 필요합니다. 이번 연구는 그런 지혜를 얻는데 중요한 단서를 제공해 줍니다.

이제 여러분의 RAG 시스템에서 예상치 못한 결과가 나왔을 때, “아, 이게 바로 수학적 한계구나”라고 생각해볼 수 있을 겁니다. 그리고 적절한 해결책도 찾을 수 있고요.


참고자료:


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments