Googleの量子優越性達成の発表とそれに関連する議論について、2020/02/17マルレク聴講内容よりまとめ

1. 本記事の内容

本記事は、2020年02月17日に開催されたマルレク@DMM「量子コンピュータの現在」を聴講して菊地が理解した内容についてまとめたもの+菊地の所感云々を記したものです。


丸山先生の解説を聞いて、Googleの量子優越性達成の発表内容についてある程度理解できた(つもり)なのと、それに付随する形でゲート型量子コンピュータの動作概要のようなものも理解できた(つもり)ので、それを本件に興味のある方にも伝えたいと考えて書いています。

(菊地の理解が間違っている、あるいは言葉が不十分な可能性もありますので、内容についてより詳しく知りたい方、気になる方は冒頭のリンクから辿れるマルレクのオリジナル資料やPodcast、また下記本文内でも紹介しているオリジナルの資料をあたってください。)
(また、本内容は、ゲート型の量子コンピュータについて述べています。私が時折書いている(量子)アニーリング型コンピュータの話とは異なりますのでご注意ください。)

2. まずは結論:量子優越性は達成されたのか?

 2019年10月23日にGoogleが量子優越性を達成したと発表したこと、またその直後にIBMが、そうではないと反論的な発表をしたことについては、量子コンピュータに興味関心のある方なら認識されていると思います。しかし、オリジナルのGoogleの論文を読んでみても、あるいは読もうとしても内容がよく理解できなくて、実際のところがどうなのかよくわからない、という人もいるでしょう(私がそうです)。

結論から書いてしまいますが、Googleの量子優越性を達成したという主張は正しいと思われます。IBMの反論はロジカルではなく、多分に経営的判断による牽制と考えられます。はっきり言えばイチャモンですね。

3. 量子優越性達成を理解するための前提知識

まず、Googleの量子優越性達成の論文内容を理解するために必要な前提知識について説明します。

 3.1 前提知識1:量子優越性とはなにか。何ができれば量子優越性なのか。

定義を正しく理解しないと、それが達成されたのかされていないのか正しく判定できません。後述しますが、IBMの反論はこの量子優越性の定義を曲解することによりなされています。

「量子優越性」という言葉は、2012年にカリフォルニア工科大学のプレスキル教授が発表した論文において定義されています。

この論文内で「Classical systems cannot in general simulate quantum systems efficiently. (古典システムは、一般には、量子システムを効率的にはシミ レートできない)」と書かれています。つまり、古典システム(古典コンピュータ=現在のコンピュータ)では量子コンピュータが実施できる計算を効率的には計算できないということが明らかになること、が量子優越性と定義できます。重要なのは「efficiently(効率的に)」です。プレスキルは量子コンピュータでなければ計算できない(古典コンピュータでは計算できない)計算ができなければ量子優越性ではない、ということは言っておらず、古典コンピュータでもすごく時間をかければ計算できるが量子コンピュータであればすごく早く計算できる、ということが明らかになればそれが量子優越性であるという意味なのです。ここが重要なポイントです。

 3.2 前提知識2:ゲート型量子コンピュータの動作概要

もう一つ、Googleがどのように量子優越性を達成したかの手段を理解するために、ゲート型量子コンピュータの動作概要を理解する必要があります。
以下の説明では、量子コンピュータ(量子ビット)の原理をある程度知っていることを前提としています。また古典コンピュータの計算方法をアナロジーとして用いてもいます。それらを知らない人には理解が困難かもしれません。

ゲート型量子コンピュータでは、量子ビット(Qubit)をnビット連ねることで2^n(2のn乗)ビットの状態を同時に保持することができます(図1)。ゲート型量子コンピュータでは、この量子ビットに対して、単体、もしくは複数量子ビット間の相関で量子ビット内容の状態を変化させる処理を適用することができ、これが演算に相当します(図2)。この演算処理は、古典コンピュータのAND/ORなどの演算に相当するビット演算だけではなく、量子ビットに対する非デジタルな(1,0でない、アナログ的な)変換処理を含みます。この量子演算は量子ビットの重ね合わされた状態に対して作用するように適用されます。その結果として量子コンピュータは複数の状態を同時に保持し計算を進めることができます。結果として、2^n乗の状態を同時に演算できることに相当するのです。この点が量子コンピュータが古典コンピュータと大きく異なる点です。

マルレク資料64P

図1:n量子ビットの重ね合わせによる状態保持(マルレク資料より)

マルレク資料76p

図2:量子ビットに対するゲート処理(1量子ビット演算)(マルレク資料より)

なお、この量子ビットに対して状態を変化させる処理のことを「ゲート」あるいは「ゲートを通す」と呼び、これがゲート型量子コンピュータの名前の由来です。

ゲート型量子コンピュータを装置的な側面から見てみましょう。量子コンピュータでは、物理的な制約から量子ビットの状態をコピーしたり他の場所に転送したりすることができません。このことから、装置内で(イオントラップ方式や超電導方式などで)固定されている量子ビットをまず(何らかの値に)初期化し、次にゲート処理(=量子ビットの状態を変化させる処理)を繰り返し適用し続けることで演算を進めます
古典コンピュータにおいて、レジスタに保持されているビット状態を演算回路に転送し何らかのビット演算をしたものを再びレジスタに戻す、という基本動作とは、言ってみれば逆になっています。レジスタが中心でそれに対してビット演算を適用するという動作・構造なのです。

図3はGoogleの量子コンピュータ関連のBlogページに公開されているもので、ゲート型量子コンピュータの演算過程を模式的に表したものです。

画像3

図3:ゲート型量子コンピュータの演算過程の模式図

左側奥に量子ビットが格子状に並んでいます。これが初期状態で、ここから図右手前に向けて1ステップずつ演算が進んでいく様子が表されています。最初のステップではHというゲート処理を全量子ビットに対して適用しています(初期化に相当)。その次はビットごとに異なる種類のゲート処理(T,CZ,Y,Xなどが見えると思います)が適用されています。ビット間にまたがった処理もあります。次の段も同様に演算が適用されており、最終的には5段階のゲート処理が適用されて、最後にその結果が観測(赤い箱の処理)されます。

(なお、H,CZ,Y,Xなどの量子ビットに対する演算処理の具体的な内容はここでは理解しなくても大丈夫です。量子コンピュータの演算の種類や内容については、Wikipedia:量子コンピュータ工学者のための量子計算
基礎の基礎
、など様々な解説がありますので興味があれば参照してみてください。)

ゲート型量子コンピュータでは、計算過程の一番最後に量子ビットの状態を取得(これを観測といいます)する処理を実施します。観測すると複数の状態が重ね合わさった状態は失われ、どれか一つの状態のみが観測されます。ここでどの状態が観測されるかは、もともとの量子ビットが保持していた状態の確率に依存します。そこで全く同じ演算処理を何度も繰り返し、何度も結果を観測することでその計算結果の確率分布を把握します。これが重ね合わさった状態を同時に扱える(その結果を取得できる)ことに相当します。

ゲート型量子コンピュータの動作とは、n量子ビットに対して量子演算(ゲート処理)を繰り返し適用することで量子ビットの状態を変化させ、最終的にその量子ビットの状態を観測することで計算結果を得ること、ということになります。

4. Google論文の内容

ではGoogleが量子優越性を証明するために実際にやったことを見ていきます。なおGoogle論文の本文はこちらで参照することが可能です。

 4.1 ランダム量子回路による計算

量子ビット列に対して何らかの量子演算を施して結果を観測するという量子コンピュータの動作ですが、現状のハードウェア制約では、動作確認レベルを超えて実用上意味のある量子演算を行うことは困難です。そこで演算内容自体の有効性・有益性は無視し、量子ビットに対してランダムな演算処理を何ステップか施して結果を得ることを考えます(=ランダム量子回路の生成と演算)。
ここでのランダムな演算処理とは、毎回の量子演算時に異なる量子演算を適用するという意味でのランダムではなく、量子演算を適用する際に意味を考えずにランダムに構成して適用する、という意味です。「回路」のように、量子ビットに対して適用される演算処理自体は固定されていることに注意してください。

量子回路が固定されていれば、量子ビットの状態と振る舞いは古典コンピュータでもシミュレートすることが可能です。n量子ビットの状態(=2^n種類の組み合わせ)を保持し、それに対して量子回路で構成されているのと同じ演算を実施し(その結果量子ビットの状態が変換する)、それを量子回路の構成と同じステップ回数分繰り返せば、同じ結果が得られます。

あるランダム量子回路に対して、量子コンピュータで実際に演算して結果を得るのと、古典コンピュータでシミュレートして結果を得る場合とで演算時間を比較し、量子コンピュータのそれが古典コンピュータでシミュレートする場合よりも効率的であれば、量子優越性を達成していると言える、これがGoogle論文の内容です。

 4.2 量子コンピュータと古典コンピュータでの演算時間の比較

Google論文では、53ビットで20ステップの量子回路演算(100万回の繰り返し)を200秒で実行したとのことです。一方で同様の演算をスーパーコンピュータで実行した場合は10,000年かかる、(よって量子優越性を達成している)、と記載されています。
これはもう、量子優越性を達成していると言っていいでしょう。(ただし、Googleのこの主張に対しては後述するような議論が巻き起こりました。しかし議論を経ても量子優越性の主張は揺るがないものです。

5. Googleの主張する量子優越性に関する是非(議論)

 5.1 2019年10月22日のIBM論文

Googleの論文の発表の一日前にIBMの研究所のメンバーが発表した論文は、Googleの量子優越性の主張に対して一部反論しているものです。(Google論文発表の一日前なのにその内容に対して反論ができたのは、Google論文が事前にリークされていたからだと言われています。)

この論文は、当該のランダム量子回路に対する古典コンピュータでのシミュレーションは、Googleの主張するような10,000年ではなく2.5日で計算可能である、というものです。
この主張には合理性があります。Googleが想定した古典コンピュータ(スーパーコンピュータ)でのシミュレーションは、量子ビットの状態をオンメモリで保持し実行することを想定しています。一方でこのIBM論文ではメモリではなくディスク上に展開することで効率化を図ることで2.5日でできる、と主張しています。53ビットの量子ビットの全状態はおよそ64ペタバイトで表現できるため、IBMのスーパーコンピュータSummitであれば(なんとか)置くことは可能なのです。(2.5日の根拠については論文読んでないので深く説明できません。)

この内容から分かる通り、このIBM論文はGoogleの量子優越性を否定していません。200秒対10000年が、200秒対2.5日になったということなのです。200秒対2.5日はおよそ1,080倍になります。量子コンピュータは古典コンピュータに対して1,080倍の優越性を持っている、ということになるのです。

 5.2 IBMのイチャモン

上記の2019/10/22の論文は合理的なものであったのに対して、並行してIBMは2019年10月21日付のIBM Research Blogにおいて以下のような主張をし始めます。

・Googleの主張する量子優越性は達成されていない
・「量子優越性」という言葉を使うのはやめよう

しかしこれ(未達成との主張)は、量子優越性の定義に対する誤解(曲解と言ってもいい)に基づくものです。ここで上にて量子優越性の定義について確認した意味が出てくるのですが、量子優越性の定義は「量子コンピュータは古典コンピュータより効果的に計算できる」であって、「量子コンピュータは古典コンピュータでは計算できない計算ができる」ではない、のです。Blogの該当箇所です。

Because the original meaning of the term “quantum supremacy,” as proposed by John Preskill in 2012, was to describe the point where quantum computers can do things that classical computers can’t, this threshold has not been met.

これはイチャモンと言ってもいいものでしょう。

加えてIBM(の上層部)は、「量子優越性」という言葉は、量子テクノロジーの状況理解を困難にする、人種差別的用語である、また、多くの人に誤解されている、という理由により使うべきではないと主張しています。これもどうかと思います。
IBMはこれらの主張を通じて、同時に、IBMは量子優越性達成という実用上無意味なマイルストーンにこだわらずビジネス上意味のある貢献にコミットしていきます(リンクは、当該の主張がなされたダボス会議での発言を聞いていた人によるBlog)、と語っています。

これらのIBMの主張は、残念ながらある程度勢いに乗ってしまい、量子優越性を正しく理解できない人が生まれる状況を生み出していってしまっています。

6. 量子優越性をめぐる議論を知った上での所感

「量子優越性」という言葉は、にわか量子コンピュータマニア(私のこと)にもわかりやすいキャッチーな言葉です。そしてそれが実際に自分が生きている時間の中で達成されたこと、またそのバックグラウンドとして量子テクノロジーが現在進行系の形で発展していることに驚きと感動を覚えます。

IBMのイチャモンにより量子優越性の正しい理解が若干阻害されている状況になっていることに残念な気持ちもありますが、大局的に見ればそれは小さいこと、Googleには量子コンピューティングの領域で更にテクノロジーを発展させてほしいと思います。そしてそれが面白そうな将来につながっていくかもしれないという可能性にワクワク感を感じます。

一方でIBMの方ですが、IBMの上層部は「純学術上の達成など興味ない、ビジネス的に意味がなければ無意味(投資しない)」と主張しているように感じられてなりません。たしかにこれは営利企業であれば当然の姿勢・主張かもしれませんが、一方で、研究機関に所属する人間として、これは(中の人は)辛いだろうなあ、と感じざるを得ません。まあ、この1点だけを取り上げるのはフェアではないかもしれませんが。

最後に。マルレク聴講により、少なくともこの記事を書ける程度にはゲート型量子コンピュータと量子優越性について理解できるようになったことがとても良かったです(感謝しています)。
(ただし、本記事を書くにあたっていくつかの関連ページを読んで勉強したことと、事前に前提知識があったことは否定しません。関連ページのうち自分の印象に残っているものについては本記事内に参照リンクを貼っています。)
また、冒頭にも書きましたが、本記事内容は誤解に基づくものが含まれているかもしれません。その点を差し引き、ご考慮いただければ幸いです。


この記事が気に入ったらサポートをしてみませんか?