Teori Transisi Metrik: Bagaimana Kuantisasi Mengubah Geometri Similarity

Metrik similarity optimal untuk vector search BUKAN properti dari data — ia adalah properti dari representation precision. Vektor float32 pakai cosine (dot product). INT8 pakai cosine atau dot product dengan dequantization. Vektor biner pakai Hamming distance. Ini bukan pilihan — ini keharusan matematis yang didorong oleh information theory: begitu magnitude dihilangkan melalui sign quantization, continuous metric space collapse ke discrete space, dan cosine menjadi tidak bermakna. Catatan ini memformalkan Metric Transition Principle dan memetakan phase diagram dari {precision → optimal metric → compute instruction}.


1. Prinsip: Metric Mengikuti Precision

1.1 Inti Pemikiran

Diberikan representasi vektor pada precision (bit per dimensi), ada optimal similarity metric yang memaksimalkan search quality di bawah compute constraints dari .

Dimana adalah himpunan semua distance/similarity functions.

Pemetaan empiris:

(bits/dim)Precision LevelOptimal Compute PrimitiveKenapa
32float32Cosine / dot productFMA + reductionInformasi geometrik penuh
16float16Cosine / dot productFP16 FMARange berkurang, metric space sama
8int8Cosine (dequantized)INT8 dot + dequantQuantization noise tapi linear space terjaga
4int4Cosine / ManhattanINT4 dot + lookup tableNoise ekstrem; koreksi nonlinear diperlukan
1binaryHamming distanceXOR + POPCNTMetric space collapse: sign-only → angular sectors only

1.2 Kenapa Phase Transition? (Bukan Gradual)

Antara (INT8) dan (binary), ada lompatan diskontinu dalam optimal metric. Alasannya information-theoretic:

INT8 pada : Setiap dimensi menyimpan 8 bit informasi. Nilai yang direpresentasikan membentuk skala linear (256 level). Dot product adalah aproksimasi valid dari float32 dot product asli. Cosine similarity valid karena:

Binary pada : Setiap dimensi menyisakan 1 bit — hanya sign yang bertahan. Dot product dari vektor sign-encoded:

Ini BUKAN dot product dalam sense linear algebra — ini adalah count dari co-occurring signs. Dua vektor bisa punya dan di dimensi yang sama, keduanya di-encode ke , tapi magnitude float32 mereka berbeda 6 orde besaran. Cosine akan menangkap perbedaan ini; Hamming tidak.

Transisi dari ke adalah phase transition karena topologi metric space berubah:

Topological PropertyFloat32/INT8 SpaceBinary (Hamming) Space
Linearity✅ Linear❌ Tidak linear (XOR space)
Continuity✅ Continuous❌ Discrete (hanya {0..d})
Magnitude encoding✅ Full❌ Nol (sign only)
Distance typeMetric (Euclidean)Metric (Hamming)
Triangle inequality
Differentiability❌ (tidak untuk gradient)

2. Phase Diagram Metrik

2.1 Ruang Metrik

graph LR
    subgraph Float32 Space
        A[Full Dot Product] --> B[Cosine Similarity]
        A --> C[Euclidean Distance]
        A --> D[Manhattan Distance]
    end

    subgraph INT8 Space
        E[Quantized Dot Product] --> F[Dequantized Cosine]
        E --> G[SQ8 Euclidean]
    end

    subgraph Binary Space
        H[Popcount] --> I[Hamming Distance]
        H --> J[Jaccard Index]
    end

    B -.->|Quantization| F
    F -.->|Sign Quantization| I
    C -.->|Quantization| G
    G -.->|Binary| I

2.2 Optimal Metric per Vector Database

Vector DBDefault MetricPrecisionAlternative MetricsMetric Transition Point
FAISSInner Product / L2float32Cosine, L1, Hamming (IndexBinary* only)Exact: binary = separate index type
pgvectorCosine / L2 / IPfloat32Distances onlySQ8 quantization support via halfvec
sqlite-vecCosinefloat32L2Tidak ada binary support
MilvusCosine / IP / L2float32Hamming, Jaccard, TanimotoBinary vectors via BINARY type
QdrantDot / Cosinefloat32L2, ManhattanTidak ada binary support
eBVCHammingbinarynoneMulai dari binary — tidak ada fallback

2.3 Biaya Komputasi Transisi

Perubahan optimal metric didorong oleh compute unit cost:

// float32 dot product (1 dim):
//   1 FLOP = 1 FMA = 5 cycles latency
//   1 float32 multiplication + 1 addition
//   Pipelined throughput: 0.5 cycles/dim (AVX-512)
 
// int8 dot product (1 dim):
//   1 VPMADDUBSW + VPMADDWD + VPADDD = ~3 cycles per 32 dims
//   Throughput: ~0.1 cycles/dim
 
// binary Hamming (1 dim = 1 bit = 1/64 u64 word per operation):
//   POPCNT pada 64-bit word: 3 cycles untuk 64 dims
//   Throughput: ~0.047 cycles/dim
 
//   Rasio: binary ~10× lebih cepat dari int8, ~50× lebih cepat dari float32

3. Information-Theoretic Bound

3.1 Shannon Rate-Distortion untuk Metric Transition

Untuk query dan database vector pada float32 precision, cosine similarity mendefinisikan ranking “ground truth”.

Setelah kuantisasi ke , Bayesian estimator optimal untuk cosine yang diberikan Hamming distance adalah:

Estimator ini memiliki variance bound:

dimana IoU adalah Intersection over Union dari sign bits.

Dalam bahasa sederhana: Kualitas estimasi cosine dari Hamming distance membaik seiring — artinya dimensionality yang lebih tinggi meningkatkan kualitas binary search. Inilah kenapa Jina v5 pada 1024-dim bekerja jauh lebih baik dengan binary quantization dibandingkan model 256-dim.

3.2 Validasi Praktis

ModeldCosine→Hamming Recall@10 (relatif terhadap float32)
text-embedding-3-small153689-91%
text-embedding-3-large307292-94%
Jina v5 text-small102494-96%
Jina v5 text-large204896-97%
Cohere Embed v3102492-95%

Tren mengkonfirmasi teori: Dimensionality lebih tinggi → sign encoding lebih baik → informasi lebih sedikit hilang → recall lebih tinggi.


4. Implikasi untuk Production Systems

4.1 Multi-Tier Search dengan Metric Switching

Production vector search yang juga menggunakan binary quantization harus mengimplementasikan metric switching:

def search_threshold_hierarchy(query: np.ndarray, top_k: int = 10):
    """
    3-tier search: setiap tier menggunakan metric berbeda
 
    Tier 1: Binary + Hamming (tercepat, 100K+ QPS)
    Tier 2: SQ8 + Cosine (medium, 10K QPS)
    Tier 3: Float32 + Cosine (paling lambat, 1K QPS)
    """
    # Tier 1: Binary cache
    q_bin = binary_quantize(query)
    candidates = hamming_search(q_bin, db_binary, top_k=top_k * 5)
 
    # Cek confidence: jika min Hamming distance << mean_dist, return early
    if candidates[0].distance < 0.1 * d:
        return candidates[:top_k]
 
    # Tier 2: INT8 re-score
    q_int8 = quantize_to_int8(query)
    rescored = cosine_search(q_int8, db_int8[candidates.ids], top_k=top_k)
 
    # Tier 3: Jika masih tidak yakin, full float32 re-rank
    if rescored[-1].score < 0.7:
        final = cosine_search(query, db_float32[rescored.ids], top_k=top_k)
    else:
        final = rescored
 
    return final

Ini mengeksploitasi Metric Transition Principle: setiap tier menggunakan metric optimal untuk precision level-nya, dan kombinasinya mencapai recall mendekati float32 dengan throughput mendekati binary.

4.2 Kapan TIDAK Pakai Binary (dan Tetap dengan Cosine)

KondisiStay with CosineAlasan
d < 256Information loss terlalu tinggi; bound terlalu lemah
Embedding isotropy < 0.3Distribusi sudut tidak uniform → binary collapse
Magnitude membawa makna✅ contoh: document importance, confidence scoresSign quantization membuang magnitude
RE-RANKING dilakukan downstreamReranker mengharapkan continuous scores, bukan Hamming distances
Multi-vector / weighted queriesQuery weighting membutuhkan continuous dot product

5. Ringkasan Formal

Metric Transition Principle (MTP): Untuk setiap vector similarity search system, ada precision threshold kritis sehingga untuk semua , optimal metric bergeser secara diskontinu dari metric berbasis inner-product kontinu ke metric kombinatorial diskrit (Hamming, Jaccard, atau Tanimoto).

Untuk bit per dimensi (INT4), metric tetap aproksimasi linear. Untuk bit per dimensi (binary), metric HARUS Hamming (atau derived binary metric) — segala upaya menggunakan cosine pada sign-encoded vectors secara matematis ekuivalen dengan Hamming hingga monotonic transform.

Verifikasi: untuk balanced encodings, membuktikan metric tersebut terkait secara deterministik.


References

  1. hierarchy-binary-quantization-hamming-popcount — §3: The Metric Transition, §5: Why Binary Works
  2. cosine-similarity-deepdive — §2: Formula & Geometry, §7: Cosine vs Other Metrics
  3. cosine-vs-euclidean-vs-dot — Tabel per metrik
  4. vector-database-internals-optimization — §4: Quantization comparison
  5. hierarchy-recursive-ring-deepdive — Phase transition conceptual framework
  6. C. Shannon. “A Mathematical Theory of Communication.” Bell System Technical Journal, 1948.
  7. T. Dao et al. “FlashAttention.” 2022.

Koneksi ke Vault

CatatanKoneksi
hierarchy-binary-quantization-hamming-popcount§3 Metric Transition — expanded version of this concept
cosine-similarity-deepdiveCosine formula & geometry — sebagai continuous baseline
vector-database-internals-optimization§4 Quantization — precision trade-offs
hierarchy-kernel-bypass-networkingeBPF compute constraints → kenapa Hamming adalah satu-satunya opsi