論文の概要: High Throughput Matrix-Matrix Multiplication between Asymmetric
Bit-Width Operands
- arxiv url: http://arxiv.org/abs/2008.00638v1
- Date: Mon, 3 Aug 2020 04:12:31 GMT
- ステータス: 処理完了
- システム内更新日: 2022-11-03 05:38:10.531869
- Title: High Throughput Matrix-Matrix Multiplication between Asymmetric
Bit-Width Operands
- Title(参考訳): 非対称ビット幅オペランド間の高スループット行列-行列乗算
- Authors: Dibakar Gope, Jesse Beu, Matthew Mattina
- Abstract要約: そこで本研究では,入力に混合精度を用い,より狭い16ビットの出力アキュムレータに積値を蓄積するSIMD行列乗算命令を提案する。
提案した非対称オペランドサイズSIMD命令は、CPUにおける行列乗算のスループットを2倍改善する。
また、最先端ハードウェアアクセラレーターにおいて、8ビットから4ビットのオペランド間の乗算および累積(MAC)操作をサポートするのにも有効である。
- 参考スコア(独自算出の注目度): 11.742869426677242
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Matrix multiplications between asymmetric bit-width operands, especially
between 8- and 4-bit operands are likely to become a fundamental kernel of many
important workloads including neural networks and machine learning. While
existing SIMD matrix multiplication instructions for symmetric bit-width
operands can support operands of mixed precision by zero- or sign-extending the
narrow operand to match the size of the other operands, they cannot exploit the
benefit of narrow bit-width of one of the operands. We propose a new SIMD
matrix multiplication instruction that uses mixed precision on its inputs (8-
and 4-bit operands) and accumulates product values into narrower 16-bit output
accumulators, in turn allowing the SIMD operation at 128-bit vector width to
process a greater number of data elements per instruction to improve processing
throughput and memory bandwidth utilization without increasing the register
read- and write-port bandwidth in CPUs. The proposed asymmetric-operand-size
SIMD instruction offers 2x improvement in throughput of matrix multiplication
in comparison to throughput obtained using existing symmetric-operand-size
instructions while causing negligible (0.05%) overflow from 16-bit accumulators
for representative machine learning workloads. The asymmetric-operand-size
instruction not only can improve matrix multiplication throughput in CPUs, but
also can be effective to support multiply-and-accumulate (MAC) operation
between 8- and 4-bit operands in state-of-the-art DNN hardware accelerators
(e.g., systolic array microarchitecture in Google TPU, etc.) and offer similar
improvement in matrix multiply performance seamlessly without violating the
various implementation constraints. We demonstrate how a systolic array
architecture designed for symmetric-operand-size instructions could be modified
to support an asymmetric-operand-sized instruction.
- Abstract(参考訳): 非対称ビット幅オペランド、特に8ビットと4ビットのオペランド間の行列乗算は、ニューラルネットワークや機械学習を含む多くの重要なワークロードの基本的なカーネルになる可能性が高い。
対称ビット幅オペランドに対する既存のsimd行列乗算命令は、他のオペランドのサイズにマッチする狭小オペランドをゼロまたは符号で拡張することで、混合精度のオペランドをサポートすることができるが、いずれかのオペランドの狭小ビット幅の利点を活用できない。
入力(8ビットと4ビットのオペランド)に混合精度を使い、製品値をより狭く16ビットの出力アキュムレータに蓄積し、128ビットのベクトル幅でsimd演算を1命令あたりにより多くのデータ要素を処理し、cpuのレジスタ読み取りと書き込みポート帯域幅を増加させることなく処理スループットとメモリ帯域幅使用率を向上させる新しいsimd行列乗算命令を提案する。
提案した非対称オペランドサイズSIMD命令は,既存の対称オペランドサイズ命令を用いて得られたスループットと比較して,行列乗算のスループットを2倍改善すると同時に,16ビットアキュムレータからの負のオーバーフロー(0.05%)を機械学習ワークロードにもたらす。
非対称オペランドサイズ命令は、CPUの行列乗算スループットを改善するだけでなく、最先端のDNNハードウェアアクセラレータ(例えば、Google TPUのシストリックアレイマイクロアーキテクチャなど)の8ビットから4ビットのオペランド間の乗算および累積(MAC)操作をサポートするのにも有効であり、様々な実装制約に違反することなく、同様のマトリックス乗算性能の向上を提供する。
本稿では,非対称型命令をサポートするために,対称型命令用に設計されたシストリック配列アーキテクチャを変更する方法を示す。
関連論文リスト
- MARLIN: Mixed-Precision Auto-Regressive Parallel Inference on Large Language Models [58.3342517278868]
本稿では,Mixed-precision AutoRegressive LINearカーネルの設計について述べる。
バッチサイズは16-32までサポートでき、量子化のスピードアップが最大 (4times$) になる。
MarLINは非同期メモリアクセス、複雑なタスクスケジューリング、パイプライン化といったテクニックを組み合わせてこれを実現している。
論文 参考訳(メタデータ) (2024-08-21T16:10:41Z) - Fast Matrix Multiplications for Lookup Table-Quantized LLMs [58.11584672945781]
FLUTEはLUT量子化LLM用のフレキシブルなルックアップテーブルエンジンである。
バッチサイズ32と量子化グループサイズ128では、FLUTEカーネルは既存のGEMMカーネルよりも2〜4倍高速である。
論文 参考訳(メタデータ) (2024-07-15T17:55:42Z) - Extreme Compression of Large Language Models via Additive Quantization [59.3122859349777]
我々のアルゴリズムは、AQLMと呼ばれ、情報検索のための古典的な加算量子化(AQ)アプローチを一般化する。
トークン生成のためのAQLMの高速GPUおよびCPU実装を提供しており、最適化されたFP16実装を高速にマッチングまたは性能良くすることができる。
論文 参考訳(メタデータ) (2024-01-11T18:54:44Z) - Efficient Additions and Montgomery Reductions of Large Integers for SIMD [2.362288417229025]
本稿では,512ビット以上の整数に対してモンゴメリー還元と加算を行うための効率的なアルゴリズムを提案する。
新しい加算アルゴリズムは、より小さな加算を用いて大きな整数の追加をシミュレートし、すぐに同じキャリーセットを生成する。
モンゴメリー還元の場合、シリアル乗算はSIMD拡張を用いて効果的に計算できるプリ計算に置き換えられる。
論文 参考訳(メタデータ) (2023-08-31T03:44:49Z) - DeepGEMM: Accelerated Ultra Low-Precision Inference on CPU Architectures
using Lookup Tables [49.965024476651706]
DeepGEMMはSIMDハードウェア上で超高精度畳み込みニューラルネットワークを実行するためのルックアップテーブルベースのアプローチである。
実装は、x86プラットフォーム上で、対応する8ビット整数カーネルを最大1.74倍の性能で上回る。
論文 参考訳(メタデータ) (2023-04-18T15:13:10Z) - LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale [80.86029795281922]
トランスにおけるフィードフォワードおよびアテンションプロジェクション層に対するInt8行列乗算法を開発した。
175Bパラメータ16/32ビットのチェックポイントをロードし、Int8に変換し、直ちに使用することができる。
論文 参考訳(メタデータ) (2022-08-15T17:08:50Z) - Fast matrix multiplication for binary and ternary CNNs on ARM CPU [0.9135092203041721]
ARMアーキテクチャを持つモバイルデバイスに対して, 3次, 3次, 2次行列乗算の高速アルゴリズムを提案する。
我々のアルゴリズムは、TNN、TBN、BNNの畳み込み層と完全に接続された層を推論するために利用できる。
ARM Cortex-A73 CPU上で実験的に評価し,その推論速度を実精度,8ビット,4ビットの量子化行列乗算の効率的な実装と比較した。
論文 参考訳(メタデータ) (2022-05-18T14:52:34Z) - A matrix math facility for Power ISA(TM) processors [0.16910097443356495]
マトリックス・マルチ・アシスト(Matrix-Multiply Assist)と呼ばれる新しい数学命令のファミリーがPower ISA(TM)バージョン3.1で導入された。
これらの命令は、将来のPOWER10プロセッサで高スループットの計算エンジンをパワー効率で実装するきっかけとなった。
コア毎のパフォーマンスは、前世代のPOWER9プロセッサの4倍、一定の周波数で向上している。
論文 参考訳(メタデータ) (2021-04-07T14:17:32Z) - Direct Spatial Implementation of Sparse Matrix Multipliers for Reservoir
Computing [0.0]
貯水池の計算システムは、非常に大きくてスパースな固定行列の繰り返し乗算に依存している。
これらの固定行列の直接実装は、計算で実行される作業を最小化する。
ビットシリアル行列乗算器の構造を提示し、正則符号付き桁表現を用いて論理利用をさらに削減する。
論文 参考訳(メタデータ) (2021-01-21T23:16:22Z) - FusedMM: A Unified SDDMM-SpMM Kernel for Graph Embedding and Graph
Neural Networks [3.577310844634503]
本研究では, サンプル密度行列乗算とスパース密度行列乗算をFusedMMと呼ばれる単一演算の下で統一する融合行列乗算カーネルを開発した。
ユーザ定義関数を使用することで、FusedMMは一般的なグラフ埋め込みやGNNアプローチで必要とされる、ほぼすべての計算パターンをキャプチャできる。
論文 参考訳(メタデータ) (2020-11-07T18:06:57Z) - What if Neural Networks had SVDs? [66.91160214071088]
様々なニューラルネットワークでは、行列反転のような時間を要する行列演算を採用している。
本稿では,行列演算を高速化するアルゴリズムを提案する。
論文 参考訳(メタデータ) (2020-09-29T12:58:52Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。