임베딩이 뭘까?
최근에 오픈소스 프로젝트를 찾아보던 중 활용 모델 중에 임베딩 모델이라는게 필요하다는 내용이 있었다.
- LLM: Qwen2.5-14B (Q4_K_M)
- Embedding: BGE-M3
처음엔 그냥 “임베딩이 뭔진 몰라도 대화할 땐 위에 거 쓰면 되겠지” 하고 넘겼다. 그런데 RAG니 벡터 DB니 하는 것들을 접하다 보니 임베딩 모델을 제대로 이해하지 않으면 더 이상 진도가 안 나가는 상황이 됐다. 그래서 이 기회에 두 개념을 제대로 정리해보기로 했다.
생성형 LLM이란
LLM은 Large Language Model, 즉 대규모 언어 모델이다. 여기서 생성형(Generative)이라는 말이 붙으면, 입력된 텍스트를 바탕으로 새로운 텍스트를 만들어내는 모델을 말한다.
쉽게 말하면 이렇다.
“이 다음에 올 가장 그럴듯한 단어는 뭐야?” 를 엄청나게 많은 데이터로 학습한 모델
사용자가 질문을 던지면 모델은 그 맥락을 읽고, 가장 자연스러운 답변을 토큰 단위로 생성해낸다. 우리가 ChatGPT에 질문하고 답변을 받는 그 행위 자체가 생성형 LLM의 동작이다.
생성형 LLM의 핵심 특징
- 입력 → 텍스트 출력 : 질문, 명령, 대화 등 다양한 입력을 받아 텍스트를 반환한다.
- 문맥 이해 : 앞뒤 문맥을 파악해서 일관성 있는 답변을 만든다.
- 다양한 태스크 처리 : 요약, 번역, 코드 작성, 분류 등 범용적으로 활용 가능하다.
대표적인 생성형 LLM
| 모델 | 제공사 | 특징 |
|---|---|---|
| GPT-5.4 | OpenAI | 1M 토큰 컨텍스트, 추론 능력 내재화한 최신 Flagship |
| Claude Opus 4.6 | Anthropic | 1M 토큰 컨텍스트, Extended Thinking 지원, 에이전트·코딩 최강 |
| Gemini 3.1 Pro | 1M 토큰 컨텍스트, MoE 아키텍처, 5가지 멀티모달 입력 지원 | |
| Llama 4 Maverick | Meta | 오픈소스 Flagship, 1M 토큰, MoE 400B 파라미터 |
| DeepSeek V3.2 | DeepSeek | MIT 라이선스 오픈소스, 상업적 활용 가능 |
임베딩 모델이란
임베딩(Embedding)은 텍스트를 숫자 벡터로 변환하는 것을 말한다. 임베딩 모델은 이 변환 작업을 수행하는 모델이다.
“벡터로 변환한다”는 게 직관적으로 잘 안 와닿을 수 있으니 예시로 설명해보자.
“사과”라는 단어를
[0.12, -0.87, 0.45, ...]같은 수백~수천 차원의 숫자 배열로 바꾼다.
여기서 중요한 건 의미가 비슷한 텍스트는 벡터 공간에서 가까이 위치한다는 것이다.
예를 들어 “강아지”와 “멍멍이”는 표현은 다르지만 의미가 같으니 벡터 상 거리가 가깝고, “강아지”와 “자동차”는 거리가 멀다. 이 성질을 이용해 검색, 분류, 유사도 비교 같은 작업을 수행할 수 있다.
임베딩 모델의 핵심 특징
- 입력 → 벡터 출력: 텍스트를 받아서 텍스트가 아닌 숫자 배열을 반환한다.
- 의미 보존: 비슷한 의미의 문장은 비슷한 벡터값을 가진다.
- 생성 기능 없음: 새로운 텍스트를 만들어내는 게 아니라 표현을 변환하는 역할이다.
대표적인 임베딩 모델
| 모델 | 제공사 | 특징 |
|---|---|---|
| text-embedding-3-large | OpenAI | 3072차원, MRL 지원으로 차원 축소 후에도 성능 유지 |
| text-embedding-3-small | OpenAI | 비용 효율적, ada-002 대비 성능 개선 |
| embed-v4.0 | Cohere | 128K 컨텍스트, 멀티모달(텍스트+이미지) 지원 |
| gemini-embedding-001 | MTEB Multilingual 최상위권, 3072차원 | |
| gemini-embedding-2-preview | 텍스트·이미지·영상·오디오·PDF 5가지 멀티모달 임베딩 | |
| bge-m3 | BAAI | 100+ 언어, 8192 토큰, Dense/Lexical/Multi-vec 통합 |
| Qwen3-Embedding-8B | Alibaba | MTEB Multilingual 1위 오픈소스, 100+ 언어·한국어 우수 |
| voyage-4 | Voyage AI | MoE 아키텍처, 32K 컨텍스트, 범용 고성능 |
그래서 둘의 차이가 뭔데
정리하면 이렇다.
| 구분 | 생성형 LLM | 임베딩 모델 |
|---|---|---|
| 출력 형태 | 텍스트 | 숫자 벡터 |
| 주요 목적 | 텍스트 생성, 대화, 추론 | 의미 표현, 유사도 측정 |
| 사용 사례 | 챗봇, 요약, 번역, 코드 생성 | 검색, 분류, 추천, RAG |
| 직접 사용 | 사람이 바로 읽을 수 있는 결과 | 보통 다른 시스템의 입력으로 활용 |
가장 큰 차이는 출력물이다. 생성형 LLM은 사람이 바로 읽을 수 있는 텍스트를 내뱉고, 임베딩 모델은 사람이 직접 해석하기 어려운 숫자 배열을 뱉는다.
임베딩 모델의 출력은 그 자체로 쓰이는 게 아니라 벡터 DB에 저장하거나 유사도 계산에 넣는 방식으로 활용된다. 요즘 많이 언급되는 RAG(Retrieval-Augmented Generation) 아키텍처도 이 두 가지를 조합한 방식이다.
임베딩 모델로 문서를 벡터화해서 저장해두고 → 질문이 들어오면 유사한 문서를 검색한 뒤 → 생성형 LLM에게 그 내용을 참고해서 답변하게 한다.
결국 두 모델은 경쟁 관계가 아니라 서로 다른 역할을 맡고 있고, 실제 서비스에서는 함께 쓰이는 경우가 많다.
마무리
AI를 그냥 “GPT 같은 것”으로만 알고 있다가 임베딩이라는 개념을 처음 만나면 꽤 당황스럽다. 텍스트를 넣었더니 뜬금없이 숫자 배열이 나오고, 이걸 어디다 쓰는 건지 처음엔 감이 잘 안 잡힌다.
그런데 결국 생성형 LLM이 “대화하는 AI”라면 임베딩 모델은 “의미를 이해하고 정리하는 AI”라고 볼 수 있다. 둘 다 언어를 다루지만 방향이 다른 셈이다.
AI 서비스를 좀 더 깊게 파고들려면 이 두 개념은 반드시 구분해서 알고 있어야 한다. 나중에 RAG 구조나 벡터 검색을 다룰 때 이 기초가 없으면 또 막히게 될 테니까.