寄稿(半導体応用)第3章以降は、ニューラルアーキテクチャを半導体チップ上で実現した、ニューロチップについて、元STARC/東芝に在籍し、現在北海道大学に勤務する百瀬啓氏が解説する。これからのAI(人工知能)を差別化する手段の一つが半導体チップであることから、今後きわめて重要な解説論文となる可能性がある。この寄稿は長いため分割・掲載する。(編集注)当初は第3章でチップの回路技術、アーキテクチャを解説する予定だったが、チップの動向が大きく変化してきたため、内容を追加し網羅性を高めた。このため第5章までの章立てとした。〜本戦に突入」と題して、ニューロチップの現状と、具体事例、そして最後に動向と今後に関して報告する。第3章では、「基本回路構成とニューロチップの全景」と題して、2016年前半で量的にも技術的にも激しく変化したニューロチップ(乱戦気味だが)の状況を意識しながら説明する。最初の3.1節、3.2節で動向および基本的な回路構成(積和エンジン)を説明した後に、3.3節でここ1〜2年の間に発表された幾つかのチップを用い全体を俯瞰する。第4章では「代表的なチップ」と題して、4.1節から4.3節に掛けて全体を3つのカテゴリーに分けて各チップの詳細を説明する。Connected)に重きを置きさらに学習機能を内蔵したチップ(DNNチップ:DNNの呼称に関しては後述するが本寄稿では「非CNN」と狭義の意味で使用)のカテゴリーである。3つ目のカテゴリーは圧縮技術を搭載したチップ(前2つのカテゴリーと重複して説明するチップあり)のカテゴリーである。最後の第5章「動向と今後」では、5.1節ではニューロモルフィックチップであるIBMのTrueNorthに関して説明を行う。本寄稿ではTrueNorthの構成・動作を概説するが、ニューロモルフィックチップとして期待される人間の脳により近い科学的な側面よりも、現在のディープラーニングのもたらす、ある意味単純な性能の側面より比較説明を行う。2016年にかけディープラーニングとの架け橋になる技術の報告があった。その報告にもスポットライトを当て、新しい顔を持ったTrueNorthを圧縮という切り口から解説を試みる。5.2節では、モデルの効率化と圧縮技術の合体によりもたらされる一定レベルのCNNモデルの究極の姿に迫る。最後に今後の課題を概説する。(リアルタイム性)を目指した各種の技術、およびニューロチップの発表が相次いだ(第1章の図2を参照)。本節では、詳細の説明に入る前に最新の状況および動向を概説する。ニューロチップの動向(2016年前半まで)図14の赤い菱形◆で示された十数チップを本章での詳細説明の対象とした。図14は第1章の図2に新たに2つの公知例を加えた。Engine/圧縮エンジン、CAD設計止まりでチップではないが:参考資料46:第2章で既報)である。可能な範囲でチップのコードネーム(例えばEIEとかEyeriss:参考資料48)を図に添えた。2013〜2015年は少ないが、2016年は8個ほど説明の対象とした。CAD設計止まりのものもこの寄稿ではチップと称した。デジタル回路(コア)はCADにより比較的短時間で検証が可能でかつビジネスを視野に入れないならば、本来チップ化に本質的な意味がない場合が多い。ニューラルネットワークの分野ではその傾向がより顕著である。以下の製品は詳細説明を割愛した。VLIW:Fathomと称するUSBスティックを発売、DJIとのビジネス、インテルが買収と変動あり)である。割愛の理由は、従来のDSP、GPUベース寄りの技術を使用していることと、細かい技術内容の入手が難しいからである。Cluster)に特徴有り)も割愛した。Rao氏は、2011年にQualcomm/Zerothに関わり、そのニューロモルフィックによる制御(モータ)関連の研究に携わっていた。その後、Nervanaを創設しCEOに就任した。今年の8月にIntelに買収され、現在はIntelのVPとしてAI関連(元Nervanaチーム)を牽引している。話を戻し、Synopsys社等の技術紹介も割愛した。参考資料69、70を参照願いたい。図15を用いて研究(開発)最前線の技術トレンドを説明する。画像認識(Imagenet/ILSVRC)のエラー率を横軸に規模(パラメータ数/消費電力)を縦軸にした。そこに、2012年以降の画像認識(CNN)のモデルと付随した技術の主要なものをプロットした。繰り返しの説明となるが、ベンチマークの舞台となるImagenetはRGBの224x224ピクセルの画像に対して、1000種類のクラス(分類)での識別を行う高精度の画像認識のコンペである。いわゆるハイエンドと言ってもよい。モデルはAlexNetから最近のSqueezeNet(参考資料50:第2章)を使用した。&Instructive)かつ実践的に集約したモデルとの位置づけである。赤い丸(●)でCF型(畳込み層+全結合層共存型:2.4節を参照)のCNNを、青い四角(■)でC型(後段の全結合層が無しのモデルをC0型、1層有するモデルをC1型と以降呼ぶこととする)を示した。Compression(参考資料45:第二章)を今注目の有力技術として加えた。この図からトレンドは3つある。CNNの高精度化・・・図の赤矢印線2012年から2014にかけてモデルの改良が積極的に行われ、2014年にC型のCNNが出て、一層精度が改善された。同時にパラメータ数も一桁程度削減された。CNNの低消費電力化(小型化、高速化)・・・図の青矢印線2016年に掛けて、低消費電力化(高速化)を目指した圧縮技術が考案・実装され低消費電力化が実現可能となった。/EIEのチーム(Stanford大+UCB+NVIDIA)の圧縮技術がその代表である。モデルの改善と圧縮技術で1〜2年前に対してパラメータ数が数百分の一(510xはSqueezeNetの結果、参考資料50)に減少した。前半のトレンド1はアルゴリズムなりネットワークモデルの改善で、後者のトレンド2は実装技術寄りの改善と見ることもできる(よりLSI実装に近い)。アルゴリズム寄りの研究者から、半導体技術者へと活躍できる人材の場が広がった。必然だがより製品を意識したトレンドとなって来た。製品を意識して敢えてオリンピック級(1000クラスの識別)の性能を前提としていないのも大きな特徴だ。パラメータ数の削減は、チップに搭載可能な最大メモリ容量を意識して行われるべきだ。DRAM混載を試みたDaDianNao(参考資料37)は32MB搭載し、またSRAMオンチップのEIE(参考資料46)は10MBを搭載する。その値を各々図に示した。ここで重要な点は、外部メモリのDRAMに対してオンチップ化しSRAMとすることで、アクセスのための消費電力が120分の1になるという点である(参考資料13)。圧縮率510xを考慮すると、単純計算だと数万分の1の消費電力が実現されチップレベルでの実装が可能となる(単純計算だと6万分の1)。同様に高速化(リアルタイム性)も実現される。現実的にサブ100mAが実現可能となった。超高精度を狙わなければ、そもそも曖昧で良い所をきっちりやり過ぎていた(学習はともかく、実行では32ビットもいらない)。本来の姿に戻したと見ることもできる。同時にCF型もしくはF型の全結合主体のモデルに対しても検討がなされた(直感的に全結合型の方が無駄は多いと誰しも感ずる)。図15に入れ込むのは多少無理があるが、トレンド3として、RNNさらにはより複雑な機能をいれこんだネットワークモデルでの圧縮を含めた回路アーキテクチャ競争に移ったと見ることもできる。引き続き、各種のネットワークモデル(アルゴリズム)と回路アーキテクチャとの関係を、図16を用いて説明する。図の黄色い領域がネットワークモデル(アルゴリズム)を示し、下部の青い領域がLSI回路アーキテクチャを示す。Network)はCNNも含む広義の意味で使うべきである。参考資料46)が多いので、本寄稿では非CNN(狭義のDNN)の意味で使用する。参考資料75)がある。MLPの組み合わせにより各種学習モデル・アルゴリズム(機能モデル)を可能とするネットワークモデル(構成モデル)が組み立てられる。DBN、80)等である。本寄稿では詳細の説明は割愛する(詳細は上記の参考資料および14を参照)。Learning:強化学習)が実装される。「RNN(機能モデル)がCNN(構成モデル)上に実装される」という表現も可能なのだ。その場合にはCDBNに習いCRNNと表現されるのかもしれない。CNNは機能モデルと同時に構成モデルとしても使われるので留意が必要だ。ネットワークモデルとLSI回路アーキテクチャの関係(DNNとMPL等、狭義の意味で使用しているので注意を要する)図16のネットワークの“構成”および“要素”は、第2章および前節で説明したのでここでの説明は割愛する。Compressionを中心に記載した。詳細は4.3節で説明する。図16の下部にLSI回路アーキテクチャの技術項目を並べた。技術項目を列記すると以下の(1)〜(6)となる。回路アーキテクチャの技術項目(課題)である。回路アーキテクチャおよびチップを理解するために、畳込み層と全結合層の実装上の違いをおさらいする。その差異を表5に記載した。基本式はかなり違う(詳細は次節3.2節で述べる)。畳込み層は計算主体(computational-centric)、全結合層はメモリ主体(memory-centric)の特性を持つ。前者は、重みを平均100〜1000回(初段の畳込み層の出力の次元数でほぼネット平均リユース回数が決まる)リユースすることから計算主体となる。その分、リユース効率を上げるために並列処理手法に工夫が必要である。逆に全結合層は演算ごとに新しい重み(メモリアクセス)が必要となる。圧縮効果は特徴マップの局所的領域で絞って演算をする畳込み層では相対的に小さい。RNN、RLは全結合層で構成される。畳込み層と全結合層との比較表(続く)参考資料は、第3章の最後にまとめて掲載する。