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]

Reply via email to