ページの本文へ

Hitachi

山岡雅直(エレクトロニクスイノベーションセンタ 情報エレクトロニクス研究部 主任研究員)

従来のコンピュータでは解くのに極めて時間のかかる巡回セールスマン問題をはじめとする組合せ最適化問題の高速処理を、CMOSアニーリングマシンと呼ばれる半導体回路で実現するという手法を日立製作所が開発した。基本原理は、量子アニーリングと呼ばれる手法と似ているが、 -273℃(絶対零度)の極低温まで冷却しなくても済むという手軽さが特徴だ。元半導体技術者で、現在CMOSアニーリングマシンの開発を主導する山岡雅直主任研究員がどのようにして、この世界的な開発を成し遂げたのか、語ってもらった。キモはやはり「人との協調」である。

(2018年7月13日 公開)

なぜCMOSアニーリングマシン技術の開発に取り組むことになったのか

なぜCMOSアニーリングマシンを開発するようになったのかについて述べる前に、自分のバックグラウンドを話しておこう。大学時代から半導体の回路設計を専攻しており、日立製作所に入社してからも15年間ほど半導体回路設計を手掛けてきた。根っからの半導体回路設計者だと考えてもらっていい。当時の日立には半導体の回路設計では高名な永田譲博士が在籍していた。永田氏は、定年退職した現在でもときどき学会の集まりに来られている。近年では技術開発はもはや一人の人間の力だけではとても難しくなってきているが、今だに、経験に裏打ちされた多くのご示唆をいただけているのはありがたい。

2010年から2012年の2年間、IBMとの共同開発プロジェクトに携わり、ニューヨーク州のヨークタウンハイツにあるワトソン研究所で過ごした。しかし、帰国してみると、事業構造の変化に伴い、半導体の研究も縮小せざるをえない状況になっており、半導体の研究開発から離れなければならなくなった。これが大きなきっかけとなり、半導体以外でこれからずっとやっていける分野を探し始めた。コンピュータは将来もおそらくなくならない。しかしどのような方向へ発展していくべきなのか。このテーマについて考え続け、仲間と議論した。

  • ページの先頭へ

コンピュータの今後について議論

ムーアの法則が行き詰まり、集積化の限界がやって来ると、コンピュータの形が変わるだろうと考えた。ではコンピュータはこれからどのように変わっていくのだろうか?この課題について研究所内で1年くらいいろいろなメンバで議論するようになった。チーム全体で10名くらいいたが、このテーマを考える中心的メンバは2、3人だった。

最近AIやハピネスプラネットなどを推進している矢野和男博士は、半導体回路を研究していた時の上司である。矢野氏は一足先に日立と自分を変えていこうという意識が強く、早々と半導体とは違う分野で研究をスタートさせていた。自分は10年くらい遅れた形で、半導体との関わりが全くなくなってしまってから、コンピュータの将来を考えるようになった。

議論していたチームには、半導体、そしてコンピュータのハードウェアのエンジニア、そしてソフトウェアのエンジニアもいた。英国の日立ケンブリッジ研究所 (Hitachi Cambridge Laboratory: HCL) 量子コンピュータの研究者とも継続的に議論できたことも刺激になった。違う分野のエンジニアが集まって議論していたからこそ、CMOSアニーリング手法に行き着いたのだろう。一つの分野の人だけで議論するのではなく、いろいろな背景を持つ人たちと議論するのは本当に楽しい。

その頃、カナダのD-Wave社が量子コンピュータを発表した。しかし、これを作ろうという発想はなかった。D-Wave社の量子コンピュータを利用した量子アニーリング技術を横目に見ながら、あるコンピュータエンジニアが、このやり方ならもっと簡単にできるのではないか、と言い出し、半導体エンジニアの自分は半導体でならできる、と申し出た。こうしてCMOSアニーリングの開発が始まった。半導体エンジニアだけなら、この技術は実現できなかっただろう。

ところで、この技術をなぜアニールというのかを説明しておこう。アニールとは、焼きなましと訳され、例えば鉄鋼などを高温で加熱し続けた後、徐冷していくことにより、鉄鋼内部のひずみを除去して丈夫な鉄鋼に加工する方法である。今回の新しいコンピュータ手法では、最適化パラメータを見つけるための手法としてこのモデルが使われている。最適化手法をアニールの仕組みで説明すると、エネルギーを高める(加熱する)ことによって系をランダムにし、その状態からゆっくり冷やしていくことで、最適な状態を自然と見つけられることになる。このため、アニールという言葉が使われている。

量子アニーリングでは、量子効果を使って、最適な解を求めるのに横磁場をかけ、それを徐々に弱めていき、最適なところを探していく。これがアニールの工程と似ていることから、このように呼ばれている。CMOSアニーリングではこのような量子効果は利用しないが、求める解とは異なるところにとどまり易くなってしまうことを排除する工夫で、いろいろな探索領域の中から最適なところを探していこうとしている。つまり、ランダムに状態を頻繁に壊して安定な解を求め、その頻度を下げていくことで、高温から徐々に温度をさげるアニール効果を実現し、最終的には壊すことのない状態に落ち着つかせることになる。

  • ページの先頭へ

本当に最適解か

目的は、最適な解やパラメータを見つけることである。しかし、実際には本当に最適なパラメータかどうかわからないこともある。本当の最適なポイントを見つけるためには、原理的には無限に時間をかけなければならないと言われている。同じ時間をかけるなら、量子アニーリングの方がCMOSアニーリング法よりもおそらく最適点に近づいているはずだ。

ただし、最適化処理を実際に使う応用事例を想定すると、"最適点ではなくても使える応用"がかなり多いはず、と睨んだ。このため、CMOSアニーリングは使えそうだと考えている。少々乱暴な言い方をすれば(数学者に叱られるかもしれないが)実際に"使える"解があるなら、数学的に厳密でなくても工学的、実用的には構わないはずだ。

  • ページの先頭へ

2015 ISSCCで発表

次に、CMOS半導体のどのような回路や特性を利用して、CMOSアニーリングマシンを設計したのかを説明しよう。自分は半導体回路のなかでもメモリを担当してきたため、量子アニーリングマシンの原理やモデルを理解できるようになると、これはメモリ回路で実現できる、とピンときた。CMOSのメモリ回路にデジタル回路を集積して、アニーリングマシンを作れるのではないかとの発想だ。

まず、この「メモリを使う」というアイデアをコンピュータシミュレーションで確認した。そして実際に半導体チップに集積した、2万ビット回路を試作し、2015年の半導体のオリンピックといわれるISSCC(国際半導体回路会議)学会で発表した。これまでで最大規模のアニーリングチップである。

ISSCCでの発表と同時に、正式にニュースリリースを行い、メディアに採り上げられ、社内外で予想外の話題になった。2014年くらいから量子コンピュータが登場し、そこからさほど時間がたっていなかったことがこの反響の大きさに繋がったのだろう。

CMOSイジングコンピュータの心臓部。従来の計算機のように逐次計算を実行するのではなく、最適化問題を磁性体のスピンの振る舞い(磁性体の物理現象)にマッピングし、その物理現象の収束動作を実行・観測することで、 短時間で適切な近似解が見つかる。

  • ページの先頭へ

AIとは本質的に違う

実は、機械学習ディープラーニングに関しては、あまり検討しなかった。これは、いわゆるニューラルネットワークを使った学習の仕方はすでに研究されており、それ以外の手法で新しいコンピュータの形を求めようという気持ちが強かったためだ。コンピュータアーキテクチャを変える、ということにこだわっていたように思う。それはちょうど、AI(人工知能)をみんなが研究している時に日立が全社を挙げて"社会イノベーション"と言い出し始めた頃でもあった。まだあまり注目されていないアプローチは、今後極めて重視されるようになるはずだ、との強い想いがあったのだ。

CMOSアニーリングマシンは、ディープラーニングを動かすのにはあまり向いていない。機械学習の一部の処理をCMOSアニーリングマシンで最適化するのに使える可能性はあるが、CMOSアニーリングマシンは、あくまで最適化問題を解くためのマシンだ。もちろん機械学習の中でも、一部、最適化問題を解く必要はあるので、そこに使われることはありうる。しかしAIとは目的が根本的に異なるのだ。

AIは大量のデータの中から学習していき、その次にどうするという答えを見つけるのに適しており、アニーリングマシンは今あるデータの中から最適なパラメータを見つけ出す、というものである。状況が変わったら、その中から最適なものを見つけ出す。このため、AIは学習や推論を行うのに、大量の過去のデータが必要なのである。AIは過去のデータから最適なルートを導き出すことが得意な技術である。道路状況に応用する場合、過去の道路混雑情報の事例があり、何曜日の何時にはある道路が混むという事例がふんだんにあると、AIはその道路を避けることができる。が、通れるはずの道路で事故や災害が起きて突然通れなくなった場合にはAIは対応できない。過去一度も渋滞したことのない道路が渋滞している時には、正解を出すのが難しいのである。

これに対して、アニーリングマシンでは学習しないため、これから先の予測はできない。しかし、いま交通渋滞が起きているので迂回路を見つけたい、というときに、現在の最適なルートを出すことができるのがアニーリングマシンである。アニーリングマシンは突然の事故に遭遇した場合にどのルートが最適であるかを求めることができる。10分後に渋滞状況が変わり、もう一度最適ルートを知りたいといった場合にでも、求めることができる。今ある状況で最適なものを見つけることこそアニーリングマシンが得意なところだ。状況が変わった場合の最適なルート提案などを求めたいのであれば、ぜひ私たちに任せてほしい。

  • ページの先頭へ

他分野の研究者と共同開発する

実は、異分野の研究者と一緒に仕事をしていくには、最初は戸惑った。言葉と前提条件が違うのだ。

例えば、半導体エンジニアは、半導体メモリにはバラつきがあることが前提で話を進めているが、コンピュータエンジニアは、メモリは1か0の状態が出てくることが当たり前と考えている。半導体チップというと半導体エンジニアはシリコンチップをイメージして、それをパッケージに収め、端子をつけICをボードに実装するところまで想定するが、コンピュータの人は半導体チップというとパッケージに入った製品を想像するようだ。

また、ソフトウェアという言葉自体のイメージも違った。半導体回路エンジニアには、プログラムを書くソフトウェアには何かを自動的にやってくれるようなイメージがあった。コンピュータエンジニアは、ソフトウェアをどう切って、どこにソフトウェアのインタフェースを作るのか、という意識を持っていた。また、ソフトウェアはOSからミドルウェア、アプリケーションと階層構造になっており、同じソフトウェアでもインタフェースを意識することが重要と考えていた。

アプリケーションという言葉でも、半導体エンジニアは応用機器をイメージするのに対して、コンピュータエンジニアはアプリケーションソフトをイメージするのである。

これらのため、相手が言っている言葉がわからなかったり、こちらが当然と思っている言葉が相手に伝わらなかったりしたのだ。

  • ページの先頭へ

互いのプレゼンと議論で誤解を解く

このため、腹を割ったディスカッションが必要だった。お互いに学習し、学び合うということでそこを乗り越えてきた。こういった勉強会は研究所内で活発に行なっている。週に1回相手の技術に対して話してもらい、次の週に自分の技術を話す。定例のミーティングだとプロジェクトの進捗状況を話すことだけに終わってしまう場合が多いが、これではお互いの理解は深まらない。だからお互いに自分たちの技術について説明していくことを課してきた。

例えば週に2回ミーティングするなら、1回は進捗状況の確認に当て、もう1回は技術の説明の理解に当ててきた。今困っているところについて話すこともあった。互いの技術を見せ合う会議の頻度は、ほかの(研究)グループよりも多いと思う。フェイス・トゥ・フェイスで喧嘩していると思われるほど白熱した議論を重ねてきた。若い研究者も、この熱い議論にちゃんとついてきてくれた。彼らは彼らでいまだに輪講を続けて理解を深めているようだ。

基本的には実際のミーティングが重視されるが、場所が離れているメンバとは、最初にお互いに知り合えていれば、ウェブベースで会議する方が効率的な場合もある。私は東京の国分寺市にある研究拠点にいることが多いが、日立北大ラボとの関係もあり、北大電子科学研究所の客員教授も兼務している。このため、日立北大ラボのチームメンバーとの会議は、ウェブベースで行うことが多い。同研究所のデータ数理学研究分野の小松崎民樹教授と一緒に取り組んでおり、小松崎先生は実にオープンなマインドをお持ちで、こちらの研究をさまざまなところに広めてくださっている。小松崎先生は化学と数学を手掛けておられ、日立としては数学的に新しいことをやりたいので共同研究を始めさせていただいたのだが、今では、数学だけではなく情報学などにも協創の輪を広げさせていただいている。北大との拠点を作ったことで、当初はあまり想定はしていなかったが、北大内部との人脈も大きく広がっていったのである。

実は、北大との共同開発の場合でも、お互いの言語が違っていた。これまで私たちはあまり数式に神経を使わずにやってきたが、特に数学者は、方程式の定義から入る。ここでのギャップは大きかった。しかし、幸いなことに「通訳者」がいた。彼はもともと北大の研究者で日立に1年程度在籍し研究活動を行った後に北大に戻った人だ。日立の研究者が数式を立てると、彼が数式の厳密性を定義してくれ、北大との橋渡しをスムーズにしてくれた。これはとても助かった。

  • ページの先頭へ

拡張性を重視

素子がすべてにわたって繋がっているほう(全結合型)が情報を取り込みやすいというメリットがあり、最初の使いやすさは優れているかもしれないが、日立のCMOSアニーリングマシンでは、近くの素子同士だけがつながることを重視した。これは、全部が結合していると、それ以上拡張できない可能性があるので、将来にわたりコンピュータの規模を大きくしていく、という拡張性を重視して開発を進めたからだ。なぜ大規模化を重視したのかというと、最適化問題は規模が大きくなるにつれ、今のコンピュータでは解くことが難しくなるからだ。だから規模を大きくできる拡張性を重視した。より大規模な社会課題を解くため、いくらでも拡大していけるようにすることを狙ったのである。

この大規模化を選択することは、コンピュータと半導体のエンジニア同士で議論して決めた。全結合でないと使いづらいだろうという意見も開発の段階で根強く残っていた。ただ、そうするとハードウェアに乗りにくくなり、一番のメリットを消すことになるのではないかと危惧した。どちらにすべきかと議論する中で、全結合のマシンは、ソフトウェア的に日立のマシンに乗るようにソフトウェアを作ってカバーしようということになった。つなげて大きくできることが日立のマシンの大きな特長だからである。逆につなげられるということは、量子アニーリングに対してもメリットとなりうる。というのは、絶対零度近くまで冷却しなければならない量子アニーリングはチップを冷却器内に閉じ込めなければならないからだ。拡張するためにチップを冷却機外に置くことはできないのである。

イジングチップは、設定したスピン間相互作用や外部磁場に従い、スピン値の更新をデジタル回路で演算し、 エネルギー関数が低い方向にスピンの状態を更新する。

最後に、つながりと規模の関係について説明しておこう。例えば1Mビットと1Mビットがつながっていると、つながりの数は1T×繋がりの係数ビット数分が必要になるはずで、そうなるとRAMにすべての情報を置いておくことはできなくなり、HDDに置くことになると速度が落ちてしまのではないかと思うのだ。そうなると、従来のコンピュータシステムと同じになってしまうだろう。日立のマシンは、近くのつながりだけを重視しているので、多数並列に並べ、簡単に拡張していけるのが特徴だ。100Kビットのマシンでは、4Kビットのマシンを25個並べたマシンを作り、拡張できることを証明している。

  • ページの先頭へ

開発のターニングポイント

現在、CMOSアニーリングマシンのさらなる大規模化に向けた事業に向け、NEDO(国立研究開発法人新エネルギー・産業技術総合開発機構)のプロジェクトに参画し*1研究に取り組んでいる。これもISSCCでの発表を契機としたものだ。また、これまでなじみの薄かった日本物理学会や応用物理学会から招待講演の依頼を受けるようになり、今まで情報系の学会だけで発表してきた自分の世界も広がり、人と技術の広がりが急激に増えたのである。

*1
IoT推進のための横断技術開発PJ「組合せ最適化処理に向けた革新的アニーリングマシンの研究開発」に参画。

新しいコンピュータを1台作って見せるのではなく、みんなに使ってもらうことが重要なので、異分野の人たちとどうやって開発していくのかを一緒に考えながらやってきた。このターニングポイントで、そのための流れが加速され、幸いにもその目的を共有する人たちが増えたように思う。

私はあくまで一人のエンジニアで、現場で機械をいじることが自分の仕事で、これからも"モノづくり"を大事にしたいと思っている。

  • ページの先頭へ

次は実用化と大規模化

次のステップは、実際に多くの人にCMOSアニーリングマシンを使ってもらうこと。それを使って世の中が変わった、というところに持っていきたいと思っている。まずはアプリケーションを探していく。そのためには世の中のソリューションを作っている人たちと一緒に議論しながら作っていく必要があると考えている。逆に、アプリケーションを作っている人のマインド自体も変わって欲しい。そのチップならこの応用に使える、というこれまでの考え方から転換し、「こんなこともできるんじゃない?」というような、私たちが思いつかなかったような提案を待ち望んでいる。

マシン自体の次のステップは、大規模化がどこまで可能かを見極めることにある。ハードウェアとして作れることはわかったが、大規模化を進めても性能的に十分なものを実現できるのかどうか、を実際に確かめたい。そのために足りない技術などを補っていかなければならない。また、性能のベンチマークがまだできていないので、アニーリング技術の開発者同士で一緒に決めていこうという話が始まりつつある。どのような性能になればどのような問題がどのくらいで解けるのか、をぜひみんなで明らかにしていきたい。きちんと定義できれば開発は加速するだろう。

スタートレックのエンジニアの姿に感銘

写真:山岡雅直

研究者としてインパクトを受けた書籍がたくさんあるわけではないが、大学時代に見た「スタートレック」というテレビドラマにはかなり影響を受けている。
1960年代の最初のドラマではなく1987年に始まった、深夜に放送されていた続編のシリーズである。ドラマの中で科学的にしっかり作りこまれておりエンジニアがきちんとした仕事をしていた姿がカッコ良かったのだ。こんなエンジニアになりたいと思った。スタートレックは全巻DVDを持っている。
父親がエンジニアだったので、私も大学で理系を専攻した。オシロスコープが欲しいと言えば、父はどこからか古いオシロスコープを買ってきてくれた。スタートレックと父親の姿がエンジニアの道へ進ませたのだろう。


山岡 雅直 Yamaoka Masanao
エレクトロニクスイノベーションセンタ 情報エレクトロニクス研究部 主任研究員
博士(情報学)、IEEE会員

特記事項

  • 2018年7月13日 公開
  • 所属、役職は公開当時のものです。