2022年4月20日水曜日

控え目に量子コンピューティング入門(1)

 ディープラーニングに強化学習、それに自然言語処理の新しい技術を学びつつある中、「量子コンピュータ」には手は出さない(出せない)、と決めていたのですが、あるキッカケでそれは崩れました。今後少しづつ、それに関して書いて行きたいと思います。
 物理学は分からないが、(どの分野でもいいのだが)例えば、数学は勉強したことがあり、プログラミングもある程度できる。そういう人は、憧れの「量子コンピュータ」をすぐに利用できる時代に既になっていました!(うーん、遅れていた!)

 にわか勉強だが、量子コンピュータは、当初は「量子ゲート方式」と呼ばれるものだったが、これは外部のノイズの影響を受けやすく不安定なうえ、量子ビットも僅かしか作れないという難点があった。それに代わる「量子アニーリング方式」で稼働するシステムが2007年にカナダで初めて開発された。それがD-Waveというマシンだ。その後も、搭載量子ビット数の増大や、利用のためのソフトウェアの開発などが継続されている。また、量子ゲート方式の方も、「誤り訂正量子ビット」の方法など、多くの研究機関や大企業での研究開発が盛んになっている。

 一方、D-Waveのような量子回路によるのではなく、現代の先端半導体技術を駆使して量子アニーリング方式を実現し、多様な組合せ最適化問題の解決に供している企業もある。それには、日立製作所、富士通、東芝などが含まれる。その開発は、NEDOからの委託で行われたものもあるようだ。それらの研究開発成果をまとめて世の中へ還元すべく、Fixstars Amplifyという組織がこれらのマシンを一括して使えるようにしている。

 このFixstars AmplifyのWebサイトへ行けば分かるのだが、上記のD-Wave(量子回路)、日立CMOS Annealing Macnine(CMOS)など、5種類の専用コンピュータを誰もが無料で(一定の規約のもとで)使える!それらのハードウェア構成は各社様々であり、それぞれ特徴が異なる。にも拘らず、統一的なインタフェースで、どのマシンでも使えるAmplify SDKが提供されていることは素晴らしい!

 ここで解くべき問題は、エネルギー関数(コスト関数)と制約関数で表現する必要がある。さらに、それをイジングモデルと呼ばれる形式に変換する必要があり、そこにかなりの労力を費やすことになる。その際、スピンの論理的な接続関係を、マシン内の物理的な結線関係に直接的には写像できない場合もある。そんな難題も、Amplify SDK(Pythonで利用)が大幅に緩和してくれるのである。

 実際、小生はデモとして用意されている数例の組合せ最適化問題を、Amplify SDKによって、D-Waveマシン、日立CMOS Annealingマシン、Fixstars Amplify AEマシンの3機種で実行させ、それぞれの結果を得ることができた。例えば、有名なTSP(巡回セールスマン問題)は、64都市の場合でも、約700ミリ秒で答えが出た。こんなに手軽に、量子アニーリング型マシンを自宅から使えるとは、数週間前まで知らなかった。素晴らしい!

 だが、上記のAmplify SDKを利用するとしても、現実的な問題をこのようなマシンに乗せるのは、そんなに簡単ではなく、敷居は高い。そのため、例えば日立CMOS Annealingマシンでは、入門向けの親しみやすいWeb APIや、インタラクティブでビジュアルに係数設定ができるイジングエディタが提供されている。それでも、CやPythonやJavaを使った従来の一般的なプログラミングとはかなり異質なものである。実は、そこが楽しい!とも言える。新しいことへの挑戦のような気持ちになれる。だから、大学の卒業研究などにも活用できるだろう。

 少し覚めた見方をする人もいる。「従来コンピュータでは1億年かかるものが1秒で済む」みたいな言い方に反発しているようだ。確かにそれにも一理ある。というのも、天文学的な計算量になる、というのは最もナイーブな(全ての組合せをひたすら計算するような)方法を指している場合が多いからだ。例えば、上記のTSPの場合、実は非常に優れたアルゴリズムが存在しており、従来コンピュータでも短時間で処理可能なのに、それを無視している。それに加え、従来のアルゴリズムは通常、最適解を求めるように設計されているが、量子アニーリングはその性質上、必ずしもそうではなく、近似解になる場合も多い。だから、本当の意味での比較になっていないのだ、と。

 でも、未来は明るいように思う。

0 件のコメント:

コメントを投稿