中文

通过基于记忆化的增量训练加速字符串键学习型索引结构

机器学习 2025-03-25 v1 硬件体系结构 数据库

摘要

学习型索引使用机器学习模型来学习键与其在键值索引中对应位置之间的映射。这些索引将映射信息用作训练数据。学习型索引需要频繁地重新训练其模型,以纳入更新查询引入的更改。为了高效地重新训练模型,现有的学习型索引系统通常利用一种执行矩阵分解的线性代数 QR 分解技术。这种分解方法在每次重新训练期间处理所有键-位置对,导致计算操作随键的总数及其长度线性增长。因此,重新训练造成了严重的性能瓶颈,尤其对于可变长度的字符串键,而重新训练对于维持高预测准确度并进而确保低查询服务延迟至关重要。为了解决这个性能问题,我们开发了一个算法-硬件协同设计的字符串键学习型索引系统,称为 SIA。在设计 SIA 时,我们利用了基于矩阵分解的训练方法的一个独特算法特性。利用该特性,我们开发了一种基于记忆化的增量训练方案,该方案仅需对更新的键进行计算,而来自先前计算的未更新键的分解结果可以被重用。我们进一步增强 SIA,将部分训练过程卸载到 FPGA 加速器上,不仅释放 CPU 资源用于服务索引查询(即推理),还加速了训练本身。我们的评估表明,与最先进的学习型索引系统 ALEX、LIPP 和 SIndex 相比,SIA 加速的学习型索引在两个真实世界基准测试套件 YCSB 和 Twitter 缓存跟踪上分别提供了 2.6 倍和 3.4 倍的更高吞吐量。

关键词

引用

@article{arxiv.2403.11472,
  title  = {Accelerating String-Key Learned Index Structures via Memoization-based Incremental Training},
  author = {Minsu Kim and Jinwoo Hwang and Guseul Heo and Seiyeon Cho and Divya Mahajan and Jongse Park},
  journal= {arXiv preprint arXiv:2403.11472},
  year   = {2025}
}

备注

Accepted at VLDB '24; 12 pages + 2 pages (ref), 18 figures, 2 tables