Googleが量子超越を達成 -新たな時代の幕開けへ(後編)
前編では、量子超越性実証の概要と意義に触れた。後編では、Google が具体的にどのように量子超越性を示したかについて解説し、量子超越性実証後の次なるマイルストーンがどのようなものになるか考察する。
量子超越性実証のアプローチ:ランダム量子回路サンプリング
Googleの研究チームが量子超越性を示すために考えた巧妙な問題設定は、「ランダム量子回路サンプリング」と呼ばれる計算タスクである。(Google AI Blog (2018.5.4) “The Question of Quantum Supremacy”)
「ランダム量子回路サンプリング」の手順は、具体的には次のとおりだ。
まず、量子コンピュータでランダムなビット列を出力する計算を行うプログラムを作る(量子コンピュータで計算を行うためのプログラムは、「量子回路」という形式で書かれる)。次に、そのプログラムを量子コンピュータに送信し、プログラムを実行する。
量子コンピュータは実行結果を0と1のビット列として出力する。例えば、10量子ビットを使った場合の出力は、「0100101110」や「1011010100」という風に表される。量子超越性の実証のための計算タスクでやるべきことはこれを繰り返すだけで、何かの問題を「解く」ものではない。
Googleの研究チームは、この計算タスクを53量子ビットの量子コンピュータ「Sycamore」で実証実験に挑んだようだ。Sycamoreが出力する計算結果も、単に0か1の数字が53桁並ぶだけの数字の列だ。53桁のビット列は2の53乗通り(=約9000兆通り)という途方もない種類の出力が可能で、プログラムを実行するたびに全く違ったビット列が出力されることになる。
さて、ビット列が繰り返し出力されるわけだが、実はどのビット列も同じ確率で均一に出現するわけではない。実は、量子コンピュータ上では計算途中の情報は波で表され、その波に量子力学的な波の干渉が生じた結果、ある特定のビット列は他のビット列と比べて高確率で出現することになる。
Googleの研究チームは、量子コンピュータから出力されたこれらの無数のビット列を集計し「クロスエントロピーテスト」と呼ばれる方法で検証を試みた。これは、出力されるビット列の出現確率を合計するような単純な計算で、その合計値がある閾値を超えればテストは「成功」と見なされる。
一方、スーパーコンピュータによる答え合わせは容易ではない。スーパーコンピュータは量子コンピュータに送信されたプログラムの情報を元にシミュレーションを行い、量子コンピュータからの出力との一致を確認する必要がある。
Googleの研究チームは「ランダム量子回路サンプリング」プログラムのうちごく一部を取り除いたり、順番を入れ替えることによってわざと計算を簡単にすることによって、53量子ビットで同じ深さの計算をスーパーコンピュータでシミュレーションし、十分高い精度でシミュレーション結果と量子コンピュータの出力が一致することを検証した。
取り除いた回路をいれた場合や、順序を入れ替えた時にも同じような精度でサンプリングができていると仮定すると、もはやスーパーコンピュータでも1万年かかってしまうようなサンプリングが量子コンピュータでは達成されていること、つまり量子超越性が間接的に検証されたことになる。このような仮定が正しいかどうかということ自体も、フルシミュレーションができる量子ビットが少ない場合において検証済みだ。
量子超越性を示す実験では、スーパーコンピュータのシミュレーションでは1万年かかると予想される100万回のサンプリング問題が、量子コンピュータ実機なら200秒動かせばこのサンプリング結果が得られることが示された(もちろん、実際にスーパーコンピュータで1万年も計算しているわけがないので、この計算所用時間はあくまでも見積もりである)。
Googleによる量子超越達成手法の説明(図はGoogle AI Blogから引用)。
- 同じサイズ(※1)の2つの量子回路(量子コンピュータ上のプログラム)を用意する。ここで図の「Hard」が量子超越を示したい計算困難な回路であり、そこから一部の計算プロセスを省く等して簡単化したものが「Simplified」である(※2)。
- 双方の量子回路を量子コンピュータSycamoreで実行する。
- Symplifiedの場合について、古典コンピュータでも計算し、フィデリティ(忠実度:量子回路の計算の正しさ)を算出する。
- Hardの場合について、3.と同じフィデリティを得るために古典コンピュータで必要な計算時間を見積り、量子コンピュータより長い場合、量子超越とみなす。Googleによる実験では、このHardの回路について量子コンピュータ上で200秒で計算が完了した一方、世界最速のスーパーコンピュータ(古典コンピュータ)を用いたシミュレーションには10,000年かかると見積もられ、量子超越の達成が結論づけられた。
※1 ここでサイズとは量子ビット数や量子操作の回数のこと。量子回路のサイズが大きい程計算が困難。
※2 この時点で、まずHard/Simplified双方とも古典コンピュータでもシミュレーション可能な小さいサイズの回路について計算し、両者が同様の結果を与えることを確かめておく。その後、Simplifiedのみ古典コンピュータでシミュレーション可能となるよう双方の回路のサイズを大きくする。
このアプローチにより、「ランダム量子回路サンプリング」という計算タスクを実際に解かずして、量子コンピュータがスーパーコンピュータよりも圧倒的に高速であることを間接的に実証したのである。
ここで注意する必要があるのは、この数年の量子コンピュータにはノイズがあるということだ。(詳しくは量子コンピュータの現在とこれからを参照)
ノイズを考慮すると、古典コンピュータである程度"雑に"出力分布を計算しても、正確性において量子コンピュータで計算された出力分布を上回ることができる。つまり、ノイズが一定レベルまで低減できない限りは、量子超越を示すことは難しいとされていた。
Sycamoreでは53量子ビットで1量子ビットゲートのエラー 平均0.15% , 2量子ビットゲートのエラー平均0.36%と他社より約1桁低いエラー率を実現している。この高精度の操作によって、古典コンピュータで予測できないより正確な出力分布になり、量子超越が実現されたのである。
(量子超越の解説を行っているGoogle AI QuantumのYoutubeも参照)
(より技術的に正確な説明は「量子計算機が古典計算機より優れている」とはどういうことかを参照)
実用の問題と量子超越
ランダム量子回路サンプリングは、実世界で役に立つ問題を解いているわけではなく、今回発表された量子超越の実現が、我々の生活に直ちに役に立つものではないと前編で述べた。この項では、産業で必要とされる現実的な問題を解く場合において、量子コンピュータが古典コンピュータをいかにして上回ることができるかについて触れていく。
例えば水分子の最も安定した状態(基底状態)のエネルギーを高精度で求めたいとしよう。これは量子コンピュータで求める手法がある。
その手法を用いて、水分子のエネルギーが求まる量子回路をスーパーコンピュータでシミュレーションして求めた場合と量子コンピュータを実際に使った場合を比べた時、量子超越が示された今、量子コンピュータを使った方が、量子回路から水分子のエネルギーを計算する方が高速になる。
ただし、水分子のエネルギーを求める方法は量子回路を使わなくても良い方法が多くあり、現在のコンピュータ上で動く良いアルゴリズムを使えば量子コンピュータより速く水分子のエネルギーを知ることができる。逆に古典コンピュータしか持っていない人が、問題を量子回路で実行可能な形に変換し、量子回路シミュレータで解くことはないだろう。
このように、問題に何か意味を付与した場合、解き方は千差万別である。量子コンピュータが、何らか実用上意味のある問題で、現在のコンピュータを上回るためには、もう少し時間を要するであろう。
量子超越の実現後の量子アルゴリズム研究
量子超越はすぐに産業上役に立たないが、何かしらの計算で量子コンピュータが古典コンピュータを越えたことは大きな意味を持つ。
意外に思われるかもしれないが、量子コンピュータのアルゴリズム研究者が新アルゴリズムを開発する際には、実際の量子コンピュータではなくシミュレータを使っていることがほとんどである。
量子コンピュータは、qubit数が少ない領域であればシミュレータでノイズのない理想的な量子コンピュータの振る舞いを正確にシミュレーションできる。そのため、新規アルゴリズムを開発する際には、まずシミュレータを使ってそのアルゴリズムの有用性を調べることが定石である。
なぜなら、新しいアルゴリズムを思いついても往々として最初の実験は上手く行かない。その時に実際の量子コンピュータを使っていたら、それがアルゴリズムの問題か、それともノイズの影響かが区別がつかないからだ。
これまでは、量子コンピュータの実機で実行できる回路が、シミュレータで推測できる領域にあったため、量子コンピュータを使用するということは、計算結果が分かった問題の実証実験でしかなかった。
そのような実証実験の中で、ノイズの影響で理想的な答えが出力されないため、いかにノイズの影響を軽減するのかの手法が開発されてきた。(具体的な手法はQuantum computational chemistry 6章参照)
今回の量子超越の達成により、量子コンピュータはこれまでとは異なる領域に進んだ。つまり、「シミュレータによって量子コンピュータの振る舞いを予想できる」という領域から、「量子コンピュータの実機を使わないかぎり検証不可能な実験が行える」領域に突入した。
ただし、今後数年の量子コンピュータにはエラー訂正の能力がないため、量子コンピュータが出した結果が正しいかどうかまでは保証されていない。これについては、都度専門家の判断が必要になるだろう。
量子コンピュータ研究の次なる目標
量子超越の次のマイルストーンは、実際の問題で量子コンピュータの方が速く・高精度で解けることを示すこと、すなわち、「量子加速」の達成である。何か1つ意味のある問題を解く時に、最高性能の古典コンピュータとベストなアルゴリズムを用意して、量子コンピュータとベストな量子アルゴリズムを競わせて量子コンピュータが勝つことを量子加速:Quantum Speedup(またはQuantum Advantage)という。
量子加速の実証に向けては、量子コンピュータの量子ビット数を多くし、エラー率を下げることが必要とされる。また、それと同等に重要なのは、良いアルゴリズムを見つけることである。ハードウェアとアルゴリズムの双方が高度に進化することにより、量子コンピュータを使った方が優位な問題が増える。このようにして、量子コンピュータが適用されるべき「実際の問題」が増加することで、量子加速が達成されやすくなる。そして、量子加速が達成されることではじめて、実用的なアプリケーションを捉えていくことができる。
Googleは、このような量子コンピュータの実用的なアプリケーションの最初の登場を2022年だと予想している。
量子超越を示したNatureの論文は以下の言葉で締められている。
As a result of these developments, quantum computing is transitioning from a research topic to a technology that unlocks new computational capabilities.
今回の開発(量子超越を示したチップの開発)によって、量子コンピュータはただの研究トピックの域を越え、不可能であった計算を可能にするテクノロジーの領域に達した。
We are only one creative algorithm away from valuable near-term applications.
価値のあるアプリケーションにたどり着くまでに、1つ足りないものは創造的なアルゴリズムだ。
量子コンピュータと言えばハードウェア開発をイメージされる方が多かったが、量子超越が実証された今、次のマイルストーンである量子加速を実現するためには、ハードウェア開発と同等かそれ以上に、良いアルゴリズム開発し、このデバイスをどう上手く使うか考えることが重要になる。
さあ、新たな時代の幕開けだ。
QunaSysでは世界初の量子加速の実証を目指した研究とその後の産業活用フェーズを見据えて量子コンピュータを簡単に使えるツールの開発を行っています。
第一原理計算(量子化学・物性物理)などの専門的な知識を持った人材を積極的に採用しています。
気軽にお問い合わせください。
https://qunasys.com/career
トップの写真はGoogle AI Blogから引用