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
ひとこと要約

本稿では、単純なハッシュ関数(2U/4U)とGPUアクセラレーションを用いた効率的なbビットミニウェイズハッシュを提案し、大規模データセットにおけるスケーラブルなバッチ学習およびオンライン学習を実現する。前処理段階で20–80倍の高速化を達成し、メモリ使用量を顕著に削減しながら高い学習精度を維持する。これにより、bビットミニウェイズハッシュは産業スケールの検索および機械学習ワークロードにおいて実用的になる。

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ビットミニウェイズハッシュの前処理における高い計算コストを低減すること。
  • 産業スケールの応用において、完全なランダム置換行列を格納するという過酷なメモリ要件を克服すること。
  • オンライン学習シナリオにおいてbビットミニウェイズハッシュの有効性を実証すること、特に複数エポックにわたるデータロード時間が主なボトルネックとなる状況での有効性。
  • 完全なランダム置換を犠牲にせずに、単純なハッシュ関数(2U/4U)が置換を代替可能であることを示すこと。
  • 前処理時間とメモリフットプリントの両方を削減することで、bビットミニウェイズハッシュを実世界の検索および機械学習システムへの実用的導入を可能にすること。

提案手法

  • 完全な置換行列を格納する必要を回避するため、2ユニバーサル(2U)および4ユニバーサル(4U)ハッシュ関数を用いてランダム置換を模倣する。
  • 多数のスレッドとSIMD実行を活用したGPU並列アルゴリズムを実装し、各データベクトルに対してk個のミニハッシュ値を計算する。
  • 各ハッシュ値の下位bビットのみを格納することで、ストレージおよび計算コストを削減し、コンactなbビットシグネチャを形成する。
  • bビットミニウェイズハッシュ推定式を適用:$\hat{R}_b = \frac{\hat{P}_b - C_{1,b}}{1 - C_{2,b}}$、ここで$\hat{P}_b$はk個の置換を通じて一致するbビット値の割合である。
  • オンライン学習パイプラインにbビットミニウェイズハッシュを統合し、1エポックあたりのデータロード時間を桁違いに短縮する。
  • バッチおよびオンライン設定の両方で、線形分類器(例:SVM、ロジスティック回帰)の入力特徴として、低次元のバイナリーベクトルを用いる。

実験結果

リサーチクエスチョン

  • RQ1200GB以上のデータセットに対して、完全なランダム置換の代わりに実用的なハッシュ関数を用いることで、bビットミニウェイズハッシュを効率的にスケーリング可能か?
  • RQ2GPUアクセラレーションは、大規模データにおけるbビットミニウェイズハッシュの前処理時間をどの程度短縮可能か?
  • RQ3単純なハッシュ関数を用いた場合でも、オンライン学習においてbビットミニウェイズハッシュが十分な精度を維持できるか?
  • RQ4特に収束に複数エポックが必要な場合に、bビットミニウェイズハッシュはオンライン学習におけるデータロード時間をどの程度短縮できるか?
  • RQ52U/4Uハッシュ関数の使用が、実世界の応用において完全なランダム置換と同等の学習結果をもたらすか?

主な発見

  • GPUベースの前処理により、CPUベースの手法に比べ20–80倍の高速化が達成され、前処理時間はデータロード時間に比べて無視できるほど短縮された。
  • 2Uおよび4Uハッシュ関数を用いることで、完全なランダム置換とほぼ同一の学習結果が得られ、これらが実用的な代替手段として有効であることが検証された。
  • webspamデータセットではデータロード時間を8.95倍、Rcv1では29.07倍短縮し、複数エポックを要するオンライン学習を顕著に高速化した。
  • 各トレーニングエポックのデータロードおよび前処理に要する時間を大幅に削減することで、スケーラブルなオンライン学習が可能になった。
  • コンパクトなbビット表現のおかげで、最終的なモデルサイズが顕著に小さくなり、ウェブ検索システムにおけるメモリ制約下でのデプロイに不可欠である。
  • 通常の複製検出の用途よりも高いk = 500の置換数であっても、分類タスクにおいて高い精度を維持したため、学習応用における強靭性が確認された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。