論文-DaDianNao:機械学習スーパーコンピューター



Paper Dadiannao Machine Learning Supercomputer



より詳細なドキュメントの概要は、githubブログにアクセスしてください。 https://deepshuai.github.io/
以前のDianNaoの論文は、ハードウェア設計の基礎と見なすことができます。これに加えて、ディープラーニングチップが直面するアプリケーションシナリオがより詳細になります。そのため、サーバー側には高性能コンピューティングアーキテクチャ、エッジサイドデバイスアプリケーションにはDaDianNao、ShiDianNao、より一般的な機械学習アルゴリズムにはPuDianNao、幅広い機械学習アクセラレータには複合命令セットアーキテクチャがあります。

DaDianNaoはマルチチップハードウェアシステムです。 CNN / DNNが直面するストレージウォールと汎用ワークロードが異なることを考慮すると、それらは多くのストレージスペースを占有しますが、複数のシステムのストレージ容量を超えることはありません。つまり、データを分散処理用のマルチチップシステムに分散できます。これにより、チップ上の高帯域幅を十分に活用し、チップ外の低帯域幅を回避できるため、大規模ネットワークモデルでより多くのデータを実行できます。効率的に。



全体的なハードウェアアーキテクチャ

DaDianNaoは、DianNaoに基づく拡張機能と見なすことができます。次の図は、DianNaoのアーキテクチャを示しています。
画像

単一のDaDianNao構造の設計

DaDianNaoの主な違いは、ニューラルネットワークのデータを格納および出力するためのNBinとNBout、ニューラル接続パラメータを格納するSBの編成形式、およびコアコンピューティングユニットNFUのデータ相互作用モードが大規模モデルで考慮されていることです。ものメモリアクセスシステムの設計思想と詳細です。 DaDianDaoチップのメモリアクセスシステムの高レベルの設計は次のとおりです。
画像



左の写真はチップの概要図で、各チップは16個のタイルで構成され、右の写真は1つのタイルの構造図です。各タイルの内側には、4つのストレージSB eDRAMバンクを備えたNFUがあり、NBinとNBoutは、左側のeDRAMルーターに接続された2つの灰色のeDRAMバンクに対応しています。 SBがDaDianNaoに分散して保存されていることを見つけるのは難しくありません。このアプローチの理由は次のとおりです。
a。 eDRAMはDRAMに比べてレイテンシが大幅に短縮されていますが、その本質は依然としてDRAMであり、リークの影響があり、定期的な充電リフレッシュが必要であり、リフレッシュ頻度はインタビュー対象のDRAMよりも高い場合があります。ストレージのパフォーマンスには一定の影響があります。 SBストレージを分割することにより、定期的な更新の影響をある程度減らすことができます。
b。 SBを分割し、各NFUの周囲に配置して、コンピューティングユニットに近づけます。これにより、特定の計算を実行するときに、アクセス遅延が小さくなり、パフォーマンスが向上します。

DaDianNaoからDianNaoへの重要な変更は、次の理由により、NBin / NBout / SBが元のSDRAMストレージからeDRAMストレージメディアに変更されたことです。
画像
上記の表からわかるように、SRAMを使用すると遅延をある程度減らすことができますが、必要な領域が大きすぎます。特に高性能コンピューティングチップでは、領域が大幅に増加します。コスト冷却と消費電力に対処するのは困難です。 eDRAMの選択は、ストレージ密度/メモリ遅延/消費電力の間の最も適切なトレードオフでもあります。

各タイル内のNFUの内部構造は次のとおりです。
画像
この図は、NFUパイプラインの各フェーズとNBin / NBout / SBとの相互作用の詳細を示しています。さまざまなネットワーク層の場合、ストレージと計算の特性に応じて、パイプラインの動作モードは次のようになります。図は次のとおりです。
画像
eDramの赤い部分は、SBストレージを表しています。



上記は、単一のDaDianNaoチップの設計です。次の表に示すように、単一のDaDianNaoチップ内のNBin / NBout用の中央eDRAMのストレージ容量は4MB、各タイルのSB用のeDRAMの容量は2MB、各チップは16タイルであるため、シングルチップのeDRAMは4 + 2 ∗ 16 = 36 4 + 2 * 16 = 36MB、大規模モデルネットワークでは単一の容量のみが高性能計算を実行できないため、このホワイトペーパーではマルチピース相互接続アーキテクチャを提案しています。
画像

複数のDaDianNao構造の相互接続

DaDianNaoのマルチチップ相互接続はカスタム設計ではありません。代わりに、既成のテクノロジーであるHyperTransport 2.0通信IPを使用して、各DaDianNaoチップに4セットのHT2.0通信チャネルを提供します。各チャネルの通信帯域幅。入出力方向では、それぞれ6.6 GB / sに達します。相互のデータ交換により、全二重通信がサポートされ、遅延は80nsです。

マルチピース相互接続構造は大規模なネットワークモデルをサポートでき、異なるモデルがマルチチップモードで通信するデータの量には大きな違いがあります。
画像

GPUとの比較実験

次の図は、モデルのトレーニング中のGPUと比較したマルチチップハードウェアに対するさまざまなネットワーク層の影響を示しています。
画像
次の図は、モデルのフォワードプロセスにおけるGPUに対するマルチチップハードウェア上のさまざまなネットワーク層のエネルギー消費率を示しています。
画像
次の図は、モデルのトレーニング中のGPUに対するマルチチップハードウェア上のさまざまなネットワーク層のエネルギー消費率を示しています。
画像