ニューロチップ?y│n)癲 舛い茲い菷焼の出?4-2)
ニューロチップの代表例として、(4-2)ではDNN(ディープニューラルネットワーク)の開発2例を紹介する。中国科学院のDaDianNaoチップと、f国KAISTのDL/DI(Deep Learning/Deep Inference)チップを紹介している。(セミコンポータル集室)
著v:元半導理工学研|センター(STARC)/元東 瀬 啓
4.2 代表的チップ(DNNチップ)〜DRAM混載もしくは学{機
本Iでは、狭IのDNN(C(j┤)NN)のチップの説をする。T合層主の構成を念頭に、学{機Δ魴鵑△┐織船奪廚任△襦しかしv路構成まで詳しく記述した例は少ない。本章ではCAS(中国科学院)のDaDianNaoとKAISTのDL/DI(Deep Learning/Deep Inference)の2チップを説する。ivは2014Q12月のMicro47で、後vは2015Q2月のISSCC2015で発表された。共にフルペーパーのb文(参考@料37, 86)が出された。
DaDianNaoは、拡張性をeつオールマイティーなスーパーチップである。Dl/DIはDBNのネットワークモデルにQ込み層の要素を入れたものでいわゆるCDBN(Convolutional Deep Brief Network)官のチップである。すなわちRBMによる学{をDり入れた本格的な専チップである点にR`して欲しい。なお、T合のモデルであるRNNとRL(Reinforcement Learning:啣蹴{)に関しては割愛した。
(1)DaDianNao (CAS) 〜 A Machine-Learning Supercomputer
このチップは、2014QのMicro47(The 47th International Symposium on Microarchitecture)でBest Paper Awardをp賞したチップ(CAD実△泙)である(参考@料37)。タイトルに”A Machine-Learning Supercomputer”とけられているように来のGPUの性Δ]度で50〜100倍、エネルギー効率で1000倍度改したものであった。1Q半以峽个弔、ワンチップとして実の]度で、5.6 TOPS (Tera Operations Per Second)の性Δ鮓悗辰討い襦文綵劼垢EIEが、圧縮\術をい実効性ΔDaDianNaoを?j┼n)vっている:表6)。共同著vの仏Inria(フランス国立情報学O動U(ku┛)御研|所)の\術vをリーダとしてdき開発を推進した。2014Qの当時も現在も学{の時間をいかに]縮(演Qの高]化)するかが喫gの課であったことから、(AlexNetの学{の例もあるが、当時は何であれ学{に1週間はかかると言われていた)アルゴリズムの研|vやアプリケーションサイドの(sh┫)との会BでよくBに屬蝓△つ期待のj(lu┛)きかったチップであった。
図31 DaDianNao(CAS)の要仕様 (参考@料37を参考に作成)
(ア)チップ構成
b文は、CNN/DNNなりAlexNet等ネットワークモデルの識がないと読みづらいが、LSIもしくはDRAM混載チップとしてみるならば内容は単純だ。メモリの格納は、外から入ってくる入・出バッファ、および_み(シナプス値)の格納はDRAM混載で、そして中間データのk時格納はSRAMで行っている。図31の左屬凌泙配だ。32MBを_みに、入出バッファに4MBを割り振った。ivはタイルXの16ヵ所に配され、後vは中心に配された。周辺四(sh┫)にHyper Transportの通信インターフェースを配した。ファウンダリとしてSTMicroelectronicsの28nmプロセスを[定している。チップサイズは、8.2mm角だ。
チップの中心のバッファとタイルとは、里辰織肇櫂蹈検次Fat Tree構成(16ビット))で通信を行っている。そのkつのタイル(Tile:左下)は、4個のeDRAMのバンクに分かれる。バンド幅は4,096ビット/バンクとかなりj(lu┛)きい。タイルの中心にNFU(Neural Function Unit)を~する。バンクから_み(シナプス値)を読み込み、左から入る入データとで演Q処理をNFUが行う。下にNFU内霍柔をした。ピンク線が入データ(入徴マップもしくは入イメージ)、E線が出データ(出徴マップ)を、さらに契が_み(シナプス値)の流れをす。
(イ)NFU (Neural Function Unit)
16入(16ニューロン)および16出(16ニューロン)が同時に扱える。靴ぬ隶は、シナプス値(_み)の読み込みパスである。Qブロックは、積、和、化関数/性化関数処理(Transfer関数)、出、中間値バイパス処理(そのためにi述したように8KBのSRAMを内邸砲pけeつ。
16x16=256シナプス(_み)がアクセス可Δ任△襦256個のMAC処理が並行で同時に行える。256 MAC×2 ×16Tile×0.606 GHz = 5.0 TOPSの処理ξを~する(実際はもう32 MAC分演Qが可Δ5.6 TOPS)。学{時にはセレクタで情報のパスを再構成しフェーズの変(g┛u)に官する。フィードバック値(gradient)を入するパス、また微調D後のシナプス値(Updated Synapse)をe-DRAMに格納するパスを再構成する。
(ウ)コンフィギュラビリティ (再構成)
図32に層、およびフェーズ(学{と実行)の切りえの流れをした。b文を参考にH少推Rを入れて作成した。図31の下図のNFU(Neuron Function Unit)のパイプラインのステージ(Stage 1/2/3)を切りえることにより、Q込み層/T合層/プーリング層/化関数あるいは性化関数のQ処理を再構成する。もちろん、シナプスの入の~無も関連する。プーリング層ならシナプスの入は不要だ。ネットワークの処理が進み、層が変わる(例えばQ込み層からプーリング層)タイミングでダイナミックに切りえる。また実行モードから学{モードも同様に切りえるが、i述したシナプスのアップデートのパスも構築する要がある。順伝髻Forward Propagation)と逆伝髻Backward Propagation)の切えにより学{を行うU(ku┛)約ボルツマンマシン(RBM:Restricted Boltzmann Machine)の}法をいた学{の記述が~り適している模様だ(詳細の説はない)。
図32 再構成の切りえの流れのS図 (参考@料37を参考に作成)
(エ)T果:性
消J電:図33にシミュレーションによる消J電の分布をした。チップで16Wと試Qされている。そのうちチップ間通信を行う高性ε疏v路(HT:Hyper Transport、Point to Point式の@接\術)の消J電が半分をめた。著vらも述べているが今後工夫が要な所だ。なお、本チップはサーバなので、Hチップでのt開を野に入れることが須だ。敢えて単での使を念頭にくと(例えばエッジU応)、としては10W位の消J電とみなせ、内RAMアクセスに6Wを要している。内鼎箸呂い─DRAMでは消J電がやはりj(lu┛)きい。
図33 DaDianNaoの消J電分析とスケーラビリティ比較 (参考@料37を参考に作成)
出Z元:STARCの調h報告書より転載
スピード:図33にb文のデータを参考に作成したスピードのデータをした。e軸はNVIDIAのGPU K20Mとの相乾好圈璽蛭罎澄2軸は並`動作させた数(スケーラビリティー)だ。チップを\やす毎に性Δスケールアップするか(直線が望ましい)を判できる。いくつもの線があるが、Q込み層(CONV層)、プーリング層(Pool層)等のスケーリング性Δ鮨した。に1チップで10〜100倍の高]性をしている。スピードCONV層とCLASS層(T合層)でまることからその中間値とみて、ワンチップの場合には60倍度の改が見られる。
GPU K20Mの仕様データとDaDianNaoのv路構成からスピード性θ羈咾鰓~単に試Qした。メモリバンド幅とMACの数を単純にXけたもので比較すると、DaDianNaoは44倍の性Δ単(ワンチップ)で出ることがわかる。DaDianNaoとK20Mとの的な数値をすと、バンド幅が5TB/s粥208GB/sで24倍、MAC数が9k個5k個で1.8倍となり、両(sh┫)をXけ合わせると約44倍だ。h価値とほとんど変わらない。
ポイントはスケーラビリティだがCONV層はほぼ直線だ({J落ちるのは入マップの周辺の処理の影xが出る)。_要なのはT合のCLASS層だが、さすがのDaDianNaoでも16チップ以屬農Δ劣化している。CONV層だと独立しているので分配によるK影xは小さい。とはいえ、CONV層とCLASS層の平均で見ると16チップから64チップの間位まではスケーラビリティがあり、その比率は800倍度の高]化が見込める(K20Mひとつとの比較である点RTが要だが、当GPUのスケーラビリティは極めて低いはずだ)。
他チップとの比較:Eyrissとの比較をする。表6で、C積効率(GOPS/mm2)とデザインルールと周S数を並べると、DaDianNao (82.7 GOPS/mm2, 28nm, 606MHz) vs Eyriss (6.23 GOPS/mm2, 65nm, 200MHz)となる。EyrissをDaDianNao並みにすると、102 GOPS/mm2となる。IoEでも同様である。Eyeriss/IoEがQ込み層のチップであることから、DaDianNao/DRAM混載がメモリアクセス]のT合もしくは学{のチップとして初めて徴が出ることを改めて認識できる。
(2)DL/DI (Deep Learning/Deep Inference) (KAIST)〜DBNを本格実
2015QのISSCCでf国KAISTより発表された(参考@料86)。教師無し学{が可Δ淵船奪廚澄DaDianNaoと異なり学{と実行のQ々のv路をeつ。DL/DIの}称は筆vがb文のタイトルよりDった。DaDianNaoがサーバを主ターゲットとしたのに瓦掘DL/DIはフロントエンド(エッジ)もしくはニアエンド(フォグサイト)をターゲットとしている。発表ではクラウド笋離如璽審頁/通信の負担削(f┫)のためにニアエンドに学{機Δ魴eたせる点に_きをおいて講演を行っているが、ほぼ1Q後のフルペーパーでは、モバイルでの学{機ε觝椶泙妊拭璽殴奪箸鮃げてb文を構成している。0.2W度で、エネルギー効率は1.93 TOPSとかなり高いことから適J(r┬n)囲は広い。
(ア)学{機ΑΑΑΧ技嫐気軍{
図34にb文を参考に作成したチップのブロック構成をした。実行エンジン(Deep Inference Engine)と、学{エンジン(Deep Learning Engine)、さらにはグローバルな乱数発v路:TRNG (True Random Number Generator) の3つの構成からなる。学{エンジンは4つのコア(DLコア)からなる。詳細な説は割愛するが、4つのステージからなるパイプライン構成となっている。かつポジティブとネガティブの二_スレッド(sh┫)式を採している。DBN (Deep Neural Network:参考@料78, 80) におけるRBM (Restricted Boltzmann Machine 76,77) でのNegative/Positive(sh┫)向の学{}順を効率よく実現すべく構成されているとみている。
図34 DL/DIの要仕様 (参考文献86を参考に作成)
(イ)乱数発昊_(d│)およびその供給システム(ネットワーク)
図34にしたように、学{(DL)および実行(DI)に要な乱数発昊_(d│)は演Qエンジンに瓦靴董個々にeつ(sh┫)式ではなくC積効率の良いグローバル(Global)な(sh┫)式を採(図のTRNG)した点がアーキテクチャのj(lu┛)きなポイントであると彼らは主張した。データが密集することを防ぐために、乱数の配信と学{/実行のデータ送信のパスを完に独立させるアーキテクチャがその内容だ。
(ウ)T果:性
彼らはCDBN (Convolutional Deep Brief Network:参考@料80)ネットモデルでの教師無し学{を32×32 RGB }形Xの認識に適した。LSIとしての性Δ鮨34の表にした。学{でのピーク性Δ328.3 GOPSとかなり高い。そのT果として1.93 TOPS/Wというこれも高いエネルギー効率値をき出している。比較をする報告がほかにHくないこと、またb文で性Δ亡悗靴得LCをHく割いていないことから1.93 TOPS/Wの良しKしを判するのはMしいが、かなりの性Δ砲聾える。なお、実行(DI:Deep Inference)では3.1Iで述べた並`処理に加えて、タスクレベル、層(Layer)レベルでの並`処理を加えて高]化した。
集R)瀬の現在の肩書は、LOj(lu┛)学 j(lu┛)学院情報科学研|科 学術研|^である。