Clark Hash : quantification de Johnson-Lindenstrauss clairsemée sans état pour les plongements neuronaux
Clark Hash: Stateless Sparse Johnson-Lindenstrauss Quantization for Neural Embeddings
May 27, 2026
Auteurs: Stanislav Kirdey, Clark Labs Inc
cs.AI
Résumé
Clark Hash est une méthode compacte pour stocker les représentations neuronales (embeddings) dans un espace réduit. Elle normalise chaque vecteur de la base de données, applique une projection de Johnson-Lindenstrauss signée creuse déterministe, écrête le résultat, puis stocke un code quantifié scalaire de largeur fixe. Les requêtes restent en virgule flottante et sont évaluées par rapport aux esquisses stockées. Dans le cadre par défaut des plongements de phrases à 384 dimensions, Clark Hash stocke un vecteur de recherche cosinus dans 48 octets au lieu de 1536 octets pour un stockage dense en f32, soit une réduction d'un facteur 32. La méthode ne nécessite ni phase d’apprentissage, ni dictionnaires appris, ni rotations, ni statistiques sur le corpus avant de pouvoir stocker de nouveaux vecteurs. Nous décrivons le codec, son implémentation en Rust, ainsi qu’une évaluation multilingue de similarité de phrases sur 9 304 paires étiquetées provenant de 29 sous-ensembles. Avec un encodeur MiniLM multilingue, les esquisses de 48 octets atteignent une corrélation de Pearson macro de 0,910 et 0,946 avec les scores cosinus denses respectivement sur STS17 et STS22. Clark Hash n’est pas un nouveau théorème de Johnson-Lindenstrauss ni un remplacement des index de plus proches voisins approchés. Il s’agit d’un simple codec sans état pour un stockage compact des plongements.
English
Clark Hash is a small method for storing neural embeddings in less space. It normalizes each database vector, applies a deterministic sparse signed Johnson-Lindenstrauss projection, clips the result, and stores a fixed-width scalar-quantized code. Queries stay in floating point and are scored against the stored sketches. In the default 384-dimensional sentence-embedding setting, Clark Hash stores a cosine-search vector in 48 bytes instead of 1536 bytes for dense f32 storage. This is 32x smaller. The method does not need a training pass, learned codebooks, rotations, or corpus statistics before new vectors can be stored. We describe the codec, the Rust implementation, and a multilingual sentence-similarity evaluation on 9,304 labeled pairs from 29 subsets. With a multilingual MiniLM encoder, the 48-byte sketches reached 0.910 and 0.946 macro Pearson correlation with dense cosine scores on STS17 and STS22. Clark Hash is not a new Johnson-Lindenstrauss theorem and it is not a replacement for approximate nearest-neighbor indexes. It is a simple stateless codec for compact embedding storage.