量子コンピュータ開発の現状
量子コンピュータとは
本題の前に簡単に量子コンピュータについて。
量子コンピュータとはその名の通り量子力学を応用した原理で動作するコンピュータのことです。現在ひろく使われているコンピュータに対し指数関数的な性能向上が理論上は実現可能であることから注目を集めています。
量子コンピュータの計算には量子重ね合わせという量子力学の性質を利用します。従来のコンピュータ(これより古典コンピュータと呼びます)はビットを基本単位として計算を行いますが、このビットは 0 または 1 の値しかとらず、全ての計算はこの 0 と 1 の配列をもとに行われます。これに対し、量子コンピュータは量子ビット(qubit; quantum bit)を基本単位としています。この量子ビットに特殊な操作を加えることにより、0 と 1 が重なり合った—0 であると同時に 1 でもある—状態にすることができます。この状態の量子を使って計算を行うことにより、古典コンピュータでは 2 の n 乗回必要だった計算をたった一回で行うことが可能になります。
もうひとつ、量子コンピュータの特徴的な性質として計算結果が確率的であることがあげられます。一回の計算で得られた解が必ずしも正しいという保証はなく、何度か計算を繰り返して解の精度を高める必要があります。複数回の試行には時間がかかるとはいえ、定数倍の計算量が必要になるだけなのでそれでもやはり古典コンピュータよりも量子コンピュータの方が高速に動作します。
量子コンピュータ開発の歴史
1980 年代に Paul Benioff や Richard Fyneman がその有効性を予測して以来、実現に向けた研究が続けられています。
数ある研究の中でもっとも注目を集めたのが 1994 年に Peter Shor が考案した「ショアのアルゴリズム」です。内容としては、量子コンピュータにより素因数分解を高速に解くアルゴリズムを発見した、というシンプルなものですがとても重要な意味を持っています。素因数分解は数が大きくなればなるほど計算に時間がかかるようになります。十分に大きな数の素因数分解を古典コンピュータ(スーパーコンピュータであったとしても)で解こうとすると何万年という時間がかかるため、現実的には計算不可能です。この性質を利用したのが RSA 暗号という、現在インターネットでもっとも広く使われている暗号化技術のひとつです。ショアのアルゴリズムは量子コンピュータが実現した際には RSA 暗号が破られるということを示しており、この発見により量子コンピュータ研究はさらに注目を集めるようになります。
その後はしばらく基礎研究で進展をみせるものの、実用化という面では大きな変化がなく 2010 年代を迎えます。そして 2011 年 5 月、突如カナダの D-Wave Systems という企業が「世界初の商用量子コンピュータを開発した」と発表し世間を驚かせます。その後 IBM や Google などのハイテク企業が商用利用のための開発に参加し、量子コンピュータを実際にビジネスに利用するための開発競争が加速します。
2019 年の 10 月には、Google が世界で初めて量子超越性—量子力学を利用した計算機で古典コンピュータでは解決不可能な計算を行うこと—を達成したと発表1。これは量子コンピュータ研究におけるひとつのマイルストーンとみられています。
量子コンピューティングに取り組む企業
現在商用の量子コンピュータを開発、またはクラウドサービスとして提供している主な企業を紹介します。
D-Wave Systems
先ほども登場しました D-Wave Systems は 2011 年 5 月、世界初の商用量子コンピュータとして D-Wave One を発表2しました。
現在量子コンピュータの実装方式として主流なのは量子ゲートと呼ばれるものですが、D-Wave が採用しているのは量子アニーリングと呼ばれる方式です。この方式は量子ゲート方式に比べると解決可能な問題の種類は制限される一方、量子の状態を管理するのが容易というメリットがあります。量子ゲート方式が現在 50~100 程度の量子ビットしか扱えないのに対し、D-Wave は 2000qubit を達成しています。
先月には量子優位性—量子コンピュータが古典コンピュータの性能を上回ること、量子超越性よりも弱い概念—を発表3しており、量子コンピュータの実用においては一歩抜け出しています。
D-Wave はクラウドコンピューティングサービスである Leap2 を提供しているほか、のちほど紹介する Amazon Braket からも利用可能です。
先にも述べましたが、Google は 2019 年の 10 月に「量子超越性を達成した」と発表しました。Google はこの証明のため Sycamore という量子ゲート方式のプロセサを開発、Summit—当時世界でもっともパワフルなスーパーコンピュータ—が 10,000 年かけて行う計算を 200 秒で完了したという実験結果を示しました。
この Sycamore プロセサは NISQ(Noisy Intermediate-Scale Quantum)というアイディアにもとづいて開発されています。この NISQ というのは理論物理学者の John Preskill が 2018 年の論文4で発表したもので、 (a) Noisy、つまりエラー耐性を実装していないことと、 (b) 中規模なサイズ(50~100qubit) な点が特徴です。Google はこの NISQ という考え方をベースに Sycamore プロセサを開発し、53qubit での計算を行いました。
Sycamore プロセサは Google のクラウドサービスである Quantum Computing Service で利用可能となっていますが、一般にはまだ公開されていません。また Google は量子コンピュータ利用を支援するツールとして Cirq SDK や OpenFermion といった OSS を公開しています。
Honeywell
電子機器関連の老舗 Honeywell はイオントラップ型と呼ばれる方式を使った量子コンピュータを開発しています。
イオントラップはその名のとおり、電磁場を使ってイオンを閉じ込める方式です。このイオントラップ型は (a) 他の方式に比べて計算の精度が高いことと、 (b) コンピュータを大規模化するためのアイデアが構築されていること から有力視されている方式のひとつです。
量子コンピュータの性能を測る指標のひとつに Quantum Volume というものがあります。これは IBM が提唱した指標で、量子コンピュータの動作方式によらず計算できるように定義されています。この Quantum Volume で高い値をだすためには量子ビット数が多いことももちろんですが、エラー耐性が高いということも大事な要因です。これまでの最高値は昨年 Honeywell が出した 128 という値でしたが、Honeywell は今月この数値を更新、512 という値を得たことを発表5しました。Honeywell のシステムは他社に比べ量子ビット数は小さいため、量子ビット数を増やすことよりもエラー耐性を向上させることに力を入れていることが伺えます。
Honeywell のハードウェアは Microsoft Azure から利用可能となっています。
IonQ
IonQ は Honeywell と同様にイオントラップ型の量子コンピュータを開発しています。先日 SPAC スキームを使って上場することが発表6されましたが、これは量子コンピューティング関連企業としては初となります。
昨年の 10 月にそれまでの 11 量子ビットシステムからほぼ 3 倍となる 32 量子ビットのシステムを発表7しました。その発表の中には Quantum Volume で 4,000,000 を達成したという驚くべき内容も含まれています。Honeywell や IBM とは異なる計算の仕方をしているので単純に比較することはできませんが、計算精度が高いという彼らの主張を裏付ける数値と言えそうです。
また、IonQ が昨年発表したロードマップ8によると 2023 年には量子コンピュータのデータセンターを作ることも予定しています。
IonQ のハードウェアは Amazon Braket や Microsoft Azure のクラウドサービスから利用可能なほか、直接パートナーシップを結ぶことで利用が可能です。
IBM Quantum
IBM は 2016 年に超伝導型量子コンピュータを利用したクラウドサービスである IBM Quantum を発表しています。
彼らは Python をベースにした SDK である Qiskit フレームワークを公開しているのに加え、Qiskit をベースにしたビジュアルプログラミングプラットフォームの Quantum Composer というサービスを提供しています。インタラクティブなツールにより、より直感的に量子コンピュータの操作を学ぶことができます。
IBM の量子コンピュータ開発に関するニュースの中で注目したいのは昨年の 9 月に発表したロードマップ9です。そのロードマップによると IBM は今年には 127qubit のシステムの実現を予定しています。Google の Sycamore が 53qubit で量子超越性を達成したことを考慮すると、同じく NISQ を採用する IBM がどこまで性能をあげてくるか注目です。また 2023 年には 1,000qubit を達成すると計画しています。
Amazon
Amazon は 2019 年の 12 月にクラウド量子コンピューティングサービス、Amazon Braket をリリースしています。Amazon 自身が量子コンピュータを開発するのではなく、量子コンピュータを開発する他社とパートナーシップを結びそのリソースを AWS 上で提供する形をとっています。Rigetti(超伝導型)、IonQ(イオントラップ型)、D-Wave(量子アニーリング型)とそれぞれ異なる方式を採用する会社と提携してサービスを提供しているのが特徴です。昨年の 8 月には一般公開をしており、誰でも利用することが可能です。また、シミュレータ上でプログラムを実行することもできます。
サポートツールとして Amazon が提供する Amazon Braket SDK や D-Wave が開発する Ocean SDK の他、PennyLane ライブラリをサポートしています。この PennyLane は Xanadu 社が開発する SDK で、量子コンピュータを利用した機械学習(量子機械学習)を記述するためのものです。
料金体系は 1 ショットあたりの値段と 1 タスクあたりの値段からなります。ショットは 1 回の求解を表す単位です。先に述べたように量子コンピュータの計算は確率的なため、同じ計算を何ショットも繰り返し解の精度を高める必要があります。そうして何千、何万ショット繰り返して解を得る操作を 1 単位としてタスクと呼びます。一例として D-Wave で 1 タスク、2000 ショットの計算をおこなった場合、D-Wave の 1 タスクあたりの料金は$0.30、1 ショットあたりの料金は$0.00019 となっているため、1 task * $0.30 + 2,000 shots * $0.00019 = $0.68 となります。
Azure
Microsoft も Amazon と同様にクラウドプラットフォームである Azure 上で量子コンピューティングサービス Azure Quantum を提供しています。利用可能なハードウェアは Honeywell、IonQ、Quantum Circuits から選択可能です。発表以来 Early Access のステータスでしたが、先月一般公開となり誰でもアクセスすることができます。
Microsoft は Q#言語とその SDK を開発、提供しています。SDK にはシミュレータも含まれているためローカルマシンでプログラムを実行することも可能です。
料金は IonQ のシミュレータで 1 時間あたり$3,000 となっています。
また、Microsoft は独自の量子コンピュータを製造する研究開発も進めていますが、こちらは少し難航している模様です。2018 年の 3 月にデルフト大学のカウウェンホーフェンがマヨラナ粒子—その存在を予想したイタリアの物理学者にちなんで名付けられた—の存在を確認したという論文を発表します。Microsoft はこのマヨラナ粒子を利用した量子コンピュータの開発を進めてきましたが、現在この 2018 年の論文に疑問が投げかけられており、もしマヨラナ粒子が存在しないということになれば量子コンピュータ開発の計画が大きく後退することは避けられないでしょう。
おわりに
昨年末には中国が独自に開発する光子を利用した量子コンピュータで量子超越性を達成したことを発表10しました。量子超越性とその先にある万能量子コンピュータの実現に向け、各社・各国開発競争を進める中でどうエラー耐性を獲得していくのか。今後も量子コンピュータ関連の話題から目が離せません。