福田昭のセミコン業界最前線

不揮発性メモリが切り拓く超低消費のAIハードウェア

~国際メモリワークショップ(IMW) 2019レポート

人間と人工知能(AI)の消費電力。2018年12月に国際学会「IEDM 2018」のチュートリアル「Emerging Device Technologies for Neuromorphic Computing」でCNRSのDamien Querlioz氏が示したスライド

 深層学習(ディープラーニング)技術が人工知能(AI)と機械学習の飛躍的な進歩を促したことは、現在ではコンピュータ分野の研究開発者にとって共通の認識となっている。深層学習の開発成果が人類の一般社会とAIの研究開発コミュニティに衝撃を与えた出来事の1つに、Googleの子会社であるDeepMindが開発した囲碁用コンピュータプログラム「AlphaGo」が、2016年~2017年にかけて囲碁のトッププロに勝利したことが挙げられる。

 とくに衝撃的だったのは、2016年3月の対決だろう。世界トップクラスの力を有する囲碁のプロ棋士Lee Sedol氏と「AlphaGo」が5回対戦し、「AlphaGo」が4勝1敗の成績で勝利を収めた出来事だ。対戦前は、囲碁のトッププロはもちろん、コンピュータ囲碁の研究者ですら、「Sedol氏の5戦全勝」と予想していた(出典 : 伊藤、松原、「Alpha Goの技術と対戦」、『人工知能』、31巻3号、pp.441-443、2016年5月)。

 コンピュータは囲碁というゲームの実力では人間を超えた。ただし、工学的にみると重要な課題を「AlphaGo」は残していた。それは消費電力の大きさである。「AlphaGo」のハードウェアは数多くのCPUとGPU、ASICで構成されており、2016年3月の対戦ではクラウドコンピューティングが使われた。消費電力は250kW(25万W)を超えるとされる。これに対して人間の脳の消費電力は約20Wに過ぎない。両者の間には1万倍を超える開きがある。

深層学習のハードウェアが多大な電力を消費する理由

 深層学習の基本的な構造は、脳神経回路網(ニューラルネットワーク)を模倣したモデルである。「人工ニューラルネットワーク」と呼ばれる。ただしAIの世界では、単に「ニューラルネットワーク」と呼ぶことが多い。本稿でも人工ニューラルネットワークのことを「ニューラルネットワーク」と表記する。

 深層学習に使われるニューラルネットワークは、「ディープ(深い)ニューラルネットワーク(DNN : Deep Neural Network)」と呼ばれる。ニューラルネットワーク(NN)は、入力層、隠れ層、出力層と呼ぶニューロン(神経細胞)列の各層が相互に接続したネットワークである。そのなかで、隠れ層が2層以上あるネットワークをディープニューラルネットワーク(DNN)と呼ぶ。

 DNNの入力層は入力データを格納したニューロンの列であり、1つのニューロンは次の層である隠れ層のニューロンとつながっている。ここで重要なのが、「重み付け」と呼ばれるデータで、脳神経回路網では「シナプス」と呼ぶニューロン同士をつなぐ部分に相当する。

 隠れ層のニューロンの出力は、以下のようにして決まる。隠れ層のニューロンと接続されている入力層のニューロンの値(入力データ)と、重み付けの値を掛け合わせる(乗算)。それから、すべての乗算結果を合計する(加算あるいは累算)。合計値を特定の関数(「活性化関数」と呼ぶ)に入力し、その結果を隠れ層のニューロンの出力とする。この出力が、次の隠れ層への入力データとなる。

 上記のアルゴリズムは、数学的にみるとあまり複雑ではない。積和演算(MAC : Multiply and ACcumulation)と、その結果を入力とする活性化関数の演算の繰り返しである。

 ここで重要なのは、DNNの出力層のデータ(学習あるいは推論の結果)を決めるのは、「重み付け」の値であることだ。すなわちDNNを使った学習(「トレーニング」または「ラーニング」と呼ぶ)とは、「重み付け」を調整して最適な値に持っていくことにほかならない。「トレーニング」では、ニューラルネットワークの出力値と期待される出力値を比較し、その誤差が最小になるように各層の「重み付け」の値を更新していく。

 誤差が最小になったら、トレーニングを完了する。そのときの重み付けの値を今度は、DNNを使った推論(インフェレンス)に使う。たとえば手書き文字を認識したり、静止画像や動画像などの物体を認識したり、人間の動作(ジェスチャー)を認識したりする。

人工ニューラルネットワークの構造と、ニューロンの値の決め方。2018年12月に国際学会「IEDM 2018」のチュートリアル「Emerging Device Technologies for Neuromorphic Computing」でCNRSのDamien Querlioz氏が示したスライド

 DNNの一般的なハードウェアは、CPUやGPU、ASICなどの演算回路と、バッファSRAMや外付けDRAMなどのメモリ回路で構成される。このハードウェア構成が大きな電力を消費する理由は、おもに2つある。1つは、外付けのDRAMに対するアクセスがきわめて多いこと。DRAMには通常、「重み付け」の値を格納している。このため、DRAMへのアクセスがつねに発生する。もう1つは、CPUとGPUの精度が高すぎる(オーバースペックである)こと。CPUとGPUは32bitあるいは64bitの浮動小数点演算を実行する。しかし深層学習では8bitの整数演算で十分なことが少なくない。

外付けDRAMへのアクセスによる消費電力の増大。CPUのレジスタにアクセスするときの消費エネルギーに比べると、外付けDRAMにアクセスするときの消費エネルギーは100倍を超える。2018年12月に国際学会「IEDM 2018」のショートコース「Embedded Memory~Present status, architecture and technology for emerging applications」でTSMCのEric Wang氏が示したスライド

不揮発性メモリ技術によって深層学習の消費電力を下げる試み

 そこで消費電力を下げるために、1)メモリ回路に演算の機能を組み込む、2)メモリ回路と演算回路の距離を縮める、3)演算の精度を実用的な範囲で低くする、といった工夫が試みられている。

 半導体メモリに関してはもう1つ、重要な工夫がある。バッファメモリのSRAMや外付けのDRAMは揮発性メモリであり、平均的な消費電力が高い。そこでこれを不揮発性メモリに換えると、原理的には待機状態での消費電力がゼロになる。平均的な消費電力を低減することが期待できる。さらに、電源をオフにしても不揮発性メモリは記憶内容が残るので、電源投入動作やリセット動作などでストレージから重み付け値を読み出す手間が省ける。

AIおよびディープラーニングを想定したメモリ技術の長所と短所。2018年12月に国際学会「IEDM 2018」のショートコース「Embedded Memory~Present status, architecture and technology for emerging applications」でTSMCのEric Wang氏が示したスライド

 この5月に米国カリフォルニア州モントレーで開催された半導体メモリ技術の国際学会「国際メモリワークショップ(2019 IEEE 11th International Memory Workshop(IMW 2019))」では、この不揮発性メモリ技術によって低消費電力の深層学習ハードウェアを実現しようとする研究成果が相次いで報告された。

人工知能(AI)/深層学習用メモリ技術のおもな発表。IMW 2019の講演発表と論文集から、筆者がまとめたもの
人工知能(AI)/深層学習用メモリ技術のおもな発表(続き)。IMW 2019の講演発表と論文集から、筆者がまとめたもの

 発表された不揮発性メモリ技術は、抵抗変化メモリ(ReRAM)、相変化メモリ(PCM)、磁気抵抗メモリ(MRAM)、フラッシュメモリである。そしてAIハードウェアのアーキテクチャでは、前述のニューラルネットワーク・コンピューティングのほか、ニューロモルフィック・コンピューティングが使われた。

脳神経回路網を物理で模倣するニューロモルフィック・コンピューティング

 ニューラルネットワーク・コンピューティングは脳神経回路網の機能と構造を模倣しているものの、ハードウェアは脳神経回路網を模倣していない。極端に言ってしまうと、ニューラルネットワークを利用した学習と推論は、一般的なコンピュータ・ハードウェアをプラットフォームとするアプリケーションの1つに過ぎない。ただし一般的なコンピュータ・ハードウェアではあまりにも電力効率が低いので、GPUやASICなどを利用することで電力効率を高めようとするのが最近の動きである。その延長上に、不揮発性メモリ技術を利用する試みがある。

 これに対してニューロモルフィック・コンピューティングでは、ハードウェアそのものが脳神経回路網を模倣する。基本要素は、ニューロンとシナプスである。ニューロンは非線形の処理を担い、CMOSのディジタル演算回路あるいはアナログ演算回路で実現する。シナプスは、隣接するニューロン間の結合の強さ(重み付け)を担い、結合の強さをアナログあるいはディジタルのメモリに格納する。

 ニューロモルフィック・コンピューティングにおけるメモリチップは、脳神経回路網と類似の行列(マトリクス)状にメモリセルアレイを配置した構造を採用しており、オーム則とキルヒホッフ則を利用した積和演算機能を内蔵していることが多い。外見的な構造は、ニューラルネットワークとあまり変わらない。

アナログ不揮発性メモリのセルアレイをシナプスとするニューロモルフィック・メモリの構造(左)と、一般的なニューラルネットワークの構造(右)。2018年12月に国際学会「IEDM 2018」のチュートリアル「Emerging Device Technologies for Neuromorphic Computing」でCNRSのDamien Querlioz氏が示したスライド

 シナプスの役割をするメモリ技術には、SRAMと不揮発性メモリがある。SRAMにはCMOSロジックと同じ製造技術で作れるという利点がある。不揮発性メモリは、SRAMよりも記憶密度が高く、消費電力が低いという利点を備える。

ReRAMベースで2M個のシナプスを内蔵する低消費メモリ

 ここからは、IMW 2019で発表された研究成果のいくつかをご紹介しよう。

 パナソニックは、抵抗変化メモリ(ReRAM)技術をベースとするアナログメモリをシナプスとし、積和演算(MAC)機能を内蔵したニューロモルフィック用メモリを開発した(論文番号1-2)。「RAND(Resistive Analog Neuromorphic Device)」と呼称している。

 2個のReRAMセルで1個のシナプスを構成する。2M個のシナプスを内蔵するシリコンダイを180nmの製造技術で試作し、動作を確認した。シリコンダイの面積は12.6平方mm、電源電圧は1.8V、消費電力は15.8mWである。消費電力当たりの演算性能は20.7TOPS/Wとかなり高い。

「RAND(Resistive Analog Neuromorphic Device)」のシリコンダイ写真と概要。IMW 2019の論文集から

PCMの非線形性をキャンセルして学習の精度を向上

 IBM ResearchとETH Zurichは、相変化メモリ(PCM)をDNNの重み付けメモリとする深層学習用アクセラレータを共同で開発中である。クロスバー状にレイアウトしたPCMセルアレイに重み付けの値を格納する前と、値を読み出した後にそれぞれ特定の処理を加えることで、PCMの塁算における非線形性をキャンセルする技術を発表した(論文番号5-3)。

 シミュレーションによって手書き文字認識(MNISTデータセット)の学習(トレーニング)精度を高められることを確認している。

PCMのクロスバーアレイ(上)と非線形性のキャンセリング(下)。アルファ(α)はキャンセリングの係数で、αが1のときがキャンセリングなしを意味する。セットパルスの印加回数を増やしたときに、重み付けの値が線形に増加することが望ましい。IMW 2019の論文集から

64Gbitの3D NANDフラッシュで連続読み出し耐性を確認

 記憶密度のもっとも高い不揮発性メモリは、3D NANDフラッシュメモリである。また3D NANDフラッシュメモリはシングルダイの記憶容量が大きい。そこでMacronix Internationalは、3D NANDフラッシュメモリをエッジ(端末)の推論システムでDNNの重み付けメモリとして活用することを考えた(論文番号P4)。

 推論用途だと、フラッシュメモリに対する読み出しが連続して発生する。懸念されるのは、読み出しディスターブ(特定のメモリセルを読み出し続けることによって読み出しができなくなる不良)である。

 Macronix InternationalはSLC方式で記憶容量が64Gbitの3D NANDフラッシュメモリを試作し、連続読み出し寿命を測定した。その結果、10の13乗回の連続読み出し寿命を得られる見通しを得た。実用的には10年間の使用に耐えられる寿命だとする。

LC方式で記憶容量が64Gbitの3D NANDフラッシュメモリ。左はシリコンダイ写真。右上はメモリセルストリングの断面を、右下はメモリセルの断面を透過型電子顕微鏡(TEM)で観察した画像。IMW 2019の論文集から

 不揮発性メモリをAIのハードウェアに応用する技術の研究開発は、まだ実用化との距離がかなりある。今後の研究の進展を見守っていきたい。