
349
11
장
표현 학습과 임베딩
원래
float32
벡터는 이제 청크들이 속한 클러스터에 해당하는 클러스터 식별자 목록으로 나타
낼 수 있습니다.
청크 크기가 클수록 압축률이 높아집니다. 따라서 벡터가
5
개의 청크로 나뉜다면 결과 임베딩
은 단
5
개의 차원만 가질 것입니다.
int8
이나 이진 양자화와 달리 곱 양자화는 벡터를 나타내
는 데 필요한 차원 수도 줄입니다. 하지만 성능 저하는 더 큽니다. 비용, 성능, 속도와 같은 기
준에 대한 상대적 우선순위를 결정해 양자화 기법을 선택하세요.
TIP
저장 공간을 위한 임베딩 최적화는 성능 저하를 수반합니다. 하지만 문서 코퍼스에 중복 정보가 많다면, 일반적
인 사용자 질의에 대한 답변을 여러 문서에서 찾을 수 있어 사용자가 이런 성능 저하를 느끼지 못할 수도 있습
니다.
연습 문제 ●●●
코히어의 임베딩 모델로 인코딩된 위키백과 임베딩
38
을 다운로드하고 클러스터 수를
256
으로
설정해 곱 양자화를 구현하세요. 곱 양자화를 지원하는
Qdrant
같은 벡터 데이터베이스를 사용
할 수도 있습니다. 다양한 청크 크기를 실험해 보세요. 가장 큰 성능 저하가 어디서 나타나나요?
곱 양자화를 위한 유사도 점수 계산 함수도 구현해 보세요.
임베딩 기반 검색을 실제로 구현하는 다양한 기법을 살펴봤으니, 다음으로는 서로 다른 벡터로 ...