Pull down to go back
ArcFace embeddings quantized to 16-bit pgvector HALFVEC — does precision actually matter?

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

ArcFace 人臉嵌入量化到 16 位元 pgvector HALFVEC — 精度真的有差嗎?

Face embeddings stored as 32-bit floats take up 2048 bytes, which pushes them just over PostgreSQL's TOAST threshold (2040 bytes). This means the database automatically offloads them to a separate TOAST table instead of keeping them inline, doubling I/O overhead with extra pointer lookups and reads. While HNSW sidesteps this entirely, the real question is: do ArcFace embeddings even need 32-bit precision, or can you safely drop to 16-bit HALFVEC and cut storage in half?

Keywords

embeddingsquantizationHALFVECTOASTHNSWface recognitionvector databasesperformance optimization