|
37 | 37 | ##### `quantization=none` |
38 | 38 |
|
39 | 39 | ```bash |
40 | | -5.6G arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=off_hier=on_batch=10000_seed=42/VectorData_0.1.65536.v0.bucket |
41 | | -10M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=off_hier=on_batch=10000_seed=42/VectorData_0_2748779662794320.4.262144.v0.lsmvecidx |
42 | | -59M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=off_hier=on_batch=10000_seed=42/VectorData_0_2748779662794320_vecgraph.5.262144.v0.vecgraph |
| 40 | +5.6G VectorData_0.1.65536.v0.bucket |
| 41 | +10M VectorData_0_2748779662794320.4.262144.v0.lsmvecidx |
| 42 | +59M VectorData_0_2748779662794320_vecgraph.5.262144.v0.vecgraph |
43 | 43 | ``` |
44 | 44 |
|
45 | 45 | ##### `quantization=int8` |
46 | 46 |
|
47 | 47 | ```bash |
48 | | -5.6G arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=off_hier=on_batch=10000_seed=42/VectorData_0.1.65536.v0.bucket |
49 | | -999M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=off_hier=on_batch=10000_seed=42/VectorData_0_2748780028226180.4.262144.v0.lsmvecidx |
50 | | -59M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=off_hier=on_batch=10000_seed=42/VectorData_0_2748780028226180_vecgraph.5.262144.v0.vecgraph |
| 48 | +5.6G VectorData_0.1.65536.v0.bucket |
| 49 | +999M VectorData_0_2748780028226180.4.262144.v0.lsmvecidx |
| 50 | +59M VectorData_0_2748780028226180_vecgraph.5.262144.v0.vecgraph |
51 | 51 | ``` |
52 | 52 |
|
53 | | - |
54 | | - |
55 | 53 | ##### `quantization=PQ` |
56 | 54 |
|
57 | 55 | ```bash |
58 | | -5.6G arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=product_store=off_hier=on_batch=10000_seed=42/VectorData_0.1.65536.v0.bucket |
59 | | -11M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=product_store=off_hier=on_batch=10000_seed=42/VectorData_0_2748780503246723.4.262144.v0.lsmvecidx |
60 | | -247M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=product_store=off_hier=on_batch=10000_seed=42/VectorData_0_2748780503246723.4.262144.v0.lsmvecidx.vecpq |
61 | | -59M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=product_store=off_hier=on_batch=10000_seed=42/VectorData_0_2748780503246723_vecgraph.5.262144.v0.vecgraph |
| 56 | +5.6G VectorData_0.1.65536.v0.bucket |
| 57 | +11M VectorData_0_2748780503246723.4.262144.v0.lsmvecidx |
| 58 | +247M VectorData_0_2748780503246723.4.262144.v0.lsmvecidx.vecpq |
| 59 | +59M VectorData_0_2748780503246723_vecgraph.5.262144.v0.vecgraph |
62 | 60 | ``` |
63 | 61 |
|
64 | 62 | ##### `quantization=binary` |
65 | 63 |
|
66 | 64 | ```bash |
67 | | -5.6G arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=binary_store=off_hier=on_batch=10000_seed=42/VectorData_0.1.65536.v0.bucket |
68 | | -140M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=binary_store=off_hier=on_batch=10000_seed=42/VectorData_0_2748779801023527.4.262144.v0.lsmvecidx |
69 | | -59M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=binary_store=off_hier=on_batch=10000_seed=42/VectorData_0_2748779801023527_vecgraph.5.262144.v0.vecgraph |
| 65 | +5.6G VectorData_0.1.65536.v0.bucket |
| 66 | +140M VectorData_0_2748779801023527.4.262144.v0.lsmvecidx |
| 67 | +59M VectorData_0_2748779801023527_vecgraph.5.262144.v0.vecgraph |
70 | 68 | ``` |
71 | 69 |
|
72 | 70 | #### Findings |
|
83 | 81 | - `BINARY` index is moderate (~140 MB). |
84 | 82 | - **Reopen:** Recall and timings after reopen track pre-close numbers; PQ remains lower recall, `NONE`/`INT8` remain high. |
85 | 83 | - **Recommendation:** For quality, prefer `NONE` or `INT8`; use PQ only if you need the lowest query latency and can accept lower recall, and consider tuning PQ (M/K) to recover recall. Avoid `BINARY` here given the large recall drop. |
86 | | -- All four of them saved the vectors in the db like `db.schema.get_or_create_property("VectorData", "vector", "ARRAY_OF_FLOATS")`. Maybe we should do this differently when quantization is enabled? |
| 84 | +- All four of them saved the vectors in the db like `db.schema.get_or_create_property("VectorData", "vector", "ARRAY_OF_FLOATS")`. |
| 85 | +- Maybe we should do this differently when quantization is enabled? |
| 86 | + |
| 87 | +#### MSMARCO-1M (1000 queries, Recall@50) with heap size capped at 4GB |
| 88 | + |
| 89 | +- For 1M dataset, I've been doing 8GB heap so far. This time I capped it at 4GB to see how it affects performance. |
| 90 | + |
| 91 | +| quantization | ingest_s | ingest_rss_mb | create_index_s | create_index_rss_mb | build_graph_now_s | build_graph_now_rss_mb | search_s | recall@50_before_close | search_after_reopen_s | search_after_reopen_rss_mb | recall@50_after_reopen | peak_rss_mb | db_size_mb | total_duration | |
| 92 | +| :----------- | -------: | ------------: | -------------: | ------------------: | ----------------: | ---------------------: | -------: | ---------------------: | --------------------: | -------------------------: | ---------------------: | ----------: | ---------: | :------------- | |
| 93 | +| NONE | 62.175 | 4004.79 | 16.29 | 122.816 | 6773.81 | 153.227 | 10.238 | 0.9013 | 9.87 | 3.176 | 0.9013 | 4701.89 | 5750.44 | 1h 54m | |
| 94 | +| INT8 | 62.319 | 3974.97 | 21.722 | 95.438 | 3313.5 | 108.125 | 35.718 | 0.9083 | 33.318 | 3.188 | 0.9066 | 4603.35 | 6738.94 | 58m | |
| 95 | +| PRODUCT | 61.694 | 3974.34 | 16.053 | 116.758 | 6923.63 | 199.758 | 1.657 | 0.8608 | 1.383 | 5.992 | 0.8612 | 4723.02 | 5996.45 | 1h 56m | |
| 96 | +| BINARY | 62.904 | 4014.12 | 27.06 | 87.609 | 4267.63 | 89.707 | 21.314 | 0.2923 | 14.683 | 14.125 | 0.2923 | 4619.88 | 5879.94 | 1h 13m | |
87 | 97 |
|
88 | 98 | ### Commit/Date: main @ 91a86e3 (Thu Jan 15 10:32:50 2026 -0500) |
89 | 99 |
|
|
126 | 136 | ##### store_vectors_in_graph=False and quantization=INT8 |
127 | 137 |
|
128 | 138 | ```bash |
129 | | -du -sh arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=off_hier=on_batch=100000_seed=42/* | sort -h |
130 | | -320K arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=off_hier=on_batch=100000_seed=42/dictionary.0.327680.v0.dict |
131 | | -59M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=off_hier=on_batch=100000_seed=42/VectorData_0_2689535159251959_vecgraph.5.262144.v0.vecgraph |
132 | | -999M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=off_hier=on_batch=100000_seed=42/VectorData_0_2689535159251959.4.262144.v0.lsmvecidx |
133 | | -5.6G arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=off_hier=on_batch=100000_seed=42/VectorData_0.1.65536.v0.bucket |
| 139 | +320K dictionary.0.327680.v0.dict |
| 140 | +59M VectorData_0_2689535159251959_vecgraph.5.262144.v0.vecgraph |
| 141 | +999M VectorData_0_2689535159251959.4.262144.v0.lsmvecidx |
| 142 | +5.6G VectorData_0.1.65536.v0.bucket |
134 | 143 | ``` |
135 | 144 |
|
136 | 145 | ##### store_vectors_in_graph=True and quantization=INT8 |
137 | 146 |
|
138 | 147 | ```bash |
139 | | -du -sh arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=on_hier=on_batch=100000_seed=42/* | sort -h |
140 | | -320K arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=on_hier=on_batch=100000_seed=42/dictionary.0.327680.v0.dict |
141 | | -999M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=on_hier=on_batch=100000_seed=42/VectorData_0_2689534677234566.4.262144.v0.lsmvecidx |
142 | | -3.9G arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=on_hier=on_batch=100000_seed=42/VectorData_0_2689534677234566_vecgraph.5.262144.v0.vecgraph |
143 | | -5.6G arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=int8_store=on_hier=on_batch=100000_seed=42/VectorData_0.1.65536.v0.bucket |
| 148 | +320K dictionary.0.327680.v0.dict |
| 149 | +999M VectorData_0_2689534677234566.4.262144.v0.lsmvecidx |
| 150 | +3.9G VectorData_0_2689534677234566_vecgraph.5.262144.v0.vecgraph |
| 151 | +5.6G VectorData_0.1.65536.v0.bucket |
144 | 152 | ``` |
145 | 153 |
|
146 | 154 | ##### store_vectors_in_graph=False and quantization=None |
147 | 155 |
|
148 | 156 | ```bash |
149 | | -du -sh arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=off_hier=on_batch=100000_seed=42/* | sort -h |
150 | | -320K arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=off_hier=on_batch=100000_seed=42/dictionary.0.327680.v0.dict |
151 | | -11M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=off_hier=on_batch=100000_seed=42/VectorData_0_2689535353426837.4.262144.v0.lsmvecidx |
152 | | -59M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=off_hier=on_batch=100000_seed=42/VectorData_0_2689535353426837_vecgraph.5.262144.v0.vecgraph |
153 | | -5.6G arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=off_hier=on_batch=100000_seed=42/VectorData_0.1.65536.v0.bucket |
| 157 | +320K dictionary.0.327680.v0.dict |
| 158 | +11M VectorData_0_2689535353426837.4.262144.v0.lsmvecidx |
| 159 | +59M VectorData_0_2689535353426837_vecgraph.5.262144.v0.vecgraph |
| 160 | +5.6G VectorData_0.1.65536.v0.bucket |
154 | 161 | ``` |
155 | 162 |
|
156 | 163 | ##### store_vectors_in_graph=True and quantization=None |
157 | 164 |
|
158 | 165 | ```bash |
159 | | -du -sh arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=on_hier=on_batch=100000_seed=42/* | sort -h |
160 | | -320K arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=on_hier=on_batch=100000_seed=42/dictionary.0.327680.v0.dict |
161 | | -11M arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=on_hier=on_batch=100000_seed=42/VectorData_0_2689535105029551.4.262144.v0.lsmvecidx |
162 | | -3.9G arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=on_hier=on_batch=100000_seed=42/VectorData_0_2689535105029551_vecgraph.5.262144.v0.vecgraph |
163 | | -5.6G arcadedb_runs/dataset=MSMARCO-1M_label=1000000_maxconn=12_beam=64_oq=1_quant=none_store=on_hier=on_batch=100000_seed=42/VectorData_0_1.65536.v0.bucket |
| 166 | +320K dictionary.0.327680.v0.dict |
| 167 | +11M VectorData_0_2689535105029551.4.262144.v0.lsmvecidx |
| 168 | +3.9G VectorData_0_2689535105029551_vecgraph.5.262144.v0.vecgraph |
| 169 | +5.6G VectorData_0_1.65536.v0.bucket |
164 | 170 | ``` |
165 | 171 |
|
166 | 172 | #### Findings |
|
0 commit comments