Google ScaNN: Cuantizare Anizotropă și Scalable Nearest Neighbors în Baze de Date Vectoriale & Căutare Semantică

Sintaxă & interogare
scann.scann_ops_pybind.builder(x, 10, 'dot_product')

Google ScaNN (Scalable Nearest Neighbors) este una dintre cele mai performante biblioteci open-source de căutare a celor mai apropiați vecini cu produs scalar maxim (MIPS). Inovația cheie a ScaNN este cuantizarea anizotropă a vectorilor (Anisotropic Vector Quantization).

În timp ce cuantizarea vectorială tradițională (PQ) încearcă să minimizeze distanța L2 dintre vectorul original și reprezentarea cuantizată, ScaNN penalizează în mod asimetric erorile paralele cu vectorul de interogare față de erorile ortogonale, păstrând ordinea de clasificare a produsului scalar.

import scann
import numpy as np

dataset = np.random.randn(50000, 256).astype(np.float32)

# Construire pipeline ScaNN cu partiționare AH (Anisotropic Hashing)
searcher = scann.scann_ops_pybind.builder(dataset, 10, "dot_product") \
    .tree(num_leaves=1000, num_leaves_to_search=100, training_sample_size=20000) \
    .score_ah(dimensions_per_block=2, anisotropic_quantization_threshold=0.2) \
    .reorder(100) \
    .build()

query = np.random.randn(256).astype(np.float32)
neighbors, distances = searcher.search(query)
print("Top vecini identificați:", neighbors)

Această tehnică permite ScaNN să depășească de două ori performanța metodelor convenționale pe clasamentele standard ANN-Benchmarks la același nivel de recall.

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Google ScaNN: Cuantizare Anizotropă și Scalable Nearest Neighbors

Ai o întrebare despre Google ScaNN: Cuantizare Anizotropă și Scalable Nearest Neighbors sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.