Skip to main content
QUICK REVIEW

[论文解读] b-Bit Minwise Hashing in Practice: Large-Scale Batch and Online Learning and Using GPUs for Fast Preprocessing with Simple Hash Functions

Ping Li, Anshumali Shrivastava|arXiv (Cornell University)|May 14, 2012
Advanced Image and Video Retrieval Techniques参考文献 35被引用 5
一句话总结

本文提出了一种高效的b-bit minwise哈希方法,采用简单的哈希函数(2U/4U)并结合GPU加速,实现了在大规模数据集上的可扩展批量学习与在线学习。该方法在预处理阶段实现了20–80倍的加速,显著降低了内存使用量,并保持了较高的学习准确率,使b-bit minwise哈希在工业规模的搜索与机器学习工作负载中具备实际可行性。

ABSTRACT

In this paper, we study several critical issues which must be tackled before one can apply b-bit minwise hashing to the volumes of data often used industrial applications, especially in the context of search. 1. (b-bit) Minwise hashing requires an expensive preprocessing step that computes k (e.g., 500) minimal values after applying the corresponding permutations for each data vector. We developed a parallelization scheme using GPUs and observed that the preprocessing time can be reduced by a factor of 20-80 and becomes substantially smaller than the data loading time. 2. One major advantage of b-bit minwise hashing is that it can substantially reduce the amount of memory required for batch learning. However, as online algorithms become increasingly popular for large-scale learning in the context of search, it is not clear if b-bit minwise yields significant improvements for them. This paper demonstrates that $b$-bit minwise hashing provides an effective data size/dimension reduction scheme and hence it can dramatically reduce the data loading time for each epoch of the online training process. This is significant because online learning often requires many (e.g., 10 to 100) epochs to reach a sufficient accuracy. 3. Another critical issue is that for very large data sets it becomes impossible to store a (fully) random permutation matrix, due to its space requirements. Our paper is the first study to demonstrate that $b$-bit minwise hashing implemented using simple hash functions, e.g., the 2-universal (2U) and 4-universal (4U) hash families, can produce very similar learning results as using fully random permutations. Experiments on datasets of up to 200GB are presented.

研究动机与目标

  • 解决在大规模数据集上b-bit minwise哈希预处理阶段计算成本过高的问题。
  • 克服在工业规模应用中存储完整随机置换矩阵所带来的内存需求过高的问题。
  • 证明b-bit minwise哈希在在线学习场景中的有效性,其中跨多个训练周期的数据加载时间是主要瓶颈。
  • 表明使用简单的哈希函数(2U/4U)可替代完全随机置换,而不会损失准确率。
  • 通过降低预处理时间和内存占用,实现b-bit minwise哈希在真实世界搜索与机器学习系统中的实际部署。

提出的方法

  • 使用2-通用(2U)和4-通用(4U)哈希函数模拟随机置换,避免存储完整的置换矩阵。
  • 实现基于GPU的并行算法,以计算每个数据向量的k个最小哈希值,充分利用大规模并行计算与SIMD执行。
  • 仅存储每个哈希值的最低b位,以减少存储与计算开销,形成紧凑的b-bit签名。
  • 应用b-bit minwise哈希估计器:$\hat{R}_b = \frac{\hat{P}_b - C_{1,b}}{1 - C_{2,b}}$,其中$\hat{P}_b$为k个置换下匹配的b-bit值的比例。
  • 将b-bit minwise哈希集成到在线学习流水线中,使每个训练周期的数据加载时间降低一个数量级以上。
  • 将生成的低维二值向量作为线性分类器(如SVM、逻辑回归)在批量与在线设置下的输入特征。

实验结果

研究问题

  • RQ1能否使用实际的哈希函数而非完整随机置换,在200GB及以上规模的数据集上高效扩展b-bit minwise哈希?
  • RQ2GPU加速在多大程度上可减少大规模数据集上b-bit minwise哈希的预处理时间?
  • RQ3当使用简单哈希函数时,b-bit minwise哈希在在线学习中是否仍能保持足够的准确率?
  • RQ4在需要多个训练周期才能收敛的情况下,b-bit minwise哈希能将在线学习中的数据加载时间减少多少?
  • RQ5在真实应用场景中,使用2U/4U哈希函数能否产生与完全随机置换相当的学习结果?

主要发现

  • 基于GPU的预处理相比CPU方法实现了20–80倍的加速,使预处理时间相对于数据加载时间可忽略不计。
  • 使用2U和4U哈希函数产生的学习结果与完全随机置换几乎完全一致,验证了其作为实用替代方案的有效性。
  • 在webspam数据集上,b-bit minwise哈希将数据加载时间减少了8.95倍,在Rcv1数据集上减少了29.07倍,显著加速了多周期在线学习。
  • 该方法通过大幅减少每个训练周期加载与预处理数据的时间,实现了可扩展的在线学习。
  • 由于采用了紧凑的b-bit表示,最终模型大小显著减小,这对网络搜索系统中内存受限的部署至关重要。
  • 即使在k = 500个置换(高于典型去重检测的使用量)的情况下,b-bit minwise哈希在分类任务中仍保持高准确率,证实了其在学习应用中的鲁棒性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。