아래로 당겨서 돌아가기
ArcFace 임베딩을 16비트 pgvector HALFVEC로 양자화 — 정밀도가 정말 필요할까?

ArcFace 임베딩을 16비트 pgvector HALFVEC로 양자화 — 정밀도가 정말 필요할까?

ArcFace embeddings quantized to 16-bit pgvector HALFVEC — does precision actually matter?

512차원 얼굴 임베딩을 32비트 부동소수점으로 저장하면 2048바이트가 되어 PostgreSQL의 TOAST 임계값(2040바이트)을 약간 초과합니다. 이러면 데이터베이스가 자동으로 TOAST 테이블로 옮겨버려서 인라인으로 유지하지 않게 되고, 포인터 조회와 추가 읽기로 I/O가 두 배로 늘어납니다. HNSW는 이 문제를 완전히 우회할 수 있지만, 진짜 질문은 ArcFace 임베딩이 정말 32비트 정밀도가 필요한가, 아니면 16비트 HALFVEC로 안전하게 줄여서 저장공간을 반으로 줄일 수 있는가 하는 것입니다.

키워드

embeddingsquantizationHALFVECTOASTHNSWface recognitionvector databasesperformance optimization