HEAT: A Highly Efficient and Affordable Training System for Collaborative Filtering Based Recommendation on CPUs

要約

【タイトル】CPU上での協調フィルタリングベースのレコメンデーションのための非常に効率的で手頃なトレーニングシステム、HEAT

【要約】

– 協調フィルタリングは、レコメンデーションに最も効果的な技術の1つとして証明されている。
– 現在、最先端の方法であるSimpleXは、新しい損失関数と適切な負のサンプル数を採用しているが、マルチコアCPUでSimpleXを最適化する研究は行われておらず、性能が制限されている。
– この問題を解決するために、既存のSimpleX実装の詳細なプロファイリングと分析を行い、次のパフォーマンスボトルネックを特定した。
– (1) 不規則なメモリアクセス
– (2) 不必要なメモリコピー
– (3) 冗長な計算
– これらの問題に対処するために、HEATという効率的なCFトレーニングシステムを提案する。
– HEATの最適化は3つの方法で行われる。
– (1) 埋め込み行列をタイル化してデータ局所性を高め、キャッシュミスを減らすことで読み取り遅延を低減する。
– (2) SGDを最適化することで、ベクトル積の並列化を行い、特に類似度計算などの行列データの準備のためのメモリコピーを避ける。
– (3) 前向きフェーズでの中間結果を後向きフェーズで積極的に再利用することで、冗長な計算を軽減する。
– x86およびARMアーキテクチャのプロセッサを使用して5つの広く使用されているデータセットで評価し、HEATは既存のCPUソリューションよりも最大45.2倍の高速化を達成し、NVIDIA V100 GPU上の既存のGPUソリューションと比較して4.5倍の高速化と7.9倍のコスト削減が達成された。

要約(オリジナル)

Collaborative filtering (CF) has been proven to be one of the most effective techniques for recommendation. Among all CF approaches, SimpleX is the state-of-the-art method that adopts a novel loss function and a proper number of negative samples. However, there is no work that optimizes SimpleX on multi-core CPUs, leading to limited performance. To this end, we perform an in-depth profiling and analysis of existing SimpleX implementations and identify their performance bottlenecks including (1) irregular memory accesses, (2) unnecessary memory copies, and (3) redundant computations. To address these issues, we propose an efficient CF training system (called HEAT) that fully enables the multi-level caching and multi-threading capabilities of modern CPUs. Specifically, the optimization of HEAT is threefold: (1) It tiles the embedding matrix to increase data locality and reduce cache misses (thus reduces read latency); (2) It optimizes stochastic gradient descent (SGD) with sampling by parallelizing vector products instead of matrix-matrix multiplications, in particular the similarity computation therein, to avoid memory copies for matrix data preparation; and (3) It aggressively reuses intermediate results from the forward phase in the backward phase to alleviate redundant computation. Evaluation on five widely used datasets with both x86- and ARM-architecture processors shows that HEAT achieves up to 45.2X speedup over existing CPU solution and 4.5X speedup and 7.9X cost reduction in Cloud over existing GPU solution with NVIDIA V100 GPU.

arxiv情報

著者 Chengming Zhang,Shaden Smith,Baixi Sun,Jiannan Tian,Jonathan Soifer,Xiaodong Yu,Shuaiwen Leon Song,Yuxiong He,Dingwen Tao
発行日 2023-05-03 15:42:12+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, OpenAI

カテゴリー: cs.DC, cs.LG パーマリンク