Sparse TOPS vs Dense TOPS。スパース (疎) とデンス (密) の違いとは何か、またこれらはどのような意味を持つのだろうか?

2022 年 1 月 24 日


編集者注記: このコンテンツは、弊社の Rehan Tahir、Sr. Product LIne Manger 、Versal AI Edge ACAP の寄稿によるものです。

 

最近まで、TOPS と言えば 「Dense TOPS」 を指していましたが、疎行列のゼロ圧縮を考慮するようになり、「Sparse TOPS」という言葉が誕生しました。スパース (疎) とデンス (密) の違いとは何か?なぜスパース (疎) 性を考慮すべきなのか?これらの疑問について深く考察してみましょう。

スパース性

人工知能 (AI) は機械学習 (ML) に大きく依存しており、ほとんど ML は行列の乗算で実行されます。行列はオブジェクトを表現することが可能であり、たとえば 0 以外の値が画像のピクセルを表し、0 が空白を表すとします。このような場合に 0 値を圧縮/除去することで、2 つの行列の乗算に必要な演算回数を減らすことができます。これらの 0 値が圧縮/除去された状態をスパースと呼んでいます。

Dense_vs_Sparse

TOPS (テラオペレーション パー セカンド) とは、システムが計算できる演算回数を単純に評価する基本的な計算です。TOPS は、1 秒あたりの演算回数にシステムのクロック周波数を掛け合わせて求めることができます。たとえば、1GHz で、1 秒間に 512 回の積和演算 (MAC) が可能なデバイスの TOPS は、512×1GHz×2=1024 TOPS となります。 この値は Dense TOPS を示しています。

Sparse TOPS の計算方法

上記の数値は、行列の 0 値を圧縮して実現できる性能向上を考慮せずに算出したものです。ゼロ要素を半分取り除けば、不要な演算を 50% 削減でき、結果として 2 倍の性能向上を達成できます。これが、Sparse TOPS の定義です。ゼロ値を取り除いて圧縮された行列をスパース (疎) 行列、ゼロ値と非ゼロ値を含む行列をデンス (密) 行列と呼んでいます。

sparse_vs_dense_matrix_for_8bitdata

Sparse TOPS と Dense TOPS の違い

スパース性は、理論上、システム性能を最大 2 倍まで向上させることができるため、非常にパワフルな手法なのですが、Sparse TOPS と Dense TOPS の違いを理解しておくことが重要です。システムやデバイスを評価する場合に、単純に Sparse TOPS と Dense TOPS を比較して判断することのないように注意してください。理論上の性能向上は、実際のシステムではさほど向上しないことが多いため、これらの値に対して過度に期待しない方が無難です。ResNet50、Yolov3、MobileNet などの ML ネットワークを使用すると、AI チップの性能について、TOPS 以外のさまざまな指標を得ることができます。

Versal_AIEdge_VE2802_ACAP_ResNet50_Relative_Performance

結果 (バッチ サイズ = 18、INT8 精度)

Versal AI エッジ デバイスとそれらの TOPS 値

スパース性への対応は、Versal® AI エッジおよび Versal AI コア ACAP (Adaptive Compute Acceleration Platform) で利用できるザイリンクスの機械学習用 AI エンジン (AIE-ML) の主要な機能の 1 つです。

製品セレクション ガイドに記載されている Versal AI エッジ シリーズの TOPS 値、および関連するすべての資料では、Dense TOPS を使用しています。Versal AI エッジ シリーズの各デバイスで達成可能な Sparse TOPS の概算値は以下のとおりです。

Versal_AIEdge_Series_TOPS

次のステップ

Versal AI エッジ シリーズを使用する AI 性能について詳しく知りたい方は、アーリー アクセス プログラムにご参加ください。詳細は、お近くのザイリンクス販売代理店、またはザイリンクス セールス チームへお問い合わせください。