AI VIDEO BRIEFING

텍스트 임베딩 완전 정리 — 코사인 유사도부터 RAG 파이프라인, 실무에서 흔한 5가지 실수까지

임베딩은 문장을 숫자 좌표로 바꿔 의미를 기하학으로 다루게 해 줍니다. 코사인 유사도와 벡터 산술의 원리, 임베딩 모델 선택 기준, 청킹과 정규화 등 실무에서 반복되는 다섯 가지 실수까지 정리했습니다.

AI는 어떻게 '뜻'을 읽는가 — 텍스트 임베딩과 벡터 검색의 기본기 영상 대표 이미지

핵심 메시지

  • 키워드 검색은 문자를 맞추지 의미를 맞추지 않는다. '행복'을 검색해도 '기쁨'이 나오지 않는 이유가 여기에 있다.
  • 임베딩은 문장을 768·1536·3072개 같은 숫자 배열로 바꾼 것이고, 각 숫자는 감정·주제·격식 같은 의미의 한 축에 느슨하게 대응한다. 이 축은 사람이 정하지 않고 모델이 학습으로 찾아낸다.
  • 의미가 좌표가 되면 계산이 가능해진다. 코사인 유사도는 두 벡터 사이 각도를 재는 방식으로, 같은 방향이면 1.0, 무관하면 0, 반대면 -1이 된다.
  • RAG는 임베딩 위에 세워진다. 지식베이스 전체를 프롬프트에 넣을 수 없으니, 질문을 임베딩해 관련 조각만 찾아 LLM에 넘긴다.
  • 실무 실패는 모델 선택보다 기본기에서 나온다. 잘못된 청킹, 모델 혼용, 정규화 누락, 질의와 문서에 다른 모델 사용, 메타데이터 필터 부재가 대표적이다.

쉽게 이해하기

검색창에 '행복'을 넣으면 같은 뜻인데도 '기쁨'이 들어간 문서는 걸리지 않습니다. 키워드 검색이 문자를 맞출 뿐 의미를 맞추지 않기 때문이고, 30년 동안 그것으로 충분했습니다. 이 전제를 무너뜨린 것이 임베딩입니다.

임베딩 자체는 소박합니다. 단어나 문장을 임베딩 모델에 넣으면 768개, 1536개, 3072개처럼 길이가 제각각인 실수 배열이 나옵니다. 힘은 개수가 아니라 그 숫자들이 무엇을 담고 있느냐에서 나오는데, 하나는 감정의 축에, 하나는 주제에, 하나는 격식에 느슨하게 대응하는 식입니다. 이 축들은 사람이 지정한 것이 아니라 수십억 건의 예시에서 모델이 스스로 찾아낸 것입니다.

모델이 의미를 배우는 방식은 맥락입니다. 2013년 Word2Vec의 통찰은 비슷한 맥락에 등장하는 단어는 비슷한 뜻을 가진다는 것이었고, 고양이와 개는 모두 반려동물·사료·놀이·동물병원 근처에 나타나므로 비슷한 좌표를 갖게 됩니다. BERT나 OpenAI의 Ada-002 같은 트랜스포머 계열은 한 발 더 나가, 'bank'가 강(river) 옆에 있을 때와 돈(money) 옆에 있을 때 다른 좌표를 부여합니다. 이것이 문맥 임베딩이고, 현대 AI를 가능하게 한 돌파구로 소개됩니다.

좌표가 되면 의미를 계산할 수 있습니다. 코사인 유사도는 원점에서 뻗은 두 화살표 사이의 각도를 재는데, 0도면 1.0, 90도면 0, 180도면 -1이고 영상 예시에서는 happy와 joyful이 약 0.85, happy와 sad가 약 -0.3입니다. 더 나아가 king에서 man을 빼고 woman을 더하면 queen 근처에 도착하고, Paris에서 France를 빼고 Germany를 더하면 Berlin이 나옵니다. 왕족성이나 성별 같은 '방향'이 학습 과정에서 저절로 생겨났다는 뜻입니다.

실제 쓰임은 대부분 RAG로 수렴합니다. LLM에는 컨텍스트 윈도 한계가 있어 지식베이스 전체를 매 프롬프트에 넣을 수 없으니, 문서를 임베딩해 벡터 DB에 저장해 두고 질문이 들어오면 관련 조각만 찾아 함께 넘깁니다. 영상은 여기서 반복되는 실수 다섯 가지도 짚는데, 페이지 통째 임베딩(문단이나 200~400토큰 단위로 쪼갤 것), 서로 다른 모델의 임베딩 혼용, 벡터 정규화 누락, 질의와 문서에 다른 모델 사용, 메타데이터 필터 부재입니다.

주요 인사이트

  • 임베딩의 차원 수는 성능 지표가 아니라 표현 예산에 가깝다. 영상도 대부분의 프로덕션 앱은 저렴하고 빠른 소형 모델로 시작하고, 검색 품질이 부족할 때만 대형 모델로 옮기라고 권한다.
  • '관련성 있는 결과'와 '정답'은 다르다. 의미 검색은 의미가 가까운 것을 잘 찾아줄 뿐이므로, 최신성이나 출처가 중요한 도메인에서는 메타데이터 필터가 품질의 결정 요인이 된다.
  • 정규화 누락은 조용히 실패하는 종류의 버그다. 오류가 나지 않고 유사도 순위만 미묘하게 어긋나기 때문에, 검색 품질이 이상할 때 모델부터 바꾸기 전에 확인해야 할 항목이다.
  • king - man + woman = queen 같은 벡터 산술이 성립한다는 사실은, 모델이 단어 목록이 아니라 개념 사이의 관계를 방향으로 담은 내부 세계 모형을 갖고 있다는 증거로 제시된다.

자주 묻는 질문

임베딩은 결국 무엇인가요?

단어나 문장을 임베딩 모델에 넣었을 때 나오는 실수 배열, 즉 벡터입니다. 768·1536·3072개처럼 길이는 모델마다 다르고, 각 숫자가 의미의 서로 다른 축에 대응합니다.

코사인 유사도 값은 어떻게 읽나요?

두 벡터가 이루는 각도를 잰 값입니다. 0도(같은 방향)면 1.0, 90도(무관)면 0, 180도(반대)면 -1입니다. 영상 예시에서는 happy와 joyful이 약 0.85, happy와 sad가 약 -0.3입니다.

어떤 임베딩 모델부터 써야 하나요?

영상은 대부분의 프로덕션 앱에서 OpenAI의 소형 모델로 시작하고 검색 품질이 부족할 때만 대형으로 바꾸라고 권합니다. 로컬 추론이 필요하면 Hugging Face의 sentence-transformers나 Nomic Embed Text, 다국어가 중요하면 Cohere Embed V3를 후보로 듭니다.

임베딩을 쓸 때 가장 흔한 실수는 무엇인가요?

청킹 실패입니다. 페이지 전체를 임베딩하면 의미가 평균으로 뭉개져 구체성을 잃습니다. 그 밖에 서로 다른 모델의 임베딩 혼용, 벡터 정규화 누락, 질의와 문서에 다른 모델 사용, 메타데이터 필터 부재가 자주 지적됩니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식