AI 모델 개발: 검색/추천 – Dense Embedding
ㅁ 검색/추천
ㅇ 정의:
벡터 공간 상에서 문서나 아이템을 고차원 실수 벡터로 표현하여 유사도를 계산하는 방식으로, 단어 빈도 기반이 아닌 의미적 유사성을 반영하는 임베딩 기법.
ㅇ 특징:
– 단어, 문서, 이미지 등을 동일한 벡터 공간에 매핑하여 의미적 거리 계산 가능
– 코사인 유사도, 유클리드 거리 등을 활용한 근접 탐색
– 대규모 데이터셋에서도 의미 기반 검색 품질이 높음
ㅇ 적합한 경우:
– 키워드가 다르지만 의미가 유사한 검색 결과를 찾고자 할 때
– 추천 시스템에서 사용자의 취향과 유사한 아이템을 찾을 때
– 다국어 의미 매칭이 필요한 경우
ㅇ 시험 함정:
– Dense Embedding은 항상 키워드 일치 검색보다 빠르다고 단정할 수 없음(O)
– 의미적 유사성은 반영하지만, 정확한 키워드 매칭에는 불리할 수 있음(O)
– Sparse Vector와 동일하게 단순 빈도 기반 가중치를 사용한다(X)
ㅇ 시험 대비 “패턴 보기” 예시:
– “Dense Embedding은 단어의 의미적 유사성을 반영한다” → O
– “Dense Embedding은 TF-IDF와 동일한 방식으로 가중치를 계산한다” → X
– “Dense Embedding은 다국어 의미 검색에 활용 가능하다” → O
ㅁ 추가 학습 내용
Dense Embedding 학습 방법
– Word2Vec: 단어를 고정 길이 벡터로 변환, CBOW와 Skip-gram 방식 사용, 빠르고 간단하지만 문맥 정보 반영 한계
– GloVe: 전역적인 단어 동시 발생 통계 기반, 의미적 유사도 잘 포착, 희소 행렬 처리 필요
– FastText: 서브워드 단위 학습으로 희귀 단어 처리 강점, 형태소 정보 활용 가능
– BERT 임베딩: Transformer 기반 문맥적 임베딩, 문장 내 위치와 주변 단어에 따라 의미 변화 반영, 연산량 크고 학습·추론 속도 느림
ANN(Approximate Nearest Neighbor) 기법
– FAISS: Facebook 개발, 대규모 벡터 검색 최적화, GPU 가속 지원
– HNSW: 그래프 기반 탐색, 검색 속도와 정확도 우수, 메모리 사용량 많음
– ScaNN: Google 개발, 고차원 벡터에 최적화, 효율적인 메모리 사용과 빠른 검색 속도
차원 축소 및 정규화 기법의 영향
– PCA: 선형 변환으로 차원 축소, 계산 속도 빠름, 비선형 구조 반영 한계
– t-SNE: 비선형 차원 축소, 시각화에 유리, 대규모 데이터 처리 속도 느림
– UMAP: t-SNE보다 빠르고 전반적 구조 보존, 시각화 및 검색 성능 개선 가능
– 정규화: 벡터 크기 조정으로 거리 계산 일관성 확보, 검색 정확도 향상
도메인 특화 임베딩 학습과 파인튜닝
– 데이터 품질과 범위가 성능에 직접적 영향
– 특정 분야 데이터로 사전 학습 모델 파인튜닝 시 해당 도메인 검색 성능 개선
Sparse Vector 기반 검색과 하이브리드 검색
– Sparse Vector: 전통적인 역색인 기반, 키워드 매칭 강점
– 하이브리드 검색: Dense Embedding과 Sparse Vector 결합, 의미 기반과 키워드 기반 장점을 모두 활용, 실무에서 검색 품질 향상에 널리 사용