[arXiv'25] TurboQuant: Online Vector Quantization with Near-optimal Distortion Rate 论文阅读
作者来自 Google Research、Google DeepMind 和 NYU。
作者来自 Google Research、Google DeepMind 和 NYU。
内存键值存储 (KVS) 被广泛用于缓存热点数据, 以解决基于磁盘的存储系统或分布式系统中的热点问题. 然而, 内存 KVS 内部的热点问题却一直被忽视. 随着近年来热点问题愈发严重, 现有 KVS 由于缺乏热点感知能力, 在高度偏斜的工作负载上往往表现不佳, 且可靠性不足.
推荐系统对用户体验和公司营收至关重要, 而生成式推荐模型近期被证明能够产生高质量的推荐结果. 然而, 现有系统在工业场景中训练生成式推荐模型时, 普遍面临功能支持不足与实现效率低下的限制. 为此, 我们推出了 MTGRBoost – 一个高效且可扩展的生成式推荐模型训练系统.
个性化推荐的发展显著提高了信息匹配的准确性和电子商务平台的收入. 近期 (2022 年), 该领域呈现出两大趋势:
近期在无监督特征学习和深度学习领域的研究表明, 能够训练大型模型可以显著提升性能. 本文考虑了使用数万个 CPU 核心训练具有数十亿参数的深度网络的问题. 我们开发了一个名为 DistBelief 的软件框架, 该框架能够利用包含数千台机器的计算集群来训练大型模型. 在该框架中, 我们开发了两种用于大规模分布式训练的算法:
深度神经网络 (DNNs) 的近期复兴在很大程度上得益于可编程并行计算设备的普及. 特别是, 多核架构 (例如 GPU) 性能的持续改进发挥了基础性作用, 使研究人员和工程师能够探索种类日益增多、规模越来越大的模型, 并使用越来越多的数据. 这一努力得到了一系列供应商库 (cuBLAS、cuDNN) 的支持, 这些库旨在尽快将最新的硬件创新带给从业者. 不幸的是, 这些库仅支持有限的一组 Tensor 操作, 将创新原语的实现留给了专家.
将机器学习应用于广泛多样的硬件设备的需求日益增长. 当前框架依赖于特定供应商的算子库, 并针对狭窄范围的服务器级 GPU 进行优化. 将工作负载部署到新平台–例如手机、嵌入式设备和加速器 (如 FPGA、ASIC) --需要大量手动工作. 我们提出了 TVM, 一种编译器, 它通过暴露图级别和算子级别的优化, 为深度学习工作负载在不同硬件后端提供性能可移植性. TVM 解决了深度学习特有的优化挑战, 例如高级算子融合、映射到任意硬件原语以及内存延迟隐藏. 它还通过采用一种新颖的基于学习的成本建模方法来自动化低级程序的硬件特性优化, 以快速探索代码优化. 实验结果表明, TVM 在低功耗 CPU、手机 GPU 和服务器级 GPU 等硬件后端上提供的性能, 与最先进的、手工调优的库具有竞争力. 我们也展示了 TVM 针对新型加速器后端的能力, 例如基于 FPGA 的通用深度学习加速器. 该系统已开源, 并在多家大型公司内部署使用.
基于日志布局合并 (LSM) 的键值存储 LSM 树如今被广泛用作现代 NoSQL 键值存储的存储层. LSM 树采用 out-of-place 范式来实现快速数据写入. 传入的键值对被缓冲在主存中, 并定期刷新到持久存储中, 形成 sorted immutable runs. 随着磁盘上 run 数量的增加, 它们会被排序合并, 从而构建更少但更长的 sorted runs. 这个过程被称为 Compaction. 为了便于快速查询, LSM 树使用辅助的内存数据结构 (Bloom Filter 和 Fence Pointer) 辅助减少每次查询执行的平均磁盘 I/O 次数. 由于这些优势, LSM 树被多个生产级键值存储系统采用, 包括 Google 的 LevelDB 和 BigTable、Facebook 的 RocksDB、阿里巴巴的 X-Engine、MongoDB 的 WiredTiger、Cockroach Labs 的 CockroachDB、LinkedIn 的 Voldemort、Amazon 的 DynamoDB、Apache 的 AsterixDB、Cassandra、HBase、Accumulo 以及 Yahoo 的 bLSM 和 cLSM. 基于 LSM 树的学术系统包括 Monkey、SlimDB、Dostoevsky、LSM-Bush、Lethe、Silk、LSbM-tree、SifrDB 和 Leaper.
1996 年在 Linux 2.0 版本中引入了 slab allocator 之后, 逐渐暴露出一些问题. 因此在 2.6.22 版本对原有的算法进行了简化, 得到 Slub.
主存容量的增长使得大多数数据库都能装入内存 (RAM) 中. 对于主存数据库系统而言, 索引结构的性能是一个关键瓶颈. 传统的内存数据结构, 例如平衡二叉搜索树 (BST), 在现代硬件上效率低下, 因为它们没有充分利用 CPU 缓存. 哈希表也常用于主存索引, 虽然速度快, 但仅支持点查询.