現代社会には「最適な組合せ」が解決の鍵となる問題があります。例えば交通分野の場合、ある道路の交通量や信号機の設定などの最適な組合せがわかれば、渋滞を緩和させることができます。しかし、組合せの対象が増えれば増えるほど、問題はより複雑化し、難しくなります。複雑化した問題をいかにして効率良く解き明かすか。この難題に、日立はオリジナルの半導体を使った新概念のコンピューティング技術で挑みます。
林 真人(はやし まさと)
研究員
奥山 拓哉(おくやま たくや)
研究員
(2018年2月21日 公開)
林組合せ最適化問題を解くためのコンピュータです。社会の問題の多くは、「組合せ最適化問題」と呼ばれる問題に置きかえて考えることができます。例えば、流通分野でいうと、どの順番でお客さまのところを回れば最短の時間で荷物を届けられるか。金融分野でいうと、いろいろな銘柄がある中で、どの銘柄を買えば最大のリターンを得られるか。これらの問題が求めている解は、順番や銘柄の「最適な組合せ」です。そこでわたしたちは、組合せ最適化問題を効率良く解くためのコンピュータを開発しました。
林一般的なCPUベースのコンピュータでも、組合せ最適化問題を解くことはできます。しかし、問題の規模、例えば銘柄の数が増えると、考えられる組合せも爆発的に増加します。一般的なコンピュータの場合、大規模な問題を解くにはかなりの時間が掛かります。
奥山CPUベースのコンピュータはあらゆることを処理できますが、速度に限界がある。特定の計算だけなら、回路の工夫で一層の高速化を図れるのではと考えました。そこで、専用機を作ろうと。
林近年、CPUそのものの性能向上が限界を迎えつつあることも背景にあります。専用機によって、組合せ最適化問題を高速に低電力で、効率良く解くことをめざしました。
図1 イジングモデル
林イジングモデルという、統計力学の分野で磁石の性質を研究するために使われる数理モデルを使って問題を解いています。イジングモデルは、上下に向きを変えるスピンで構成されています。
通常、組合せ最適化問題を解くときは、いろいろな組合せを試しながらより良い解を探していきます。この処理をそのままやるのではなくて、まず、解きたい問題をイジングモデルの形にマッピングします。
奥山アニーリングと呼ばれる処理を実行することで、イジングモデルのエネルギーが最小になるようスピンの向きの 組合せを収束させることができます。わたしたちが開発したコンピュータは、この収束動作を半導体のCMOS(Complementary Metal Oxide Semiconductor)回路で再現しています。組合せ最適化問題をマッピングしたイジングモデルを、エネルギー最小の状態へと収束させる。こうして、エネルギーが最小になったイジングモデルの状態が、組合せ最適化問題の解を示すことになります。
林ただし、CMOS回路での収束動作には落とし穴があります。局所解と呼ばれる、エネルギーが最小ではない部分で動作が止まってしまうおそれがあるんです。そこで、局所解を抜け出し、より良い解を求めるための工夫も施しています。このように、CMOS回路でイジングモデルの動作を再現するための技術をCMOSアニーリング、そして、この技術を搭載した新概念のコンピュータをCMOSアニーリングマシンと呼んでいます。
林はい。実は、イジングモデルの性質を利用して組合せ最適化問題を効率良く解こう、という試みは広く行われています。例えば、カナダの会社は超電導回路を使ってこれを実現しました。しかし、超電導回路を使うには、非常に低い温度を保つ必要があります。となると、大きな設備が必要です。
そこで、日立では半導体に着目しました。方式が異なるため一概に比較はできませんが、半導体なら特別な冷却装置はいりませんし、量産もしやすい。こうしたメリットを持つ半導体と、イジングモデルによる新しい計算方式を掛け合わせたら、より実用性の高いコンピュータが作れるのではないか。こうした議論を出発点にして、新概念コンピュータの開発プロジェクトが立ち上がりました。わたしは、立ち上げの直後からこのプロジェクトに参画しました。
奥山わたしはプロジェクトが立ち上がった直後に入社して、以来ずっと、CMOSアニーリングマシンの開発を担当しています。林さんは主にハードウェア技術を、わたしはハードウェアを動かし、活用するためのソフトウェア技術を開発しています。
図2 第1世代のCMOSアニーリングマシン
林ハードウェアの部分、しかも、半導体チップから作りはじめました。これは珍しいことです。半導体チップは製造自体にコストが掛かりますし、時間も必要です。普通はシミュレーションを積み重ねてから半導体に着手することが多いと思います。
しかし、日立ではイジングモデルを使った計算の可能性を示すため、思い切って半導体から作りました。結果、高い電力効率で問題を解けることを確認できました。このとき作成したイジングチップを搭載したハードウェアを、わたしたちは第1世代と呼んでいます。
図3 第2世代のCMOSアニーリングマシン
第1世代では、特定の分野の問題を解くことに成功しました。実用化のためには、より汎用的に使える方式を検討する必要があります。そこで、FPGA(Field Programmable Gate Array)を使った第2世代のCMOSアニーリングマシンを開発しました。FPGAは作ったあとでも中の構造を変えられるため、さまざまな方式を試せます。量産されているのですぐに入手できますし、開発コストも抑えられます。
いまはこの第2世代を使って、ソフトウェアの拡充を進めています。しかし、ゆくゆくはまた専用の半導体チップを作って、CMOSアニーリングマシンの大規模化、省電力化をめざしたいと考えています。
林実は、チームの中で、半導体の専門家はリーダーだけだったんです。わたしたちの専門は情報分野でしたので、最初はハードウェアの扱い方がわからず、苦労しました。半導体チップを測定しようにも、測定用の機械にどうやってチップを載せるのかもわからなくて…載ったと思ったら、今度はピンが入らない(笑)。
奥山林さん、すごく苦労されていましたよね。でも、結構楽しそうでした(笑)。
林新しい分野への挑戦だったので、いろいろと細かいところでつまずくことはありました。でも、ものづくりはやっぱり楽しいと感じましたね。新しい分野で、半導体を作る経験ができるというのは、かなり恵まれていると感じています。
林はい。しかし、わたしたちがやるべきことは、まだまだたくさんあります。CMOSアニーリングマシンは新しい方式を採用したコンピュータですので、例えば一般的なコンピュータでいうところのOSのような、基本のところからソフトウェア技術を積み上げていく必要があります。
奥山CMOSアニーリングマシンの場合、主となるソフトウェア技術が二つあります。
一つは、イジングモデルをハードウェアに効率良く埋め込むための技術です。組合せ最適化問題をマッピングしたイジングモデルは、とても複雑な形をしています。これを、ハードウェアが表現可能な単純な形へと変換するアルゴリズムを開発しました。この技術は、CMOSアニーリングマシンに計算をさせるうえで通過点となります。いくら問題の規模が大きくても、ここには時間を掛けられない。高速に処理しつつ、複雑なイジングモデルをより良い形でハードウェアに埋め込むように工夫しています。
もう一つは、実際の社会の問題から解決すべき課題を組合せ最適化問題の形で抽出し、イジングモデルの形にマッピングする技術です。先ほどの技術がOSのようなものだとすると、こちらはアプリケーションに近い技術で、わたしたちがいま苦労しているところです。実際の問題はとても複雑で、そう簡単にマッピングできるものではなく…。
林荷物を届ける例を一つとってみても、「このお客さまには9時から12時までに行かなきゃいけない」とか「ここの交差点はいつも混むから通らない方がいい」といった、細かな条件がたくさんあります。こういう複雑な問題について、そもそもイジングモデルの形へのマッピングは可能なのか、というところから考えていく必要があります。考えた結果、残念ながらCMOSアニーリングマシンでの解決には適さなかった問題もあります。
図4 CMOSアニーリングマシンの技術レイヤー
林お客さまとの協業ですね。展示などで興味を持ってくださったお客さまと会話させていただく中で、CMOSアニーリングマシンでどういうことができそうか、を模索しています。このセッションを深堀していって、実際に「こういうことができました」と発表することが、1段上のステップに進むことなのかなと思っています。
奥山若い優秀な学生さんから新しい知見を得られたら、ということで、北海道大学とも協業しています。わたしたちがハードウェアからアルゴリズムまで幅広く開発しているのと同様に、北海道大学でもあらゆる角度からCMOSアニーリングマシンの可能性を探っていただいています。
林北海道大学と日立が共同で、プログラミングのコンテストも開催しました。Webサイトに問題を公開して、広く参加を呼びかけました。このコンテストは、先ほどお話ししたソフトウェア技術の一つ、イジングモデルをハードウェアに効率良く埋め込むためのアルゴリズムが対象です。このアルゴリズムの改良を目的としています。
林やはり、実際に現場でこういう課題があるよ、というところにしっかりと応えていきたいですね。
奥山ハードウェアはできてきて、周辺のソフトウェア技術もそろいつつあると。残すは、具体的なお客さまの問題を解くというところだと思います。自分たちで用意した問題ではなくて、実際の社会の問題を解きたい、というのが将来の展望です。
奥山わたしは入社前の面接で「情報と物理、両方にまたがるようなことがやりたい」と述べました。そしてまさに、情報だけでもないし物理だけでもない、両方融合したようなプロジェクトにかかわっています。今後も両方にまたがって、何か面白く、世の中に喜ばれるようなことをやっていけたらと思っています。
林「お客さまがこういうことで困っている」と聞いたとき、わたしたちのコンピュータでは解決できなくても「この分野のものを使ったら解決できるのでは」という気付きを得ることがあります。自分の知っていることやできることを生かして、困っている人の役に立てたらうれしいです。