Descriere & Utilizare
Un milion de vectori cu 1536 de dimensiuni stocați în format float32 (4 octeți per număr) ocupă aproximativ 6.14 GB doar pentru datele brute, iar graful HNSW adaugă încă 2–4 GB de RAM. La zeci de milioane de documente, costul serverelor cu sute de gigabytes de RAM devine prohibitiv.
Cuantizarea Vectorială (Vector Quantization) rezolvă această problemă comprimând reprezentarea numerică: Scalar Quantization (SQ) mapează fiecare valoare float32 într-un întreg de 8 biți (int8), reducând amprenta de memorie cu exact 75% cu o scădere infimă a acurateței (recall pierdut sub 1%).
Product Quantization (PQ) oferă o compresie și mai agresivă (până la 95%), iar motoarele moderne (Qdrant, Pinecone) combină căutarea rapidă pe vectorii comprimați cu o fază finală de Oversampling & Rescoring pe discuri NVMe pentru precizie maximă.
Cum să o reții ușor
💡 Ca salvarea unei imagini RAW necomprimate de 50 MB ca fișier JPEG de 3 MB: ochiul uman (și modelul AI) nu observă nicio diferență calitativă, dar economisești 94% din spațiul de stocare.
Opțiuni și parametri tehnici
Scalar Quantization (SQ): recomandat ca prim pas în orice proiect de producție mare; este extrem de stabil și rapid.Rescore (always_ram / on_disk): dacă este activat, motorul ia primiiK * 3candidați din indexul cuantizat și le recalculează scorul pe vectorii originali din NVMe.Binary Quantization (BQ): ideal doar pentru modele speciale antrenate nativ cu pierdere binară (ex: Cohere Embed v3).
Exemple practice și cazuri de utilizare
- Activarea Scalar Quantization în Qdrant:
client.update_collection(collection_name="articole", quantization_config=models.ScalarQuantization(scalar=models.ScalarQuantizationConfig(type=models.ScalarType.INT8, quantile=0.99, always_ram=True))) - Economie de costuri: o instanță cu 64 GB RAM poate găzdui 10 milioane de vectori în loc de doar 2.5 milioane.
- Configurare rescoring: setează
oversampling=2.0la căutare pentru a verifica de două ori mai mulți candidați.
Sfaturi de configurare & capcane
Activează întotdeauna opțiunea always_ram=False în Qdrant dacă rulezi pe servere cu discuri NVMe rapide — vectorii originali vor rămâne pe disc și vor fi citiți doar pentru primele 10 rezultate finale.
Comenzi și ghiduri înrudite
algoritmi-hnsw-ivfflat: Resursă asociată din acest modul.qdrant-client-collections: Resursă asociată din acest modul.pgvector-hnsw-index: Resursă asociată din acest modul.