量子コンピュータの評価指標「量子ボリューム」とは何か

# 最近、このようなニュースがありました

> イオントラップ型量子コンピュータの開発で注目を集めているスタートアップ、IonQが米国時間10月1日に「完全な32キュービット（qubit）で低ゲートエラーのコンピューターを開発した」と発表した。
IBMが用いるベンチマークでIonQは400万量子ボリュームを達成するものと期待している。これはIBM自身が記録した量子ボリュームを2桁も上回るもの（IBMリリース）で驚くべき飛躍だ。事実であれば、これが史上最も強力な量子コンピュータであることは間違いない。

出典: [Tech Crunch 2020年10月06日 米国のIonQが史上最強の量子コンピュータを開発したと発表、IBMの量子ボリュームの記録を2桁も上回ると主張](https://jp.techcrunch.com/2020/10/06/2020-10-01-ionq-claims-it-has-built-the-most-powerful-quantum-computer-yet/)

量子ボリューム(QV: Quantum Volume)とは、量子コンピュータの性能を測る指標のひとつですが、その指標の意味は一般にはあまり知られていません。
本記事では、量子ボリューム(QV)とは何なのか、説明していきます。

# 3行で説明すると

- QVはIBMが提唱した、量子コンピュータの性能指標。QVが大きければ大きいほど量子コンピュータが高性能であることを示す
- 多くの量子ビットで、深い(≒実行に多くのステップ数がかかる)量子回路を動作させられたら、大きなQVになる
- 量子ビット数と深さは、両方必要。どちらか片方だけではQVは大きくならない


# もう少ししっかり説明すると

QVは[Validating quantum computers using randomized model circuitsという論文](https://arxiv.org/pdf/1811.12926.pdf)[^1]で提案されています。
本記事は、この論文を参考に書いています。

[^1]: Andrew W. Cross, Lev S. Bishop, Sarah Sheldon, Paul D. Nation, and Jay M. Gambetta, [arXiv:1811.12926](https://arxiv.org/pdf/1811.12926.pdf)

アブストラクトには、おおよそ50量子ビットまでの、近々実現するであろう量子コンピュータを対象としているようです。

## 現在の量子コンピュータの課題と必要な指標

現在の量子コンピュータは

- 利用できる量子ビットが少ないこと
- 量子ゲートをかけたときの計算の誤りが多いこと

の2つの大きな課題を抱えています。
いずれも量子コンピュータで実用的な計算を従来のコンピュータより速く計算するためには乗り越えなければならない課題です。後者に関しては、計算に多くのステップ数を要するとエラーが蓄積し、また、CNOTゲートなどにより他の量子ビットに伝播します。そのため、計算の誤りが多いと、実行できるステップが少なくなってしまいます。

そういった事情から、現在や近い将来の量子コンピュータの性能を測る上で、量子ビットの数と、計算のステップ数(回路の深さ)を指標化したいというモチベーションが理解できます。

## QVの具体的な方法

![Screenshot_20201009_220429.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/88256/6b7645c2-9752-d958-e158-0b53fa38ccc2.png)
画像は[^1]より引用。

上図のようなモデル回路を考えます。ただし、πはランダムな量子ビットの入れ替えを、SU(4)はランダムな4x4ユニタリ行列のゲート(のうち、行列式が1のものだが、ここでは重要ではない)を表しています。

このモデル回路の(理論上の)測定結果は、単一の結果ではなく、確率的にいろいろと出てくると思われますが、すべての00...0〜11...1までの結果を、出る確率が高い順にソートし、ちょうど半分のところで「出やすいもの(heavy output)」と「出にくいもの」に分けます。

「出やすいもの」は、どれくらいの確率で出るでしょうか。
理想の量子コンピュータがあれば、理論上は(漸近的に)0.85の確率で「出やすいもの」が出るとのことです。
また、量子コンピュータを持っていない人がモデル回路を動かさずにランダムに答えを予想すれば、あるいは、量子コンピュータのエラーがひどすぎて答えが完全にランダムになってしまった場合は、ちょうど半分のところで「出やすい」と「出にくい」に分けたので、「出やすいもの」が出る確率は0.5です。
つまり、エラーのある量子コンピュータを使ってモデル回路を動かすと、0.5以上0.85以下の確率で「出やすいもの」が出ることになります。

そこで、2/3以上の確率で「出やすいもの」を当てる、という問題を考えます(heavy output generation problem)
そして、この問題を解ける範囲で、利用する量子ビット数と、上図の層の数を増やすことを考えます。

ギリギリ2/3以上の確率でこの問題が解けるサイズが、(n量子ビット, d層)だったとすると、nとdのうち、小さい方を取ります(mとします)。**このとき、QVを$2^m$と定義します。**
(n, dは必ず整数になるので、QVは必ず2の整数乗になります)
nとdのうち小さい方を取るので、できるだけシンプルな問題を解いて高いQVを出すには、nとdを同じにすればいいと分かります。

なお、この問題を解く上で、モデル回路をそのまま量子コンピュータに乗せる必要はなく、トランスパイラなどで量子コンピュータにとって都合のいい形に変換しても構いません。

## 2020年10月初頭時点のQV
2020年8月に、IBMが[QV 64を実現した](https://jp.newsroom.ibm.com/2020-08-21-ibm-product-quantum-volume-in-house-highest-price-record)というニュースがありました。
64は2の6乗なので、量子ビット数、層の数が6であることが分かります。
ニュースによると、27量子ビットのマシン上でこれを実現したとのことで、マシンの量子ビット数に比べて、利用した量子ビット数はかなり少ないです。超伝導型の量子コンピュータでは、エラーがいかに深刻な問題かが分かるでしょう。

また、冒頭に上げたように、2020年10月、IonQが400万QVを達成すると期待されているとのことです。2の22乗が4,194,304なので、おそらく量子ビット数、層の数が22を実現できるという意味でしょう。
[同記事](https://jp.techcrunch.com/2020/10/06/2020-10-01-ionq-claims-it-has-built-the-most-powerful-quantum-computer-yet/)には、「IonQは11キュービットから32キュービットへの進化に成功しました」とあるので、やはり全ての量子ビットは使い切れていないですが、イオントラップ型の量子コンピュータでは、エラーは超伝導型より少ないものの、量子ビット数に比較的余裕がないと考えることができるでしょう。

## QVに対する批判
Scott Aaronsonがブログに[Turn down the quantum volume](https://www.scottaaronson.com/blog/?p=4649)という記事を2020年3月に書いています。

> I’m glad that Honeywell, which many people might know as an air-conditioner manufacturer, has entered the race for trapped-ion QC. I wish them success.

と、かなり意地悪な文章ですが。

- 人々の関心を量子ビット数だけではなく、より広い部分にフォーカスするという点においては、QVは正しい方向を向いている
- けれど、単一の指標を目標にしてしまうと、その指標を上げることだけを目指してしまうのでよくない
- QVでは測れない性能もある。例えばエラーは多いが膨大な数の量子ビット、たった1量子ビットだけど誤り訂正でエラーが極めて少ない、相互作用が難しい複数の系に分けたもの、などを作っても、QVではその性能を測れない
- IBMがなぜQVを$2^m$の形にしているのか分からない
- 単一の指標に頼るのではなく、仕様をできるだけはっきりと世界に伝えることの方が私はいいと思う

といったようなことが指摘されています。

個人的には指摘自体には概ね同意しますし、なぜ$2^m$の形になっているのかわからないというのは本当にそうですが、そんなに悪く言わなくてもいいような気はしました。

ともかく、あくまで簡単な指標であって、QVを絶対視しすぎないことは大切かと思います。