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

“量子コンピュータに匹敵する日立の新型半導体コンピュータ”の正体

 「約1兆の500乗通りの膨大なパターンから瞬時に実用に適した解を導く〜室温動作可能な新型半導体コンピュータを試作」と題するニュースリリースを日立製作所(以下は「日立」と表記)が公表したのは、2月23日のことである。略して「新型半導体コンピュータを試作」(以下はこの表記を使用)と称する研究成果の発表は、わずか数日の間に大きな波紋を広げたようだ。

 この発表に対する関心の高さは、「はてなブックマーク」の数からも分かる。2月26日現在、「新型半導体コンピュータを試作」のリリースには179枚の「しおり」が付けられている。そのほかに2月20日、2月23日、2月24日に日立が公開したニュースリリースは全部で8本あるが、その中ではてなブックマークが付けられたリリースは1本だけ、それも「しおり」の数はわずか1枚にすぎない。

勝利のタイトル「量子コンピュータに匹敵」

 この発表が「日本で」注目を集めた理由の1つには、Webメディアの記事タイトルに「量子コンピュータ」が入っていたことがあると推測する。筆者が調べた範囲では以下のようなタイトルが並んだ。

「日立、量子コンピュータに匹敵するCMOS半導体コンピュータを開発」
「日立製作所、D-Waveの量子コンピュータに対抗する新型コンピュータを試作」
「日立が量子コンピューター似の新型コンピューターを開発、「2〜3年で実用化」へ」
「量子コンピュータ並み!? 「組み合わせ最適化問題」を瞬時に解く新型コンピュータ」
「「1兆の500乗」通りから瞬時に実用解を導く半導体コンピュータ、日立が開発 量子コンピュータに匹敵」
「日立、量子コンピュータに匹敵する性能の室温動作の新型コンピュータを試作」
「常温で動作可能--日立、量子コンピュータに匹敵の新型コンピュータ試作」

 全てのタイトルに量子コンピュータが入っている。ニュースリリースのタイトル「約1兆の500乗通りの膨大なパターンから瞬時に実用に適した解を導く〜室温動作可能な新型半導体コンピュータを試作」には量子コンピュータの文字が含まれていないにも関わらず、である。

 上に挙げた6本の記事タイトルの中で3本には「量子コンピュータに匹敵」の文字がある。ニュースリリースの本文を読むと、冒頭に「約1兆の500乗通りの膨大なパターン(組み合わせ)から適した解を導く「組み合わせ最適化問題」を量子コンピュータに匹敵する性能で、瞬時に解く新型コンピュータを試作しました。」との記述がある。この記述が転記されたのだろう。

 量子コンピュータが持つイメージ、すなわち「現在のノイマン型コンピュータには現実的な時間で解くことが不可能な問題を、量子コンピュータは解いてしまう」、「不可能を可能にする」というある種のワクワクするようなイメージが、大きな注目を集めた理由だと思う。上記の記事の中には、1,400前後と数多くのツイートが発信されたものが2本ある。タイトルの量子コンピュータはメディアと日立の両者にとって「勝利のタイトル」だったとも言える。

「組み合わせ最適化問題」がコトの本質

 日立のニュースリリースを詳細に点検していくと理解できるのは、「組み合わせ最適化問題」を解く半導体チップを試作したことが研究成果の本質であることだ。量子コンピュータは研究成果を華々しく説明するための「道具」にすぎない。日立の研究成果は量子コンピュータではないし、量子効果は全く利用していない。にも関わらず引き合いに出してきた。あまり真似したくない広報手段と言える。

 「組み合わせ最適化問題」は、現在のノイマン型コンピュータでは解くことが最も困難な問題であり、量子コンピュータに対する期待が最も大きい問題でもある。ただし、「組み合わせ最適化問題」を解けるソリューションは、量子コンピュータだけではない。詳細は省くが、これまでに「シミュレーテッド・アニーリング」など、いくつかの手法が提案されてきている。日立は、統計学のイジングモデルを最適化問題の解決手法に採用し、半導体回路によってイジングモデルを実装した。統計学のイジングモデル(古典的イジングモデルとも言う)は本来、量子効果とは関係がない。

 しかし現在の「イジングモデル」は、量子コンピュータとの繋がりがある。具体的には「組み合わせ最適化問題」の有力な解法「量子アニーリング」が、イジングモデルを利用しているからだ。ちなみに量子アニーリングを考案したのは日本人である。1998年に、門脇正史氏と西脇秀稔氏が共同で学会論文を発表し、量子アニーリングの概念を提案した。イジングモデルに量子ゆらぎを与えることで、最適解を求める手法である。

国際学会ISSCCで「新型半導体コンピュータ」を発表

 この日立の研究成果の技術概要は、米国カリフォルニア州サンフランシスコで2月23日〜25日(現地時間)に開催された最先端半導体チップの国際学会「ISSCC 2015」で、25日に講演発表された(講演番号24.3)。講演のタイトルは「An 1800-Times-Higher Power-Efficient 20k-spin Ising Chip for Combinational Optimization Problem with CMOS Annealing(エネルギー効率が1,800倍高い、CMOSアニーリグを駆使した組み合わせ最適化問題向けの20kスピン・イジング・チップ)」である。日本での騒ぎが別の世界の出来事であるかのように、講演会場は平静そのものだった。以下の図面は全て、ISSCCで公表された講演スライドである。

 講演では始めに、組み合わせ最適化問題の事例(交通渋滞や流通問題など)を示した。続いて組み合わせ最適化問題の事例の1つである巡回セールスマン問題を取り上げた。巡回経路を全て計算で求めて最も短い経路(最適解)を探索する手法では、巡回するポイントの数「n」が増加すると計算回数がべき乗で増加するために計算時間が膨大なものとなると述べていた。そして2のn乗通りの解が存在する場合に最適解を求めるには、近似的手法が使われているとした。

巡回セールスマン問題。セールスマンが全ての格子点(この図面ではシティ)を通過する時に最短距離となる経路(最適解)を求める。全ての経路で距離を計算して解こうとすると、格子点が多くなるにつれ計算回数が膨大なものとなる。実用的な時間では最適解を求められない
2のn乗の解から最適な解を求める。図中のKPIは「Key Performance Indicator」の略。KPIが最小値となる解が、最適解となる

 ここから、従来のコンピュータでは困難な問題に対処するためには、別のモデルによる解法が必要と説明し、解法の例としてニューロンモデルとイジングモデルを取り上げた。ニューロンモデルは最適化問題ではなく、認識処理を高速化する手法と位置付け、2014年8月に発表された「ブレインチップ」を挙げていた。

 イジングモデルでは、超伝導回路による提案が2011年になされたことを示した。これはカナダD-Wave Systemsの商用量子コンピュータ「D-Wave One」を指すとみられる。併せて今回発表する研究成果が、半導体によるイジングモデルの具体化であると述べていた。

ニューロンモデルとイジングモデルの研究事例なのだが、商用化した事例だけを扱っているわけではない。位置付けがやや不明な図面である

イジングモデルを半導体回路でエミュレート

 続いてイジングモデルの概要を説明した。磁気スピンを格子点とする2次元のイジングモデルを講演スライドで示した。スピンの状態によってモデルの系(システム)のエネルギー状態が変わる。n個のスピンがあると、2のn乗通りのエネルギー状態があるとしていた。

イジングモデルの概要。日立がニュースリリースに使用した図面と基本的には同じもの。右がイジングモデルの説明。格子点の「σ(シグマ)」が磁気スピン、格子の「J」が隣接する格子点間の相互作用を表す。磁気スピンの青い球に刺さった矢印は磁気モーメントである。左がエネルギー状態の模式図。スピンの状態によってエネルギー状態が違う。最も低いエネルギー状態となるスピンの組み合わせが、最適解である

 ここからようやく、講演は本論に入った。イジングモデルを半導体回路で実現する。講演では「CMOS回路で実現する」と述べていた。先の講演スライドでは半導体と言っておきながら、ここでは半導体回路ではなく、わざわざCMOS回路と述べたのは、意味がある。意味が分かるのは講演がさらに先に進んでからだ。

 イジングモデルの実装には、SRAM技術を採用した。SRAMのメモリセルはスピンと同様に2つの値を取る。そこでスピンが備える磁気モーメントの上下(プラス1とマイナス1)をメモリセルの論理値(1と0)に対応させた、と説明した。スピンの値だけでなく、隣接スピン間の相互作用を示す係数もメモリセルに格納した。相互作用を示す係数の格納には、2bitを使う。試作した半導体回路では格子点当たりに5個の係数があるので、合計では10bitを割り当てる。

 隣接するスピンの値と相互作用から、対象スピンの新たな値を求める計算は、半導体ロジック回路が担う。ロジック回路は、相互作用の係数や隣接する格子点の値などを入力とする、多数決論理回路である。対象の格子点(スピン)に対して多数決論理を実行すると、格子点の新しい値が決まる。当然ながら、全ての格子点(スピン)に対して同時に論理演算を実行することはできない。そこで計算サイクルを8回に分割し、8分の1の格子点に対して多数決論理回路を動かすことにしている。

イジングモデルを半導体回路で実現する
イジングモデルを実装した回路の動作。格子点(σ5)に対し、値の更新を実行する
格子点(σ5)の値を更新する論理回路。論理ゲート(排他的論理和ゲート)と多数決回路で構成される。図中の右はσ5の値を決める数式。平行するスピンの組み合わせが多いとσ5の値は「プラス1」、反平行であるスピンの組み合わせが多いとσ5の値は「マイナス1」に更新される

「ゆらぎ」の制御手法は不明

 多数決論理によってスピンの値を更新し続けていくと、系(システム)のエネルギー状態が少しずつ下がり、これ以上は下がらなくなったところで系の値は固定化する。固定化した値がめでたく最適解になるとは限らない。局所的な最小値(ローカルミニマム)に落ち込んでいる可能性がある。ローカルミニマムに落ち込むことなく、組み合わせの全てに対する最小値(グローバルミニマム)を探索するには、系(システム)にゆらぎを与えなければならない。

 講演ではゆらぎを与える2種類の方法を説明していた。1つは、擬似乱数列を与えて多数決の結果を反転させることである。もう1つは、SRAMセルの電源電圧をわざと下げることでSRAMセルの動作を不安定にし、格納したスピンの値を不定にすることだ。これらの手法を日立の研究チームは「CMOSアニーリング」と自称していた。ここで講演の前半にわざわざ「CMOS回路」と表現していたことと、繋がってくる。

 個人的な感想で申し訳ないのだが、シミュレーテッド・アニーリングや量子アニーリングに比べると、日立の研究チームが採用した「ゆらぎの導入手法」には違和感がある。

 まず擬似乱数列なのだが、真のランダムに近い擬似乱数生成器を作ることは、それほど簡単ではない。講演発表では擬似乱数の生成アルゴリズムを説明していない。講演直後の質疑応答で擬似乱数生成に関する質問があったのだが、講演者は質問の意味が分からないようだった(分からない振りをしていた可能性はある)。ちなみに擬似乱数列は半導体チップ内部で生成するのではなく、外部信号として生成してから半導体チップに入力すると見られる。

 そして電源電圧を意図的に下げることによるSRAMセルの不安定化は制御ではない。SRAMセルアレイ自体が備えるばらつきを利用しているので、どのような結果が出るかは相手(個々のSRAMセル)任せなのである。これでは「ランダムさ」を保証できない。

 最も大きな懸念は「ゆらぎの大きさが制御されていないように見える」ことだ。講演発表を聴講し、論文を読んだ限りでは、ゆらぎをどのように制御するのかを把握できなかった。仮にゆらぎを制御する手段がないとしよう。それでは「アニーリング」とは呼びづらい。

 もちろん公表していないだけで、ゆらぎを制御する手段が存在している可能性はある。「存在しないこと」の証明はできない。その点は今後の発表を待ちたい。

擬似乱数列の入力によってスピンの値を変化させ、「ゆらぎ」を与える
SRAMセルの電源電圧を下げて動作を不安定にし、「ゆらぎ」を与える

ソフトウェア処理とハードウェア処理で電力を比較する無意味

 講演は続いて、試作チップの概要説明に入った。65nm技術で製造した試作シリコンダイの寸法は4×3mm、面積は12平方mmである。試作チップは256kbitのSRAMセルアレイを内蔵する。スピンに相当する格子点は、20,480個(80×256個)ある。

試作チップの概要

 試作チップが取り組んだ問題は「最大カット問題」である。講演の前半で説明したいくつかの問題ではない。いきなり最大カット問題を取り上げたことは、唐突に感じた。

 また最大カット問題を採用した理由は、特に説明がなかった。理由はともかく、試作した半導体チップを動かし、最大カット問題の最適解を得たと述べていた。最適解を得るまでにかかった時間は10msで、65nm技術の半導体回路であることを考慮すると、あまり短い時間だとは言えない。

擬似乱数列のゆらぎを与えて組み合わせ最適化問題(最大カット問題)を解いた結果。アルファベットの3文字(ABC)がきれいに浮かび上がった状態が、最適解(グローバルミニマム)である。計算処理を100万ステップ実行し、処理時間にして10msが経過したところで最適化に到達した
SRAMセルの電源電圧低下によるゆらぎを与えて最大カット問題を解いた結果。ローカルミニマムを抜け出すことには成功したが、グローバルミニマムには達しなかった

 エネルギー効率は従来のコンピュータに比べると1,800倍も高いと主張した。比較した相手は、汎用マイクロプロセッサで近似アルゴリズムのプログラムを処理した場合である。つまりソフトウェア処理である。ハードウェア処理がソフトウェア処理に比べて消費電力がはるかに低くなるのは、ISSCCの参加者にとっては常識の一部だ。こんなことはあまり言いたくないのだが、あまり公平な比較とは思えなかった。せめて、FPGAに近似アルゴリズムを実装した結果と比較すべきだろう。

エネルギー効率の比較。当然だが、格子点(スピン)の数が増えるとエネルギー効率が高くなる

 そして講演の最後には、研究成果をD-Wave Systemsの量子コンピュータと比較して自らの優位性を主張した。優位性の具体的な内容は、室温で動作する、冷却不要なので消費電力が低い、半導体技術なので拡張性がある、といったものである。主張していることは正しい。しかし日立が考案して試作したチップは、量子コンピュータではない。にも関わらず優位性を主張する相手に選んだのが、D-Wave Systemsの量子コンピュータなのは、なぜなのだろうか。よく分からない。相手にするのは量子コンピュータではなく、従来技術のはずだ。

日立の研究成果(左)と従来技術(右)の比較。従来技術にはD-Wave Systemsの量子コンピュータを選んでいる

 古典的なイジングモデルを半導体チップで具現化し、最適化問題を解けることを実証したのは意義のあることだと思う。しかし研究成果をアピールする手法には、いささか問題がありすぎるように感じる。日立の手法を模倣する企業が出てくるような事態は、見たくない。

(福田 昭)