Skip to content

Commit 82d47df

Browse files
refactor focus on feature not the techniques svs-compression.md (#2016)
* refactor svs-compression.md Update the SVS compression documentation to focus on the feature of compression and quantization, using the technique names LVQ and LeanVec, as these are directly reflected in the API and implementation. Remove generic references and ensure all sections and examples use LVQ and LeanVec terminology, as well as their respective naming conventions for configuration. The rewritten content should clarify the function and benefit of each variant, the role of multi-level compression, and practical considerations for parameter learning and data drift, while maintaining warning about hardware dependency and proprietary optimizations. * minor fixes svs-compression.md * fix miswordings svs-compression.md * Editorial updates (style, etc.) --------- Co-authored-by: David W. Dougherty <[email protected]>
1 parent 578b38f commit 82d47df

File tree

2 files changed

+27
-25
lines changed

2 files changed

+27
-25
lines changed

content/develop/ai/search-and-query/vectors/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ Choose the `SVS-VAMANA` index type when all of the following requirements apply:
161161
| `REDUCE` | The dimension used when using `LeanVec4x8` or `LeanVec8x8` compression for dimensionality reduction. If a value is provided, it should be less than `DIM`. Lowering it can speed up search and reduce memory use. | `DIM / 2` |
162162

163163
{{< warning >}}
164-
Intel's proprietary LVQ and LeanVec optimizations are not available on Redis Open Source. On non-Intel platforms and Redis Open Source platforms, `SVS-VAMANA` with `COMPRESSION` will fall back to Intel’s basic, 8-bit scalar quantization implementation: all values in a vector are scaled using the global minimum and maximum, and then each dimension is quantized independently into 256 levels using 8-bit precision.
164+
Some advanced vector compression features may depend on hardware or Intel's proprietary optimizations. Intel's proprietary LVQ and LeanVec optimizations are not available in Redis Open Source. On non-Intel platforms and Redis Open Source platforms, `SVS-VAMANA` with `COMPRESSION` will fall back to basic, 8-bit scalar quantization implementation: all values in a vector are scaled using the global minimum and maximum, and then each dimension is quantized independently into 256 levels using 8-bit precision.
165165
{{< /warning >}}
166166

167167
**Example**

content/develop/ai/search-and-query/vectors/svs-compression.md

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
---
2+
aliases:
3+
24
categories:
35
- docs
46
- develop
@@ -9,53 +11,53 @@ categories:
911
- oss
1012
- kubernetes
1113
- clients
12-
description: Intel scalable vector search (SVS) LVQ and LeanVec compression
13-
linkTitle: Intel SVS compression
14-
title: Intel scalable vector search (SVS) compression
14+
description: Vector quantization and compression for efficient memory usage and search performance
15+
linkTitle: Quantization and compression
16+
title: Vector quantization and compression
1517
weight: 2
1618
---
1719

18-
Intel's SVS (Scalable Vector Search) introduces two advanced vector compression techniques&mdash;LVQ and LeanVec&mdash;designed to optimize memory usage and search performance. These methods compress high-dimensional vectors while preserving the geometric relationships essential for accurate similarity search.
20+
Efficient management of high-dimensional vector data is crucial for scalable search and retrieval. Advanced methods for vector quantization and compression, such as LVQ (Locally-adaptive Vector Quantization) and LeanVec, can dramatically optimize memory usage and improve search speed, without sacrificing much accuracy. This page describes practical approaches to quantizing and compressing vectors for scalable search.
1921

2022
{{< warning >}}
21-
Intel's proprietary LVQ and LeanVec optimizations are not available on Redis Open Source. On non-Intel platforms and Redis Open Source platforms, `SVS-VAMANA` with `COMPRESSION` will fall back to Intel’s basic, 8-bit scalar quantization implementation: all values in a vector are scaled using the global minimum and maximum, and then each dimension is quantized independently into 256 levels using 8-bit precision.
23+
Some advanced vector compression features may depend on hardware or Intel's proprietary optimizations. Intel's proprietary LVQ and LeanVec optimizations are not available in Redis Open Source. On non-Intel platforms and Redis Open Source platforms, `SVS-VAMANA` with `COMPRESSION` will fall back to basic, 8-bit scalar quantization implementation: all values in a vector are scaled using the global minimum and maximum, and then each dimension is quantized independently into 256 levels using 8-bit precision.
2224
{{< /warning >}}
2325

24-
## LVQ and LeanVec compression
26+
## Quantization and compression techniques
2527

26-
### LVQ (locally-adaptive vector quantization)
28+
### LVQ (Locally-adaptive Vector Quantization)
2729

28-
* **Method:** Applies per-vector normalization and scalar quantization.
30+
* **Method:** Applies per-vector normalization and scalar quantization; learns parameters directly from the data.
2931
* **Advantages:**
3032
* Enables fast, on-the-fly distance computations.
31-
* SIMD-optimized layout using Turbo LVQ for efficient distance computations.
32-
* Learns compression parameters from data.
33+
* SIMD-optimized layout for efficient search.
34+
* Learns compression parameters from representative vectors.
3335
* **Variants:**
3436
* **LVQ4x4:** 8 bits per dimension, fast search, large memory savings.
3537
* **LVQ8:** Faster ingestion, slower search.
3638
* **LVQ4x8:** Two-level quantization for improved recall.
3739

38-
### LeanVec
40+
### LeanVec (LVQ with dimensionality reduction)
3941

40-
* **Method:** Combines dimensionality reduction with LVQ.
42+
* **Method:** Combines dimensionality reduction with LVQ, applying quantization after reducing vector dimensions.
4143
* **Advantages:**
42-
* Ideal for high-dimensional vectors.
43-
* Significant performance boost with reduced memory.
44+
* Best suited for high-dimensional vectors.
45+
* Significant speed and memory improvements.
4446
* **Variants:**
4547
* **LeanVec4x8:** Recommended for high-dimensional datasets, fastest search and ingestion.
46-
* **LeanVec8x8:** Improved recall when LeanVec4x8 is insufficient.
47-
* **LeanVec Dimension:** For faster search and lower memory use, reduce the dimension further by using the optional `REDUCE` argument. The default value for `REDUCE` is `input dim / 2`; try `dim / 4` for even higher reduction.
48+
* **LeanVec8x8:** Improved recall when more granularity is needed.
49+
* **LeanVec Dimension:** For faster search and lower memory usage, reduce the dimension further by using the optional `REDUCE` argument. The default is typically `input dimension / 2`, but more aggressive reduction (such as `input dimension / 4`) is possible for greater efficiency.
4850

4951
## Choosing a compression type
5052

51-
| Compression type | Best for | Observations |
52-
|------------------|----------|--------------|
53-
| LVQ4x4 | Fast search in most cases with low memory use | Consider LeanVec for even faster search |
54-
| LeanVec4x8 | Fastest search and ingestion | LeanVec dimensionality reduction might reduce recall. |
55-
| LVQ4 | Maximum memory saving | Recall might be insufficient |
56-
| LVQ8 | Faster ingestion than LVQ4x4 | Search likely slower than LVQ4x4 |
57-
| LeanVec8x8 | Improved recall in case LeanVec4x8 is not sufficient | LeanVec dimensionality reduction might reduce recall |
58-
| LVQ4x8 | Improved recall in case LVQ4x4 is not sufficient | Worse memory savings |
53+
| Compression type | Best for | Observations |
54+
|----------------------|--------------------------------------------------|---------------------------------------------------------|
55+
| LVQ4x4 | Fast search and low memory use | Consider LeanVec for even faster search |
56+
| LeanVec4x8 | Fastest search and ingestion | LeanVec dimensionality reduction might reduce recall |
57+
| LVQ4 | Maximum memory saving | Recall might be insufficient |
58+
| LVQ8 | Faster ingestion than LVQ4x4 | Search likely slower than LVQ4x4 |
59+
| LeanVec8x8 | Improved recall when LeanVec4x8 is insufficient | LeanVec dimensionality reduction might reduce recall |
60+
| LVQ4x8 | Improved recall when LVQ4x4 is insufficient | Slightly worse memory savings |
5961

6062
## Two-level compression
6163

0 commit comments

Comments
 (0)