콘텐츠로 바로가기

LLM Embedding Spaces

단어(토큰)를 고차원 실수 벡터로 매핑하여 의미적 관계를 수치적 거리로 표현하는 공간. 벡터 공간에서 단어 관계가 방향과 크기로 인코딩됨. 문장 전체를 단일 벡터로 압축(Sentence Transformers 등). 이 벡터를 벡터 DB에 저장하여 시맨틱 검색 가...

지식 성숙도: evergreen

목차 보기22

1. Overview

LLM 임베딩 공간(LLM Embedding Spaces)은 토큰이나 문장을 고차원 실수 벡터로 매핑하여, 의미적 관계를 벡터 사이의 거리와 방향으로 다루는 표현 방식입니다. 언어 모델의 첫 단계가 토큰 ID를 벡터로 조회하는 일이며, 이후의 모든 계산은 이 벡터 위에서 이루어집니다.

원-핫 표현에서는 서로 다른 단어가 모두 같은 거리만큼 떨어져 있어 "비슷함"을 표현할 수 없습니다. 임베딩은 단어를 밀집 벡터로 바꿔 비슷한 문맥에서 쓰이는 단어가 가까이 놓이도록 학습합니다. 이 글은 임베딩 행렬이 모델 안에서 하는 일, 벡터 산술과 코사인 유사도의 의미와 한계, 문장 단위 임베딩이 RAG의 검색 단계로 이어지는 흐름을 정리합니다.

2. Scope & Boundaries

In-Scope

  • 임베딩 행렬 (Embedding Matrix): 크기 V×dmodelV \times d_{model} 의 조회 테이블과 그 학습.
  • 의미 산술과 유사도 (Semantic Arithmetic & Similarity): 벡터 연산, 코사인 유사도의 의미와 한계.
  • 문장·문단 임베딩 (Sentence Embeddings): 문장 전체를 단일 벡터로 압축하는 모델과 시맨틱 검색.

Out-of-Scope

Boundaries

  • 정적 임베딩 vs. 문맥 임베딩: word2vec 계열은 단어마다 하나의 벡터를 갖는 정적 임베딩이고, Transformer 내부의 은닉 상태는 문맥에 따라 같은 토큰도 다른 벡터가 됩니다. 이 글에서 "임베딩 행렬"은 앞쪽의 입력 조회 테이블을 가리킵니다.
  • 토큰 임베딩 vs. 문장 임베딩: 전자는 모델 입력을 위한 조회 테이블이고, 후자는 문장 전체를 검색·비교하기 위해 별도 모델이 만드는 벡터입니다.

3. Counterexample

  • "왕 - 남자 + 여자 = 여왕"을 보편 법칙으로 믿는 경우: 이 예시는 word2vec 논문에서 알려진 유추(analogy) 결과이지만, 모든 관계가 이렇게 정확한 벡터 연산으로 표현되지는 않습니다. 또한 이 유추 평가에서 입력 단어를 후보에서 제외하면 결과가 좋아지는 면이 있다는 비판이 있어, 시연용 예시로 이해하는 것이 안전합니다.
  • 코사인 유사도 = 의미적 동치라는 가정: 코사인 유사도가 높다는 것은 벡터 방향이 비슷하다는 뜻이며, 반의어처럼 같은 문맥에 자주 등장하는 단어도 높게 나올 수 있습니다. 검색 결과는 항상 사람의 판단으로 검증해야 합니다.
  • 서로 다른 임베딩 모델의 벡터를 섞어 비교: 모델마다 학습된 공간이 달라 서로의 벡터를 직접 비교할 수 없습니다. 인덱싱할 때와 질의할 때 같은 모델과 같은 정규화를 써야 합니다.

4. Prerequisites

  • 선형대수 (Basic): 벡터의 내적, 노름, 각도를 이해해야 코사인 유사도를 해석할 수 있습니다.
  • 토큰화 (Basic): 임베딩 조회의 입력이 토큰 ID이므로 → LLM Tokenization & BPE를 먼저 확인합니다.
  • 신경망의 기초 (Recommended): 임베딩이 역전파로 학습되는 파라미터임을 이해하는 데 필요합니다.

5. Learning Map

Sequence Core Cluster Objective & Description Evidence (BoK)
1 Embedding Matrix 토큰 ID가 V×dmodelV \times d_{model} 행렬에서 한 행으로 조회되는 과정을 이해합니다. Primary:Vaswani2017
2 Semantic Arithmetic 단어 관계가 벡터 방향으로 나타나는 현상과 그 한계를 확인합니다. Primary:Mikolov2013
3 Similarity Measures 코사인 유사도와 내적의 차이, 정규화의 효과를 비교합니다. Primary:Mikolov2013
4 Sentence Embeddings 문장 임베딩을 벡터 DB에 저장해 시맨틱 검색에 쓰는 흐름을 연결합니다. Primary:Reimers2019

연결 노트

  • LLM Tokenization & BPE — 토큰 ID가 임베딩 조회의 입력
  • Next-Token Prediction — 임베딩을 입력받아 다음 토큰 확률을 계산
  • RAG Architecture — 문서 임베딩을 인덱싱하여 관련 청크를 검색하는 기반 기술
  • ReAct Pattern in LLMs — 에이전트가 관련 메모리를 임베딩 유사도로 검색

6. Learning Topics

Basic

Core Topic 01: 임베딩 행렬과 조회 (Embedding Matrix)

  • Why to Learn: 모델의 입력층이자 파라미터의 상당 부분을 차지하는 구조이므로, 어휘집 크기와 모델 차원이 메모리와 어떻게 연결되는지 알아야 합니다.
  • What to Learn:
    • Concepts: 임베딩 행렬은 크기가 V×dmodelV \times d_{model} (어휘집 크기 × 모델 차원수)이며, 각 토큰 ID가 dmodeld_{model} 차원 벡터로 조회됩니다.
    • Skills: 원-핫 벡터와 행렬 곱이 곧 한 행의 선택(lookup)임을 보이고, 행렬이 다른 파라미터와 함께 역전파로 학습된다는 점을 확인.
    • Tools: PyTorch nn.Embedding.
    • Trade-offs: dmodeld_{model} 이 크면 표현 용량이 커지지만 메모리와 연산이 늘어납니다.
  • How to Learn:
    • 1단계: V=50,000V=50{,}000, dmodel=768d_{model}=768 일 때 임베딩 행렬의 원소 수를 계산합니다.
    • 2단계: nn.Embedding의 출력이 가중치 행렬의 해당 행과 같음을 확인합니다.
  • Implement: 토큰 ID 배열을 받아 임베딩 행렬에서 벡터를 조회하는 최소 모듈.

Core Topic 02: 의미 산술과 코사인 유사도 (Semantic Arithmetic & Cosine Similarity)

  • Why to Learn: 임베딩 공간의 가치는 거리와 방향이 의미를 담는다는 점에 있으므로, 이를 정량화하는 도구와 그 한계를 이해해야 합니다.
  • What to Learn:
    • Concepts: 벡터 공간에서 단어 관계가 방향과 크기로 인코딩됩니다. Cosine Similarity는 두 벡터의 각도로 의미 유사도를 측정합니다.
    • Skills: 코사인 유사도 cos⁡θ=a⋅b∥a∥ ∥b∥\cos\theta = \dfrac{a\cdot b}{\lVert a\rVert\,\lVert b\rVert} 계산, 크기가 아닌 방향만 비교하므로 벡터 노름(길이)에 불변이라는 성질. 문장 길이에 불변이라는 말은 이 노름 불변성을 가리키며, 입력이 길어지면 표현 자체는 달라질 수 있습니다.
    • Tools: scikit-learn cosine_similarity, NumPy.
    • Trade-offs: 정규화된 벡터에서는 내적과 코사인 유사도가 같아 계산이 단순해지지만, 노름에 담긴 정보는 버려집니다.

벡터 유추의 대표 예시는 다음과 같습니다.

vec(왕)−vec(남자)+vec(여자)≈vec(여왕)\mathrm{vec}(\text{왕}) - \mathrm{vec}(\text{남자}) + \mathrm{vec}(\text{여자}) \approx \mathrm{vec}(\text{여왕})

  • How to Learn:
    • 1단계: 사전 학습된 word2vec 벡터로 위 유추가 실제로 얼마나 자주 성립하는지 여러 사례로 시험합니다.
    • 2단계: 벡터를 정규화하기 전후에 내적과 코사인 유사도가 어떻게 달라지는지 비교합니다.
  • Implement: 단어 목록과 임베딩을 받아 가장 유사한 상위 kk 개를 코사인 유사도로 찾는 nearest_neighbors 함수.

Practical

  • Why to Learn: RAG를 비롯한 검색 응용은 문장·문단 단위 벡터에 기반하므로, 토큰 임베딩과 문장 임베딩의 차이와 연결 방식을 알아야 합니다.
  • What to Learn:
    • Concepts: Sentence Transformers 같은 모델은 문장 한 개를 벡터 하나로 요약합니다. 이 벡터를 벡터 DB에 저장하여 시맨틱 검색이 가능해지며, RAG의 Retrieval 단계의 기반이 됩니다.
    • Skills: 문서 청크를 임베딩해 질의 벡터와 유사도를 계산하고 상위 결과를 반환하는 흐름.
    • Tools: Sentence-Transformers, 벡터 DB.
    • Trade-offs: 청크가 길면 문맥은 담기지만 한 벡터에 여러 주제가 섞여 검색 정밀도가 떨어질 수 있습니다.
  • How to Learn:
    • 1단계: 같은 질의를 서로 다른 임베딩 모델로 검색해 결과 순위가 어떻게 달라지는지 비교합니다.
    • 2단계: 인덱싱과 질의에 서로 다른 모델을 썼을 때 검색이 왜 무너지는지 확인합니다.
  • Implement: 문서 20~30개를 임베딩해 메모리에서 코사인 검색을 수행하는 미니 시맨틱 검색기.

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry:ID) Flags(core)
Embedding 토큰이나 문장을 고차원 실수 벡터로 매핑한 표현으로, 의미적 관계를 거리와 방향으로 나타냅니다. 기본 의미 표현 Vector / Dimension vs. One-hot 벡터의 개별 차원에 각각 의미가 있다고 해석함 Primary:Mikolov2013 core
Embedding Matrix 크기 V×dmodelV \times d_{model} 의 조회 테이블로, 각 토큰 ID에 대응하는 벡터를 담습니다. 기본 입력 계층 Vocabulary / dmodeld_{model} vs. Output Projection 학습되지 않는 고정 표라고 오해함 Primary:Vaswani2017 core
Cosine Similarity 두 벡터가 이루는 각의 코사인으로, 크기가 아닌 방향의 유사도를 측정합니다. 권장 유사도 Dot Product / Normalization vs. Euclidean Distance 값이 높으면 의미가 같다고 가정함 Primary:Mikolov2013 core
Static vs. Contextual Embedding 단어마다 고정 벡터를 쓰는 방식과 문맥에 따라 벡터가 달라지는 방식의 구분입니다. 권장 표현 방식 word2vec / BERT vs. 정적 임베딩 / 문맥 임베딩 임베딩 행렬이 문맥을 반영한다고 오해함 Secondary:Devlin2018 core
Sentence Embedding 문장이나 문단 전체를 하나의 벡터로 압축한 표현으로, 검색과 비교에 쓰입니다. 실무 시맨틱 검색 Sentence-BERT / RAG vs. Token Embedding 토큰 임베딩의 평균과 동일하다고 가정함 Primary:Reimers2019 core

8. References

Primary References

  • [Mikolov et al., 2013. "Efficient Estimation of Word Representations in Vector Space." arXiv:1301.3781] — word2vec의 단어 임베딩 학습과 벡터 유추 평가.
  • [Mikolov et al., 2013. "Distributed Representations of Words and Phrases and their Compositionality." arXiv:1310.4546] — Skip-gram 학습 개선과 단어 벡터의 덧셈적 합성.
  • [Vaswani et al., 2017. "Attention Is All You Need." arXiv:1706.03762] — 입력 토큰을 dmodeld_{model} 차원 벡터로 임베딩하는 구조.
  • [Reimers & Gurevych, 2019. "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks." arXiv:1908.10084] — 문장 임베딩과 코사인 유사도 기반 비교.

Secondary References

  • [Linzen, 2016. "Issues in evaluating semantic spaces using word analogies." arXiv:1606.07736] — 단어 유추 평가의 한계에 대한 분석.
  • [Devlin et al., 2018. "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding." arXiv:1810.04805] — 문맥에 따라 달라지는 표현.

Industry References

  • [Sentence-Transformers Documentation] — 문장 임베딩 모델 사용과 시맨틱 검색 예제.
  • [Lewis et al., 2020. "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks." arXiv:2005.11401] — 임베딩 기반 검색을 생성 모델과 결합하는 RAG.

9. Final Checklist

Primary Checklist

  • 토큰 ID가 V×dmodelV \times d_{model} 행렬의 한 행으로 조회되는 과정을 설명할 수 있는가?
  • 코사인 유사도의 수식과 크기에 불변인 이유를 설명할 수 있는가?

Secondary Checklist

  • "왕 - 남자 + 여자 ≈ 여왕" 예시가 보여 주는 것과 보여 주지 못하는 것을 구분할 수 있는가?
  • 정적 임베딩과 문맥 임베딩의 차이를 예를 들어 설명할 수 있는가?

Industry Checklist

  • 인덱싱과 질의에 동일한 임베딩 모델과 정규화를 사용하도록 구성했는가?
  • 문장 임베딩으로 만든 검색 결과를 실제 질의로 평가해 청크 크기와 모델을 조정했는가?

Transformer Architecture & LLM Foundations

3 / 7