goankur commented on PR #16771: URL: https://github.com/apache/lucene/pull/16771#issuecomment-6043427635
Thanks @kaivalnp. Agreed, `main` does not rescore from bytes today, so for `BYTE` the padding only helps when HNSW reads the vectors from disk. Byte rescoring is planned. [This branch](https://github.com/apache/lucene/compare/main...goankur:lucene:binary-codes-byte-rerank) lets the `1-bit` scalar quantized format take `BYTE` fields and rescore from the `int8` vectors. It also has a local switch that disables the prefetch backoff (#16145), which all my measurements use. **I will open an issue for it**. A 1024-dim `int8` vector is 1 KiB, so it needs the 4096 alignment for the same reason float32 does. I can also move BYTE to that PR if you prefer. On aligning the quantized bytes (`.veq`): aligning the section start is not enough there. A `1-bit` vector at 1024 dims is `144 bytes` (128 of code plus 16 of corrections), and 144 does not divide 4096. Fixing that needs a format change, so I would track it separately, together with neighbor prefetch. I will update the `Lucene99FlatVectorsFormat` javadoc. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
