임베딩은 복잡한 객체를 숫자 벡터로 요약해
문장, 이미지, 상품, 사용자 세션처럼 열 하나로 표현하기 어려운 객체를 고정 길이 숫자 벡터로 바꾼 것이 임베딩이야. 의미나 사용 맥락이 비슷한 객체가 벡터 공간에서도 가깝도록 학습하지. 비정형 입력을 고전 기계학습이 다룰 수 있는 수치 특성으로 이어 주는 다리 역할을 해.
벡터 위에는 익숙한 도구가 올라가
가까운 문서를 찾을 때는 코사인 유사도와 k-최근접 이웃을, 분류에는 로지스틱 회귀를, 표 자료와 결합할 때는 LightGBM 같은 모델을 쓸 수 있어. 임베딩만으로 문제를 끝내는 게 아니라 그 벡터가 어떤 후속 결정에 쓰이는지에 따라 평가해야 해. 검색이면 recall@K, 분류면 PR-AUC처럼 목적 지표가 달라져.
사전학습 모델에서 시작해
sentence-transformers, OpenAI 텍스트 임베딩, CLIP 같은 사전학습 인코더는 큰 일반 자료에서 배운 표현을 바로 제공해. 정답 자료가 적을 때 강한 기준선이고 학습 비용도 줄여. 하지만 일반 언어에서 가까운 문장이 법률·의료·사내 용어에서도 같은 의미라는 보장은 없어. 실제 도메인 쌍과 어려운 음성 사례로 검색과 분류 품질을 확인해.
미세조정은 도메인 거리의 뜻을 바꿔
사전학습 모델을 같은 의미의 쌍은 가깝게, 다른 의미의 쌍은 멀게 되도록 도메인 자료로 미세조정할 수 있어. 충분한 양·음성 쌍과 독립 평가 자료가 필요하고, 부정 예시 선택이 결과를 크게 바꿔. 작은 향상을 위해 인코더 운영과 재학습 책임이 추가되는 만큼 기준선 대비 이득을 먼저 수치로 확인해.
자체 학습은 가장 큰 책임을 가져
오토인코더나 대조학습으로 자체 표현을 만들면 고유한 센서나 행동 자료에 맞출 수 있어. 대신 많은 자료, 계산, 학습 안정성, 버전 관리가 필요해. 이미 강한 사전학습 표현이 있는 텍스트와 이미지에서는 자체 학습이 진짜 새 능력을 주는지 냉정하게 비교해야 해.
유사도는 스케일과 정규화에 민감해
텍스트 임베딩은 코사인 유사도를 자주 쓰고, 벡터를 L2 정규화하면 내적과 코사인 순위가 같아져. 모델마다 권장 유사도와 벡터 크기 분포가 다르므로 관습으로 고르지 말고 문서를 확인해. 검색 색인과 질의가 반드시 같은 인코더와 전처리, 정규화를 써야 해.
임베딩도 모델 결과물이야
특성 계약에 인코더 이름과 정확한 버전, 토크나이저, 벡터 차원, 정규화 방식, 입력 자르기 규칙을 고정해. 인코더를 조용히 업그레이드하면 차원은 같아도 벡터 공간의 뜻이 달라져 기존 색인과 후속 모델이 미묘하게 망가질 수 있어. 새 버전은 전체 자료를 다시 임베딩하고 같은 평가 묶음에서 비교한 뒤 전환해야 해.
저장과 개인정보 비용도 계산해
수백 차원 벡터를 모든 행에 저장하면 색인과 메모리가 빠르게 커져. 원문에 민감한 정보가 있으면 임베딩도 완전한 익명화로 취급해선 안 돼. 원문 보존 기간, 벡터 삭제, 접근 권한, 제공업체 전송 범위를 정하고 지연 시간과 호출 단가를 운영 계획에 포함해.