大阪大学(阪大)とセックは6月17日、量子計算と古典計算を掛け合わせた協調処理を行う「量子古典ハイブリッドアルゴリズム」(以下、「QCHA」と略)を実行する機能を開発し、阪大の量子コンピュータ・クラウドサービスにて提供を開始したことを共同で発表した。
同成果は、阪大大学院 基礎工学研究科の御手洗光祐准教授(阪大 量子情報・量子生命研究センター(QIQB)兼任)、QIQBの森俊夫特任研究員(常勤)、同・束野仁政特任研究員(常勤)、同・桝本尚之特任研究員(常勤)、同・宮永崇史特任研究員(常勤)、セックの内田諒主任らの共同研究チームによるもの。
現在の量子コンピュータはノイズ耐性の機能が備わっておらず(ノイズの影響が大きい)、限定的な規模の計算しかできない。そこで古典(既存)コンピュータの力を借りることで、本来は現在の量子コンピュータでは扱えないような大きな計算も実行できるようにしたのがQCHAだ。本来の大きな計算を分割し、ノイズの影響が少ない小さな計算にし、その1つを量子コンピュータで実施。その結果を古典コンピュータが処理し、さらに次の量子コンピュータで計算する分割した小さな計算の1つを決める、というのを繰り返し、最後は計算結果を足し合わす。計算内容にもよるが、QCHAでは量子コンピュータと古典コンピュータの計算を数百回~数万回繰り返すことがあるという。
なお、ユーザが量子コンピュータで計算を行う際は、ジョブという単位で実行する。量子コンピュータは複数のユーザが共用しているため、他のユーザもジョブを実行しようとしている場合は順番を待つ必要がある。これは、1つの窓口に対して複数のユーザが列を作って並んでいる状況で、混雑状況にもよるが、ジョブが実行されるまで十秒~数時間程度待たされる。
これまで、QCHAでは、古典コンピュータによる計算をユーザのコンピュータで実行しており、量子コンピュータで繰り返し計算を行う際にジョブを何度も実行する必要があった。そのため、QCHAをクラウド経由で実行する場合には膨大な待ち時間がかかることがあり、利用する上での大きなボトルネックになっていたのである。そこで研究チームは今回、その問題の解決を試みることにしたという。
今回の研究では、QCHAの協調処理を高速化する機能が開発された。具体的には、同アルゴリズムのジョブを実行する際に量子コンピュータを専有し、何回も順番待ちすることなく計算する。また、古典コンピュータによる計算はユーザのコンピュータではなく、サーバ側のコンピュータで実行する。この機能は「SSE」(Server Side Execution)と命名された。SSEの動作の流れは、以下の通りだ。
- ユーザは、QCHAを実行するPythonスクリプトを作成
- 作成されたPythonスクリプトをジョブとしてクラウドに送信
- クラウドでは他のユーザとの順番待ちが行われる
- 実行する順番になると、阪大の実験室にあるコンピュータのコンテナ内でPythonスクリプトが実行される(同スクリプトの実行中は量子コンピュータは占有され、他のジョブが順番待ちになる)
- Pythonスクリプトの実行が完了すると、クラウドを通じてユーザに結果が返され、また量子コンピュータの占有状態が開放され、他のジョブを実行できるようになる
QCHAでは、サンプリングと期待値推定を行うことが多いが、SSEではそれら以外のPythonスクリプトも実行可能だ(ただし、セキュリティ制限と実行時間制限が設けられており、制限なく自由に実行できるわけではないという)。
なお、同じような機能を持つサービスとしては、IBMの「Qiskit Runtime」やAWSの「Amazon Braket Hybrid Jobs」がある。
前者は、サンプリングと期待値推定という決められた操作のみサーバで実行が可能で、後者は、クラウド上でPythonスクリプトを実行する仮想環境を立ち上げ、その中で実行されることから、今回のものと近い仕組み。今回開発されたものでは、量子コンピュータに近いサーバのセキュリティ対策が施されたコンテナ上で実行される。そして、量子コンピュータ実機を専有するため、より効率的な処理が可能となっているとした。
今回の研究成果により、量子コンピュータ・クラウドサービスを使ってQCHAを現実的な時間で効率的に実行することができるようになった。これにより、QCHAを利用した研究の加速が期待されるとしている。