RFC: Multi-Vector Distance Function Architecture
Open
enhancement
- Dominant language
- Rust
- Stars
- 1.9k
- Forks
- 454
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 35
Description
RFC: Multi-Vector Distance Function Architecture
Description
This RFC proposes the architectural design for introducing multi-vector support (e.g., ColBERT/MaxSim, Chamfer distance) into the DiskANN ecosystem. This design must balance high-performance, specialized distance evaluations with strict API compatibility and standalone usability.
Goals
- Define the core mathematical operations required for multi-vector distances, starting with Chamfer and MaxSim.
- Maintain strict compatibility with DiskANN's
DistanceFunctionMuttrait. - Provide a clean API that enables standalone distance function usage without requiring full index integration.
- Establish the strategy for supporting various datatypes (
f32initially, with futuref16andu8support) and subsequent quantizations. - Outline proposed memory layouts specifically optimized to achieve a 2x+ speedup over baseline SIMD.
Action Item: Solicit feedback from maintainers on the DistanceFunctionMut implementation and standalone API boundaries before committing to implementation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.