Approximate Top-$k$ for Increased Parallelism

要約

バケット化された近似上位 $k$ アルゴリズムの評価を示します。
top-$k$ を正確に計算するには、$k$ の最大値をベクトルに沿って集約する必要があるため、並列処理が制限されます。そのため、並列性の高い機械学習アクセラレータでの計算にはあまり適していません。
トップ $k$ が正確であるという要件を緩和することにより、バケット化されたアルゴリズムは、多数の小さなトップ $k$ 操作を独立して計算することで、利用可能な並列処理を大幅に向上させることができます。
私たちは、理論分析と下流タスクの経験的評価の両方を使用して、このクラスのアルゴリズムの設計上の選択を検討します。
私たちの動機となる例は、言語モデルのスパース アルゴリズムです。これは、多くの場合、最も重要なパラメーターやアクティベーションを選択するために、top-$k$ を使用します。
また、PyTorch 用の高速バケット化されたトップ千ドル実装もリリースします。

要約(オリジナル)

We present an evaluation of bucketed approximate top-$k$ algorithms. Computing top-$k$ exactly suffers from limited parallelism, because the $k$ largest values must be aggregated along the vector, thus is not well suited to computation on highly-parallel machine learning accelerators. By relaxing the requirement that the top-$k$ is exact, bucketed algorithms can dramatically increase the parallelism available by independently computing many smaller top-$k$ operations. We explore the design choices of this class of algorithms using both theoretical analysis and empirical evaluation on downstream tasks. Our motivating examples are sparsity algorithms for language models, which often use top-$k$ to select the most important parameters or activations. We also release a fast bucketed top-$k$ implementation for PyTorch.

arxiv情報

著者 Oscar Key,Luka Ribar,Alberto Cattaneo,Luke Hudlass-Galley,Douglas Orr
発行日 2024-12-05 17:17:28+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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