セミコンポータル
半導体・FPD・液晶・製造装置・材料・設計のポータルサイト

エッジAIの性能と電力効率を共に上げたCadenceのAIコア

Cadenceは、ディープラーニング向けにニューラルネットワーク演算を行うIPコアにおいて、効率よくデータや重みを間引くことで、従来と同じ4000個のMAC演算ユニットで比べると、性能は最大4.7倍。電力効率は2.3倍というAIコアを開発した。2018年末には特定顧客向けに生産が始まる。Publitek主催のメディアイベントで明らかにした。

Cadenceは、DSPコアで定評のあったTensilicaを2013年4月に買収、以来TensilicaのIPを製品ポートフォリオに加えた。ディープラーニングに使うニューラルネットワークは、ニューロンのデータと重みを掛け算し足し合わせる積和演算(MAC: Multiply Accumulate)を基本とする。効率よくMAC演算を行い、しかも、畳み込み演算とプーリング演算では間引くことを基本とする。いかに電力効率を上げるかに焦点が絞られている。学習演算で定評のあるNvidiaのチップの消費電力は200Wなどと大きい。このためクラウドベースでの学習には向くが、端末のようなエッジではまだ受け入れられない。

そこで、エッジでのAIでは、推論をベースにするディープラーニング演算が主体に競われている。Tensilicaが得意としているDSPは、MAC演算専用のマイクロプロセッサである。ただしこれまでのDSPは32ビット演算を基本としており、64ビットの倍精度にも対応するなど、高精度化を充実させてきたため、ディープラーニングには向かなかった。そこでデータも重みもビット数を下げ、無駄な演算をせずに消費電力を下げるAI向けのDSPコアが続出している(参考資料1)。


図1 Cadence社Tensilica IP部門製品マネジメント担当シニアディレクタのLazaar Louis氏

図1 Cadence社Tensilica IP部門製品マネジメント担当シニアディレクタのLazaar Louis氏


今回、Cadenceが開発した、Tensilica DNA 100プロセッサIPは、4000個のMACを並べたIPコアで、8ビット演算を基本にしたと、同社Tensilica IP部門製品マネジメント担当シニアディレクタのLazaar Louis氏(図1)は語っている。DNAはDeep Neural Network Acceleratorの略である。

加えて、DNA 100プロセッサでは、スケーラブルな間引き計算エンジン(Sparse Compute Engine)により、DNN(ディープニューラルネットワーク)で間引く演算を利用して、ゼロの乗算のような不必要なタスクを排除した。この結果、電力効率を上げ、演算量を削減できた。ニューラルネットワークの再学習によってネットワークの間引き演算を増やすことにより、DNA 100プロセッサの間引き計算エンジンで性能を最大限に上げることができた。これにより、ResNet 50において4K MAC構成でおよそ最大2,550fps (フレームレート)、最大3.4TMAC/W (16 nmプロセス) という推論性能が実証でき、DNA 100プロセッサは小さいアレイサイズでスループットを最大にすることが可能となった。


Neural Network Mapping onto Tensilica DNA 100 Processor

図2 畳み込みニューラルネットワークの作業を一つのプロセッサIPでこなす 出典:Cadence


このDNA 100プロセッサIPは、畳み込み演算も、プーリング演算も、分類分けもこのプロセッサをループのように使うことで(図2)、無駄のない演算をすることができるようになった。データと重み演算の結果をRAMに高速に貯めたり出したりするための128ビットあるいは256ビットバスを通してHBM2メモリをつなぐことができる。また、DNA 100プロセッサは、拡張性があるため、共通バスNoCを通して並列に接続することができ、さらに性能を拡張することも容易になる。

実際には物理的に4K個のMACを並べ、重みを35%間引き、データを60%間引くことで性能を2.3倍に上げることができるとしている。16nmプロセスを使った従来のDNNプロセッサが1.5テラMACs/Wであるのに対して、3.4テラMACs/Wが得られている。

今回はCaffeフレームワークを使ったが、今後はTensorFlowやCaffe2などもサポートしていく計画で、今回の8ビット・16ビットの量子化に対して、4ビットやバイナリなども検討していくとしている。

参考資料
1. AIの積和演算に小さなDSPを数百個並べたIPコアが続々登場 (2018/07/06)

(2018/09/20)

月別アーカイブ