メモリ帯域幅とコンピューティング能力、どちらがディープラーニング実行パフォーマンスの鍵となるのでしょうか?

メモリ帯域幅とコンピューティング能力、どちらがディープラーニング実行パフォーマンスの鍵となるのでしょうか?

モデルのハードウェア要件に関して、まず頭に浮かぶのは計算量、つまりディープラーニング モデルがフィードフォワードを完了するために必要な回数です。ただし、計算量に加えて、モデルのメモリ帯域幅の要求も、実際の計算に必要な時間に影響を与える重要なパラメータです。以下で説明するように、メモリ帯域幅が制限されている場合、計算量を単純に減らしても計算時間は比例して短縮されません。

メモリ帯域幅がハードウェア システムのパフォーマンスに与える影響は、上の図に示されています。メモリをボトル、コンピューティング ユニットをカップに例えると、データはボトル内のカラフルな粒子であり、メモリ インターフェイスはボトルの口です。ボトルの口からのみ、データがカップに入り、消費 (処理) されます。メモリ帯域幅はボトルネックの幅です。ボトルの口幅が狭いほど、データがカップ(処理装置)に入るまでに時間がかかります。 「料理が上手な人は米がなければ料理ができない」ということわざがあります。帯域幅が制限されている場合、たとえ処理ユニットが最速であっても、処理ユニットはほとんどの場合データを待っているだけなので、計算能力が無駄になります。

ディープラーニングネットワークとルーフラインモデル

エンジニアにとって、定性的な分析だけでは不十分です。アルゴリズムのメモリ帯域幅の需要とそれがコンピューティング パフォーマンスに与える影響を定量的に分析できる必要もあります。

アルゴリズムのメモリ帯域幅要件は通常、「演算強度 (または算術強度)」という量を使用して表現され、単位は OPs/バイトです。この量は、アルゴリズムに読み込まれるデータの単位ごとに平均して何回の計算操作をサポートできるかを意味します。計算の強度が高ければ高いほど、データ単位でサポートできる操作が多くなり、アルゴリズムのメモリ帯域幅の要件が低くなります。つまり、計算の強度が高いのは良いことです。

例を見てみましょう。ストライドが 1 の 3x3 畳み込み演算の場合、入力データ プレーンのサイズは 64x64 であると想定されます。簡単にするために、入力機能と出力機能の両方が 1 であると仮定します。このとき、合計 62x62 回の畳み込み演算が必要で、各畳み込みには 3x3=9 回の乗算と加算演算が必要なので、計算総数は 34596 回となり、データ量は (データと畳み込みカーネルの両方が単精度浮動小数点数 2 バイトを使用すると仮定)、64x64x2 (入力データ) + 3x3x2 (畳み込みカーネル データ) = 8210 バイトとなり、計算量は 34596/8210=4.21 となります。 1x1畳み込みに切り替えると、計算の総数は64x64=4096になり、必要なデータ量は64x64x2 + 1x1x2=8194になります。明らかに、1x1 畳み込みに切り替えると計算量は 9 倍近く削減できますが、演算強度も 0.5 に低下します。つまり、メモリ帯域幅の要求も 9 倍近く増加します。したがって、メモリ帯域幅が 1x1 畳み込み計算のニーズを満たせない場合は、1x1 畳み込み計算に切り替えると計算量を 9 倍近く削減できますが、計算速度を 9 倍に上げることはできません。

ここで、ディープラーニング コンピューティング デバイスには 2 つのボトルネックがあることがわかります。1 つはプロセッサのコンピューティング能力であり、もう 1 つはコンピューティング帯域幅です。どれがコンピューティング パフォーマンスを制限しているかを分析するにはどうすればよいでしょうか? Roofline モデルを使用できます。

上の図は、典型的なルーフライン曲線モデルを示しています。座標軸は、コンピューティング パフォーマンス (垂直軸) とアルゴリズムのコンピューティング強度 (水平軸) を表しています。ルーフライン曲線は、左側の上昇領域と右側の飽和領域の 2 つの部分に分かれています。アルゴリズムの計算強度が低い場合、曲線は上向きのゾーンにあります。つまり、計算パフォーマンスは実際にはメモリ帯域幅によって制限され、多くの計算処理ユニットがアイドル状態になります。アルゴリズムの計算強度が増加すると、つまり、アルゴリズムが同じ量のデータでより多くの計算を完了できるようになると、アイドル状態の計算ユニットがますます少なくなり、計算パフォーマンスが向上します。その後、計算の強度が増すにつれて、アイドル状態の計算ユニットの数が減少し、最終的にすべての計算ユニットが使用されるようになります。ルーフライン曲線は飽和ゾーンに入ります。このとき、計算の強度が増しても計算ユニットが利用できなくなるため、計算性能はそれ以上向上しません。言い換えると、計算性能は計算能力(メモリ帯域幅ではない)によって決まる「ルーフ」に遭遇します。前述の 3x3 畳み込みと 1x1 畳み込みの例を取り上げると、3x3 畳み込みはルーフライン曲線の右側の飽和領域にある可能性がありますが、1x1 畳み込みは計算強度の低下によりルーフラインの左側の上昇領域に達する可能性があります。このように、1x1 畳み込みの計算パフォーマンスは低下し、ピークパフォーマンスに到達できなくなります。 1x1 畳み込みの計算量は 9 倍近く削減されますが、計算性能の低下により、実際の計算時間は 3x3 畳み込みの 9 分の 1 にはなりません。

明らかに、コンピューティング システムのメモリ帯域幅が非常に広い場合、アルゴリズムは、非常に計算集約的になることなく、コンピューティング能力の上限によって決定される「天井」に簡単に到達する可能性があります。下の図では、計算能力は変化せず、メモリ帯域幅が増加するにつれて、計算能力の上限に到達するために必要な計算強度は低下します。

ルーフライン モデルは、アルゴリズムとハードウェアの共同設計に非常に役立ちます。これにより、アルゴリズムとハードウェアの最適化の方向を決定できます。メモリ帯域幅を増やすか、メモリ帯域幅の要件を減らすか、またはコンピューティング能力を向上させるか、コンピューティング能力を減らすかなどです。アルゴリズムがルーフライン曲線の上昇領域にある場合は、メモリ帯域幅を増やすか、メモリ帯域幅要件を減らす必要があります。この場合、計算能力を増やしたり、計算量を減らしたりしても役に立ちません。逆に。

実際の例を見て、さまざまな機械学習アルゴリズムがルーフライン モデルでどのように機能するかを比較してみましょう。次の図は、Google の TPU 論文「Tensor Processing Unit のデータセンター内パフォーマンス分析」から引用したものです。図からわかるように、LSTMアルゴリズムは計算強度が最も高いため、ルーフラインモデルの上昇領域の真ん中に留まっています。つまり、TPUがLSTMアルゴリズムを実行すると、メモリ帯域幅の制限により、パフォーマンスは約3TOPSにしかならず、ピークパフォーマンス(90TOPS)の30分の1にすぎません。古典的な全接続ニューラルネットワーク(多層パーセプトロン、MLP)の計算強度は LSTM よりわずかに優れていますが、ルーフライン曲線の上昇領域にもとづいており、実際の実行パフォーマンスは 10TOPS 程度です。畳み込みニューラル ネットワーク モデル、特に CNN0 は、畳み込みカーネルを畳み込みニューラル ネットワークで再利用できるため、計算強度が非常に高く、TPU ルーフライン曲線のルーフ (86 TOPS) に非常に近づくことができます。 CNN1 モデルも計算強度は高いものの、さまざまな理由によりトップに到達できません (論文では、CNN1 モデルの特徴深度が浅く、TPU の計算ユニットを十分に活用できないと述べられています)。この例は、ハードウェア アルゴリズムの共同設計におけるもう 1 つの重要なポイントを示しています。メモリ帯域幅に加えて、アルゴリズムが屋根に到達するのを妨げる可能性のある「その他の理由」があり、これらの「その他の要因」を最小限に抑えるように努める必要があります。

<<:  Alipay のディープラーニング エンジン xNN を公開

>>:  ディープラーニングにおける多体問題の解決方法

ブログ    

推薦する

ネイチャー誌に「LK-99は超伝導体ではない」という記事が掲載された。

長年続いていた室温超伝導の謎が解明されたようだ。昨日、ネイチャー誌は「LK-99は室温超伝導体ではな...

...

アルゴリズムエンジニアのメリット: 超実践的技術ロードマップ

これは、会社のアルゴリズム グループの同僚向けに作成された技術ロードマップです。主な目的は、技術ルー...

最新の軌道予測の概要:基本的な定義からさまざまな方法と評価まで

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

インタラクティブな推測 | ワールドカップとブラックテクノロジーが出会ったとき、最終的な勝者は誰になるでしょうか?

[オリジナル記事は51CTO.comより] 2018年ロシアワールドカップはエキサイティングな決勝...

...

2026年までに世界の人工知能(AI)市場は2,390億ドルに達する

GMIリサーチの最新分析によると、人工知能市場は2019年から2026年の予測期間中に年平均成長率(...

SQL SERVER データマイニング: クラスタリングアルゴリズムとシーケンシャルクラスタリングアルゴリズムの理解

前回の「SQL SERVER データ マイニングと列の使用方法の理解」に続き、今回はSQL SERV...

ML と AI の違い: 詳細ガイド

人工知能 (AI) と機械学習 (ML) は互換性があると考えられる場合もありますが、概念的には関連...

Sitechi スマートオペレーションプラットフォームがスマートシティの求心力を生み出す

デジタル トレントは、さまざまな新興テクノロジーが成熟し、新しいビジネスや新しいアプリケーションが出...

...

政府規制のAIの時代が到来

スティーブン・ホーキング博士はかつてこう言った。「効果的な人工知能の開発に成功すれば、私たちの文明史...

...

...