用无指针局部切面扫描,实现高维近邻搜索的高速低耗。
Aperon Technical Report: Hierarchical No-Pointer Tangent-Local Search for High-Dimensional Approximate Nearest Neighbors
- 将高维空间分块为局部切面,用低维坐标表示向量,无指针顺序扫描。
- 在768维数据上仅需20个候选向量即达100%召回率,速度提升3.61倍。
- 适合追求极致检索效率与内存利用率的向量数据库系统开发者。
我们提出HNTL(层级无指针切面局部搜索),作为Aperon向量记忆系统的核心向量索引与候选生成框架。传统接近图(如HNSW)存在内存开销大、访问不规则导致CPU流水线停滞的问题。HNTL通过将高维空间划分为局部一致的粒度单元,将向量表示为局部切面上的低维坐标,并采用无指针的块式结构-数组(Block-SoA)布局进行顺序扫描来解决。在各向异性流形数据(维度d=768,数据量N=10,000)上,局部PCA捕捉了96.3%的方差,使HNTL仅用C=20个候选向量即达到最终重排序召回率Rerank Recall@10为1.0000。通过Apple kperf CPU性能监控单元(PMU)硬件分析显示,其NEON自动向量化C++ Block-SoA扫描引擎相比标准指针遍历方式,每向量耗时从14.951纳秒降至4.137纳秒,提速3.61倍,主要得益于3.59倍的IPC提升和几乎为零的L1/L2缓存未命中。
原文摘要 · Abstract (English)
We present HNTL (Hierarchical No-pointer Tangent-Local), the core vector indexing and candidate generation framework of the Aperon vector memory system. Proximity graphs (e.g., HNSW) incur a heavy pointer tax in memory overhead and induce irregular memory accesses that stall CPU pipelines. HNTL resolves this by partitioning the high-dimensional space into local, coherent grains, representing vectors as low-dimensional coordinates on local tangent spaces, and scanning them sequentially using a pointerless Block-SoA (Structure-of-Arrays) layout. On anisotropic manifold data (d=768, N=10,000), local PCA captures 96.3% of the variance, allowing HNTL to achieve a final Rerank Recall@10 of 1.0000 with a candidate pool size of only C=20 vectors. Hardware profiling via Apple kperf CPU Performance Monitoring Unit (PMU) counters demonstrates a 3.61x speedup (4.137 ns/vector vs. 14.951 ns/vector) for our NEON auto-vectorized C++ Block-SoA scan engine over standard pointer-chasing graph traversals, driven by a 3.59x IPC (Instructions Per Cycle) and near-zero L1/L2 data cache misses.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。