앞 편에서 임베딩 모델이 "비슷한 의미를 가까운 위치에 놓는다"고 했다. 그런데 컴퓨터가 어떻게 텍스트의 의미를 이해할까? 이번 편은 임베딩 모델의 학습 원리, 즉 contrastive training(대조 학습)을 파고든다.
1. 임베딩 모델의 목표
임베딩 모델의 역할은 말로는 단순하다 — 비슷한 텍스트는 서로 가까운 벡터로, 다른 텍스트는 서로 먼 벡터로 임베딩하는 것이다. 문제는 이걸 실제로 해내려면 모델이 얼마나 정교해야 하는가다.

2. positive pair와 negative pair
임베딩 모델의 역할은 positive pair와 negative pair의 관점에서 생각할 수 있다.
- positive pair — "good morning"과 "hello"처럼 의미가 비슷한 두 텍스트. 가깝게 임베딩되어야 한다.
- negative pair — "good morning"과 "that's a noisy trombone"처럼 의미가 다른 두 텍스트. 멀리 임베딩되어야 한다.

학습의 첫 단계는 이런 pair(=example)를 대규모로 모으는 것이다. 많은 시스템에서 이는 수백만 개의 pair에 이르는 방대한 데이터가 된다. 하나의 단어·텍스트는 여러 example에 포함되어, 다양한 텍스트·개념과의 관계를 함께 포착한다.
3. 학습 과정 — contrastive training
학습 초기에는 모델이 각 텍스트를 임의(random) 벡터로 임베딩한다. 이 벡터들은 의미와 아무 관계가 없어서, 이 상태로 검색하면 결과는 엉망이다.

이제 모델은 학습 데이터의 모든 pair를 보고 "positive를 얼마나 가깝게, negative를 얼마나 멀게 뒀는가"를 평가한다. positive·negative example이 제공하는 대비(contrast)로 성능을 평가하기 때문에 이 기법을 contrastive training이라 한다.

평가 결과에 따라 모델은 내부 parameter를 업데이트한다 — positive는 더 가깝게, negative는 더 멀게 만드는 알고리즘이다. 그리고 이 과정을 반복한다: 업데이트된 parameter로 다시 임베딩 → 다시 평가 → 다시 업데이트. 이 Embed → Score → Update 루프를 수없이 돌리며 pair를 밀고 당기면, 여러 라운드 뒤에는 positive는 서로 가까워지고 negative는 멀리 떨어진다.

4. 하나의 텍스트(anchor) 관점
이 과정을 한 텍스트 조각의 관점에서 보자. "he could smell the roses"를 anchor(기준점)라 하면, 이것은 "a field of fragrant flowers"와 positive pair, "a lion roared majestically"와 negative pair를 이룬다. 학습 초기엔 셋 다 임의의 위치에 있지만, anchor 입장에서는 positive는 끌어당기고 negative는 밀어낸다. 여러 라운드 뒤 positive는 최대한 가까이, negative는 최대한 멀리 놓인다.

5. 수백만 pair로 확장 — 그래서 고차원
물론 실제로는 두 pair가 아니라 수백만 개의 anchor·positive·negative로 학습한다. 그러면 훨씬 복잡해진다 — 모든 벡터가 동시에 여러 방향으로 밀리고 당겨진다. 이것이 왜 임베딩 벡터가 수백~수천 차원을 쓰는지 설명해 준다. 고차원 공간은 학습 데이터의 미묘한 관계를 반영하도록 벡터를 밀고 당길 선택지를 훨씬 많이 준다. 학습이 끝나면, 비슷한 텍스트가 벡터 공간의 비슷한 영역으로 끌려와 있으므로 벡터가 곧 의미를 담게 된다.

6. 꼭 기억할 핵심
- semantic vector는 추상적이고 어느 정도 임의적이다. 학습 전에는 공간의 위치가 아무 의미도 없다. 학습 후에 특정 위치가 의미를 갖는 건, 단지 그곳에 비슷한 개념의 클러스터가 형성됐기 때문이다. 초기 random 값을 바꿔 두 번 학습하면 같은 클러스터가 다른 위치에 생긴다.
- 같은 임베딩 모델이 만든 벡터끼리만 비교한다. 모델마다 학습 데이터·차원 수·초기값이 달라, 서로 다른 두 모델의 벡터를 비교하면 무의미한 결과가 나온다.
- 실무에서는 기성(off-the-shelf) 모델을 쓰고 거리 측정도 직접 구현하지 않는다. 그래도 원리를 알면 RAG에서 임베딩을 어떻게 활용할지 더 잘 판단할 수 있다.


키워드 검색(TF-IDF·BM25)과 시맨틱 검색(임베딩), 그리고 metadata 필터링까지 세 기법을 모두 봤다. 다음 글에서는 이들을 하나로 합치는 하이브리드 검색과, 두 순위를 결합하는 Reciprocal Rank Fusion(RRF)을 다룬다.
'AI > RAG' 카테고리의 다른 글
| 검색(Retriver) 성능 평가 (0) | 2026.07.02 |
|---|---|
| Hybrid Search & RRF (0) | 2026.07.02 |
| Semantic Search & Embedding (0) | 2026.07.02 |
| BM25 (키워드 검색) (0) | 2026.07.02 |
| TF-IDF (키워드 검색) (0) | 2026.07.02 |
