/ 量子コンピュータ

「量子コンピューティングの次のステップ:コンピュータサイエンスの役割」全訳

訳者まえがき

この記事は2018年5月にComputing Community Consortium (CCC)主催で行われたワークショップ「量子コンピューティングの次のステップ:コンピュータサイエンスの役割(Next Steps in Quantum Computing:Computer Science’s Role)」の同名の報告書を、著者らの許可を得て日本語訳したものである。この報告書では、コンピュータ科学者が量子コンピューティングの進歩と、5つの主要な分野(アルゴリズム、デバイス、アーキテクチャ、プログラミングモデルとツールチェーン、検証)での主要な動向と研究ニーズ特定に、どのように貢献できるかを紹介している。

報告書で特定された研究ニーズは主に以下の通りである。

  • 近未来的に実現可能な限られた量子ビット数と精度の制限の中で使える新しい量子コンピューティング(以降QC)アルゴリズム
  • アルゴリズムとデバイスの間の機能性を介した、QCシステムのプログラミング、マッピング、リソース管理を実装・最適化するベストな方法に関する研究
  • データのI/Oに関する研究(とくに古典データのQCシステムへの入力)。QCにおける線形代数・機械学習アルゴリズムの効率性は、大量の古典的なデータにQCハードウェアがアクセスする効率的な方法があるかどうかにかかっている。
  • ほかの多くの分野の人々やアイディアの活用。確率論的プログラミングや積極的近似計算(アプロキシメイト・コンピューティング)などの話題が挙げられた。例えば、結合限界のプログラムロジックや、信頼性の定量的検証などの最近の研究なども含まれる。

量子コンピューティングの次のステップ:

コンピュータサイエンスの役割(Next Steps in Quantum Computing:Computer Science’s Role)

著者

Margaret Martonosi, Martin Roetteler, そして補遺Aにリストアップした多くのワークショップ参加者・協力者の貢献による

公開

2018年11月

スポンサー

Computing Community Consortium (CCC)

注意

この資料は、グラントNo. 1734706の下でアメリカ国立科学財団(National Science Foundation)が支援する研究に基づいている。本資料に記載されている意見、所見、結論、勧告は著者らによるものであり、必ずしもアメリカ国立科学財団の見解を反映するものではない。

1. イントロダクション

コンピューティングのエコシステムは、常に社会やテクノロジーに大きなインパクトを与え、様々な面で私たちの生活を変化させてきた。何十年にもわたってムーア則による性能向上でコンピューティングのエコシステムが成長してきたにもかかわらず、現在または近い将来のコンピュータシステムの性能の範囲を超えているような重要なアプリケーションがまだある。特に、複雑さが入力データのサイズに応じて超線形、あるいは指数関数でスケールするような計算アプリケーションが存在し、有用なデータ入力サイズの問題を解くためには、計算時間やメモリ要件は手に負えないほど大きくなる。このような問題は、最も強力なスーパーコンピュータや、数十年以上のランタイムで構築できるものを上回るようなメモリ要件がある可能性もある。

なぜ量子コンピューティングか?
量子コンピューティング(QC)は、古典的コンピューティングと基本的に異なるコンピューティングパラダイムによって古典コンピューティングを補完することで、これらの複雑性の高い難解な問題に取り組むための将来的な選択肢だと、多くの人に見なされている。古典的に扱いにくい問題には、肥料製造の基礎となる窒素固定 [1] から医薬品の設計に至るまで、化学反応を理解し、設計するためのより良い方法の設計を支援する化学と分子動力学シミュレーションが含まれる [2,3]。 QCに取り組むことができる材料科学の問題には、より良い太陽電池のための化合物、より効率的な電池、エネルギーを無損失で伝達できる新しい種類の電線の発見などが含まれる [4]。加えて、QCアプローチを利用して大きな数を効率的に因数分解するShorのアルゴリズム [5] は、計算の難しさに依存する現在のデータ暗号化システムを脆弱にする可能性を高める。全長キーでShorのアルゴリズムを実行するのに十分なほど大規模で信頼性の高いQCの存在は、現在の暗号システムを攻撃および盗聴に対して脆弱にする可能性がある。

量子コンピューティングとは何か?
QCは、量子ビットとして情報を表現および操作するために量子力学的特性を利用する。量子物理学のもつ特定の性質により、量子コンピュータは、指数関数的に大きい計算空間上で、必要なリソースに対して多項式的にしか大きくならないコストで動作することができる。量子コンピュータで適切に実装できるアルゴリズムは、現在の最良の古典的手法に比べて潜在的なスピードアップ(時には指数関数的なスピードアップ)を提供できる。

したがって、QCは、これまでは扱いにくかった問題を扱いやすくするのに十分なスピードアップの可能性を秘めている。たとえば、大規模な分子複合体の基底状態のエネルギーを高精度で見つけたり、インターネットのトラフィックやビットコインのウォレットを安全にする暗号を解いたりするには、古典コンピュータでは$ 10^{15} $年もかかるだろう。量子コンピュータでは、デバイスのクロック速度に応じて、これらの問題は潜在的に数分または数秒で解決される可能性がある。

変曲点:なぜ今か?
QCの知的ルーツは、量子力学をシミュレートする基本的な難しさについて考えるうち、そのような問題をとくコンピュータの基礎として量子力学自体を利用するという“turned the problem around”のアイディアを提案したRichard Feynmanまで遡る。QCの基本的な理論的基礎はある程度の時間をかけて増強されてきたが、この5年の間でこの分野は変曲点にさしかかった。現在、中小規模のマシンが、学術界や産業界のさまざまな研究所で開発されている [7,8]。Preskillは、20-1000量子ビットで、誤り訂正を実行するのには不十分なリソースで、私たちが現在、そして近い将来に構築しているマシンのクラスを指すために、Noisy Intermediate-Scale Quantum(NISQ)というフレーズを作り出した [9,10]。グローバルな規模での大規模な研究開発投資は、大規模NISQとそれを超えた量子コンピュータを実現し、それらの上で実行する新しい量子アプリケーションを開発しようとしている。

研究ニーズ
量子コンピュータが有用性を示せるような問題(例えば、化学 [11]、物質科学など)と、私たちが現在構築・プログラム・実行できるものとの間には、大きなギャップがある。図1が概念的に示すように、よく知られているQCアルゴリズムの多くは、構築することができる現在のQCのスケールをはるかに超える量子ビットリソース要件をもつ。

QC研究コミュニティの目標は、信頼性の高い実世界のQCハードウェア上で有用なアルゴリズムを実用的な時間で実行できるようにギャップを埋めることである。現在の開発スピードは速いものの、このギャップを埋めるために要する時間は、10年以上と見積もられる。現在のQCの取り組みは、このアルゴリズム-マシンギャップを早期に埋めるために、研究開発を加速することに重点を置いている。特に、このコンピューティングコミュニティコンソーシアム(CCC)ワークショップの目標は、このギャップを埋めるためにコンピュータサイエンス(CS)の研究コミュニティが果たす中心的な役割を明確にすることであった。CS研究者は、プログラミング言語の設計、システム構築、スケーラビリティと検証、および将来から現在までの実用的なQCをもたらすことのできるアーキテクチャ手法の貴重な専門知識を持っている。

図1: アルゴリズム-マシン間のギャップは、よく知られているQCアルゴリズム(例えばShorやGroverなど)が、私たちが構築できるシステムの量子ビット数(黄色で示されている)をはるかに上回るリソース要件を持っていることを示している。

このレポートでは、さまざまな技術分野および非技術分野のトピックについて、問題と推奨事項を紹介する。

量子コンピューティングアルゴリズム: QCシステムは何が得意か? 私たちは古典計算よりも桁違いのスピードアップを提供するエンドツーエンドQCアルゴリズムの開発を促進できるだろうか?

QCテクノロジー: どのようにQCシステムを構築したらよいだろうか? いくつかの面で現在のQCの状況は1950年代の古典コンピュータのそれと似ている。十分に大規模で信頼性の高いQCシステムを構築するには、基礎となるQCテクノロジーそのものと、それをサポートするソフトウェアレイヤの実質的な進歩が必要である。

QCのプログラミング環境とツールチェーン: QCの進歩の鍵を握るのは、ドメインの専門家とアルゴリズム開発者がハイレベル抽象化を使用してQCアプリケーションとその制約条件の表現能力を拡大する方法を特定し、次にそれらをコンパイルしてQCハードウェアまたはシミュレータにマップすることである。QCツールチェーンはすでに存在しているが、ハイレベル抽象化と強力な検証と最適化のサポートを改善することで、QCアルゴリズム開発者が直面するハードルを大幅に軽減できるだろう。

QCアーキテクチャ: 最後に、コンピュータアーキテクチャ研究からのテクニックは、現在の未分化の(訳者注:アルゴリズムと量子ビットの間のレイヤー構造がまだ決まっていない)量子ビットアレイのアプローチからより分化された組織構造(訳者注:レイヤーごとの機能の役割分担とインターフェイスが確立した)に向けてQCを移行するようなQCシステム開発に役立つだろう。局所性の利用や特定の技術属性や特性の利用を助けるテクニックは、特に重要である。

より広範な問題: 上記の技術的要請に加えて、QC研究を進める際のコンピュータサイエンスの役割は、幅広い問題にも左右されます。 これには、幅広いCS研究コミュニティが自らの役割を認識することが含まれる。続くページでは、QC CSが分野として発展するために作成すべきリソースの推奨事項の概要を示す。

推奨される研究

古典・量子アルゴリズム:

第一に、近い将来に利用可能な量子ビット数と精度で利用できる新しい量子コンピューティングアルゴリズムが必要である。「キラーアプリ」や少なくともここ10年間のうちに実行可能な有用アプリがなければ、進歩は失速するかもしれない。

量子化学アルゴリズム(農業、医薬品、基礎研究など)の潜在的な科学的および商業的な有望さを踏まえ、参加者は、この分野は、励起状態やダイナミクスなど基底状態をこえた特性をシミュレートするなど、より洗練されたモデルに十分な量子化学アルゴリズムの革新とハードウェア機能の向上の恩恵を受けると感じた。

実際に使われる鍵サイズでShorのアルゴリズムを実行するのに十分なQC実装は、まだ何年もかかるが、量子攻撃に耐えてセキュリティを維持できる「post-quantum」(耐量子)公開鍵暗号システムの研究が先行して必要である。

プログラミング、コンパイル、システムレイヤー:

ワークショップでは、QCシステムのプログラミング、マッピング、およびリソース管理を、アルゴリズムとデバイスの間の機能性を介して実装・最適化する方法に関する研究が、広く求められることに合意した。

近い将来のNISQマシンでは、現在の実装での厳しいリソース制約に比べて、QCアルゴリズムのニーズを明確にするために必要な表現力をプログラマに提供する言語・コンパイル手法を作成・洗練する必要がある。

長期的には、量子リソースが豊富になると、生産性を高めるために抽象化が必要になる(例えば、効果的なQEC技術により、将来のQCプログラマは、QC命令および量子ビットを完全に信頼できるものとして扱うことができるかもしれない)。私たちは、スケーラブルなシステムのために必要となるモジュール化と階層化を確立しなければならない。これには、一般的に使用されている関数のライブラリ、開発と最適化を支援するためのAPIや命令セットなどが含まれる。

量子ビットの測定はその状態を壊し、想定されている実装では演算子精度誤差があり、確率的結果を生じるため、量子デバッグは基礎的な課題である。したがって、量子プログラムを通じて蓄積される誤差の追跡方法、許容誤差内で計算が動作することを検証する方法、およびQCソフトウェアのデバッグプロセスを容易にする方法などの研究が必要である。

QCシステムのためのコンピュータアーキテクチャは、研究され、実験される必要がある。どのような種類のマイクロアーキテクチャと機能ユニットが今最も効果的で、それらはどのように大規模システムに拡張されるのだろうか? 同様に、テレポーテーションユニットなどの量子ビットの通信や輸送の問題を探求する必要がある。この問題は、特に量子ビット数が大きくなり、ローカル通信がサポートできる範囲を超えるような規模のQCの場合にとくに重要な問題である。

現実的な量子システムは、古典ユニットと量子ユニットのハイブリッドになるだろう。そのようなマシンの「両側」を効率的にプログラム・マップする方法に関する研究が必要である。それぞれの側で保証されているアーキテクチャの洗練度と、それらの間のコミュニケーションの問題によって、意見は異なるだろう。

他のシステムやアーキテクチチャの研究と同様に、ハードウェアとソフトウェア技術の開発は、パフォーマンスと信頼性を定義するためのメトリクスと、それらを推定・シミュレート・測定する評価基盤の開発と並行して行わなければならない。

量子実装:

現在のところ”winning technology"が何なのかは、はっきりしていない。この分野は、異なる物理デバイスアプローチに基づいて量子技術のためのファブリックを革新し続けてゆく必要がある。特に、実装の進歩はデバイス物理だけでなく、QCハードウェア組織やアプローチ全体を進歩させるためのコンピュータ科学者と物理学者の学際的なチーム間の緊密な連携にも左右されるだろう。

線型システムや機械学習に関する量子アルゴリズムの効率性は、量子ハードウェアが大量の古典的な入力データにアクセスするための効率的な方法を見つけられるかどうかにかかっている。これは現在、このアプリケーションクラスの潜在的スピードアップの根本的なボトルネックである。

関連する入力データまたはそれの非線形関数のいずれかを含む高次元重ね合わせ状態の生成は、クラスタリング、PCA、機械学習および最適化のためのその他のデータ分析ツールなどのタスク性能向上を容易にするだろう。

参加者は、機械データとエラーの特徴付けなどへの機械学習の応用も含め、既存および近い将来のQCシステムでのエラー削減と精度向上の機会を確認した。

潜在的なハードウェアエラー率を考慮すると、リソースがそれらの実装を許す場合には、QCシステムは量子誤り訂正符号(QEC)を使用して、オーバーヘッドを低くし、しきい値を低くする。最も有望なQEC実装、特に長時間にわたる量子ビットの状態と長い一連の操作をサポートできるものを特定するための研究が必要である。

現在のNISQシステムには、QECを実装するのに十分なリソースをもたない。しかし、やがてQC実装は大量のクリーンな補助量子ビットを生成、消費、リサイクルする能力を必要とし、これは大規模なQCマシンにおけるあらゆるQECアプローチを根本的に支える土台になるだろう。

古典コンピューティングと同様に、メモリシステムは重要な役割を果たす。参加者は、極低温(ケルビン / サブケルビン)で多数の量子ビットに命令や状態を保存するという基本的な課題など、QCメモリシステム設計に関する研究の必要性を指摘した。

会議とコミュニティ:

参加者は、QCスタックのさまざまな部分で作業する人々がアプローチを共有し、幅広いアプリケーションやデバイスの専門家と対話できるように、会議やコミュニティを開発する必要があると感じた。

QC研究は、他の多くの分野の人々やアイデアを活用することで恩恵を受けるだろう。確率論的プログラミングやapproximate/unreliableコンピューティング(訳者注:積極的な近似計算。計算結果にある程度の誤差や誤りが許される場合に、演算の精度や信頼度を下げることで高速・低消費電力で演算を行う方法)分野のようなトピック、例えば、union boundのプログラムロジックに関する最近の研究や定量的信頼性の検証が特に挙げられた。

会議でのやり取りに加えて、共通のAPIと標準インタフェース層を作成することで、異なる学術機関や業界団体からのツールチェーンやアプローチの相互運用を可能とすることで、コミュニティは様々な恩恵を受けるだろう。同様に、言語、コンパイラ、ソフトウェアシステムをオープンソース化できれば、アプリケーションやプログラムからデバイス固有のものまで、スタック全体の進歩をよりよくサポートできるだろう。

2. ワークショップの方法

「The CCC Next Steps in Quantum Computing」ワークショップは、2018年5月22-23日、ワシントンDCで開催された。量子コンピューティングの研究者をはじめ、コンピュータアーキテクチャ、EDA(Electronic Design Automation)、コンパイラ構築、プログラミング言語、などのコンピュータサイエンス分野の専門家が集まり、コンピュータ科学者が量子コンピューティングの初期の分野にどのように貢献できるかを議論した。

このワークショップでは、アルゴリズム、テクノロジー、ツールチェーン/プログラミング、アーキテクチャの4つの主要トピック分野に焦点を当てた。討論は、量子コンピューティングの文脈の中で現在の状態を発表した2名の発表者から開始された。各エリアのスピーカーは次のとおりである。

  • アルゴリズム: Andrew Childs (University of Maryland), Xiaodi Wu (University of Maryland)

  • テクノロジー: Andrew Houck (Princeton University), Jungsang Kim (Duke University)

  • ツールチェーン/プログラミング: Bettina Heim (Microsoft Research), Ali Javadi-Abhari (IBM Research)

  • アーキテクチャ: Igor Markov (University of Michigan), Fred Chong (University of Chicago)

各プレゼンテーションの後にグループ全体でのディスカッションを行い、参加者を4つのブレークアウトグループに分け、より詳細なディスカッションを行った。その後、ブレークアウトグループは、参加者グループ全体の議論の中でブレークアウトグループ内の議論からの結論を追加コメントとして提示した。2日目の午後に、参加者は、ブレークアウトグループの資料とグループディスカッションを使用して、この報告書のドラフトの作成を開始した。ワークショップの全アジェンダはhttps://cra.org/ccc/events/quantum-computing/で確認することができる。

ワークショップの全参加者のリストは補遺で見ることができる。

3. 技術トレンドと予測

量子コンピューティングの傾向を予測することは困難であり、量子版「ムーアの法則」が成立するかどうかのコンセンサスはない。ムーアの法則とは、半導体製造技術の進歩により、コスト効率よく単一のチップに収まるトランジスタ数の規則的な(18〜24ヶ月ごとの)倍増という、古典コンピューティングにおける長期的傾向を指す [12]。トランジスタ数、性能・機能の向上がその次の世代の技術開発に投資するのに十分な収益をもたらし、それによってトランジスタ数と性能がさらに向上するような「好循環」により、この「ムーアの法則」は数十年にわたって維持されてきた。

しかし、古典的ムーア則とは異なり、量子コンピューティング技術のスケーリングの好循環には肯定的な予測はない。そのようなサイクルを開始するには、限定的なリソース要件の中での幅広い有用なアプリケーションと、それが現在のものよりもスピードアップしていることを確認する必要がある。それにもかかわらず、さまざまなスケーリングオプションを推定する能力は、研究開発進捗の指針として有用なトピックであるため、このワークショップでは量子コンピューティングの進歩を定量化し、進捗状況を「ロードマップ化」する方法についても議論した。

ニュース記事や技術的な出版物の中で量子コンピューティングが議論されるとき、多くの場合には量子ビット数が性能指標として用いられる。確かに、きちんと実装・テストされた物理的な量子ビットの数は、計算機の計算能力の重要な指標である。一方で、他にも重要な指標があるにもかかわらず量子ビット数だけに注意することは問題だろう。例えば、量子ビットは量子状態を永遠には保持しないため、量子状態の保持時間であるコヒーレンス時間は重要な性能指標である。さらに、量子ビットの移動、動作、読み出しには、いずれも不確実な要素があるため、それぞれのエラー率も重要である。

図2に可能なテクノロジースケーリング空間を示す。X軸は物理的なエラー率、Y軸は物理量子ビット数である。開発者は、この2次元平面上の点で表されるデザインの選択を行う。例えば、量子ビット数は一定に保ちながら、機械の物理的エラー率を改善しようと努力することを選択する人もいるだろう。逆に、他の開発者は、エラー率をほぼ一定に保ちつつ量子ビット数を増やすことを選択するかもしれない。量子ビットの数や性能が指標としてニュースの見出しを飾る一方で、実際には量子ビット数と信頼性の高い量子ビット・量子ゲートのいくつかの組み合わせが、より有用なスケーリングの軌道になる可能性がある。

図2: 物理エラー確率-物理量子ビット数平面に書いた可能なスケーリング軌道

量子コンピューティングの研究コミュニティの重要な焦点の一つは、「量子優位性(quantum advantage)」(量子超越(quantum supremacy) [13,14,15] や量子計算超越(quantum computational supremacy) [16] とも呼ばれる)であろう。これは、何らかの特定の問題について、量子コンピュータが古典コンピュータの性能を上回る最初の点である。古典的なシミュレーションの進歩(訳者注:シミュレーション手法の発展や古典コンピュータの性能向上)によって量子コンピュータが相手にすべき目標も高くなるため、どのような問題で量子優位性の最初のデモンストレーションが行われるかの詳細は議論の最中である [17]。

図2の青線は、可能な古典・量子クロスオーバーのトレンド(訳者注:量子優位性を示すためにQCシステムに要求される性能)を表す。すなわち、数と信頼性の両面で「十分な」量子ビット・量子ゲートが必要である。量子優位性を量子コンピューティングの初期かつ最も重要な目標とする場合、研究チームはまず「青い線を越えられる」と信じられるスケーリング戦略を選択することになるだろう。

これらの比較的短期的なスケーリングの議論に加えて、考慮すべき長期的問題もある。たとえば、ワークショップでは、End-to-endの性能指標がパフォーマンスを測定する主要な支配者でなければならないという強い意識があった。たとえば、いくつかの量子アルゴリズムは、量子状態がメモリ内に予め初期設定されているという仮定の下での高速化を約束しているに過ぎない。効率的な量子メモリとそれらを初期設定する方法は未だ特定されておらず、そのようなアルゴリズムの中には、初期状態準備に必要な時間(ときには問題サイズに対して指数的なステップ数が必要)を十分考慮していないものもある。その他にも、リソース要件やアプリケーションとアルゴリズムの複雑性の側面も量子コンピュータの性能指標に含まれる。

コンピュータサイエンス研究の優先事項と推奨事項:CS研究者にとって重要な役割は、次に挙げるテクノロジーとスケーリングのトレンドから生まれる。

  • さまざまなアルゴリズムとマッピング手法のリソース要件を予測するためのリソース推定ツール。
  • 希少なハードウェアリソースを最大限に活用するインテリジェントなマッピングおよびスケジューリング手法。
  • 信頼性の低い量子ビットまたは量子ゲート操作を克服するための効果的でリソース効率の高い量子誤り訂正符号戦略。

4. アルゴリズム

結局のところ、量子コンピュータに寄せられる期待は、あらゆる古典コンピュータよりもはるかに高速にいくつかの問題を解決できるような、定性的に異なる形式のアルゴリズムを実行する能力である [18]。どのような問題が量子コンピュータの恩恵を受けるのかを決定することは、依然として研究の活発な分野であり、量子コンピュータ研究者にとって非常に重要である。既知の量子アルゴリズムは、この分野への大きな関心と投資を刺激するほど魅力的であり続けたが、継続的な進歩にはこれらのアルゴリズムを改善し、新しいアルゴリズムを開発する必要がある [19,20]。

古典コンピューティングでは、我々の経験的なアルゴリズムの理解は理論的な理解よりはるかに先行している。たとえば、最も有用な古典的アルゴリズムの1つは、1940年代から使用されてきたMCMCだが、いくつかの非自明なケースで正しいと証明されたのは最近になってからであるばかりか、これらの証明は経験的に観察されるものよりも遙かに悪い性能限界を示してさえいる。量子アルゴリズムの研究は、これまでアルゴリズムをテストするために使用できる大型量子コンピュータが無かったため、理論研究が支配的であった。しかし、QCハードウェアが成熟するにつれて、量子アルゴリズムの分野は経験的なものにも焦点が当たるようになり、最終的には、古典コンピューティングで見られるような理論・ヒューリスティック・経験のミックスとなるだろう。

4.1 暗号解読

Shorのアルゴリズム [21] は量子アルゴリズムの初期のマイルストーンであり、QCが実用的な問題、すなわち大きな数の因数分解を指数関数的に高速化できる可能性を示した。RSAのような現在の暗号システムの多くは、大きな数(例えば2048ビット)を素因数分解することは極めて困難であるという事実に依拠している。Shorのアルゴリズムを2048ビットの鍵に対して実行するのに十分なリソースと信頼性を備えた量子コンピュータが構築された場合、以前は安全だと考えられていた情報も復号できてしまう可能性がある [22]。Shorが1994年の論文ですでに想定しているように、いわゆる離散対数問題に対しても同様の攻撃を仕掛けることができる [23]。これによりBitcoinやEthereumなど暗号通貨・ブロックチェーンで使用されている認証のほとんどは破られてしまう。これらの潜在的な攻撃には高品質の量子ビットを必要とするが、RSA(2048ビット鍵に対して約4000個の誤り訂正済み量子ビット(訳者注:論理量子ビット))やBitcoin暗号化(256ビット鍵に対して約2300個))を破るのに必要な量子ビット数は適度な数で十分であることが知られている。

そのため、このような量子攻撃に耐性のある「ポスト量子」公開鍵暗号システムを見つけるための大きな努力が進行中である。主要な候補の一つに、効率的な量子アルゴリズムがまだ知られていない格子に基づく暗号がある。私たちが暗号システムのセキュリティに自信を持っている主な方法は、それを攻撃することである。したがって、格子ベース暗号システムと符号ベース暗号システムの両方について、それらが脆弱であるかどうかを調べるために、新しい量子アルゴリズムを研究することが急務である。他の量子アルゴリズムとは異なり、このアルゴリズム(たとえば格子暗号システムを破るアルゴリズム)が実装されるずっと前に、それが可能であるかどうかを知ることが重要である。これは、ソフトウェアのアップデートが、特に組込みシステムの場合には、時間がかかることによる。また、攻撃者が今日の暗号システムで暗号化されたメッセージを保存しておき、大規模な量子コンピュータが利用可能になったときにそれを解読する可能性があることも理由の一つである。

Shorのアルゴリズムは、現在入手可能なQCハードウェアより桁違いに大きなリソースを必要とするため、古典コンピュータで因数分解するのが難しいような大きな数について実際に実行することはまだできない [24,25,26]。 したがって、今日の量子アルゴリズムの重要な焦点は、NISQ時代に利用可能な量子コンピュータのサイズと信頼性を利用して実用的な計算を行うアルゴリズムの特定にある。以降のセクションでは、これらの可能性についてさらに詳しく説明する。

4.2 量子シミュレーション

Feynmanの量子コンピューティングの本来のビジョンである複雑な量子力学システムのシミュレーションは、依然として関心のある分野である。数十年にわたり、従来のコンピュータシミュレーションは量子力学システムの理解を拡大してきたが、これらのシミュレーションの複雑さから、私たちは次第に近似することを余儀なくされ、抽出できる有益な情報量は制限されるようになった。量子系のシミュレーションの根本的な難しさは、量子コンピュータを効果的にしている事情の裏返しである。すなわち、量子系のふるまいの記述には、量子系のサイズに指数関数で比例するような多くのパラメータを必要とする(訳者注:そのことが、特定の問題に対する量子コンピュータによる計算の指数関数的な高速化を可能とする)。したがって、量子コンピュータは、量子化学、材料科学、核物理学、凝縮系物理学など、さまざまな分野で現れる量子力学システムをシミュレートするのに理想的である。

ボストン・コンサルティング・グループは、量子シミュレーションの改善が製薬企業だけでも数千億ドルの市場価値をもたらすと予測している [27]。現在、量子シミュレーション(化学、格子QCD、物質科学などを含む)はスーパーコンピュータの計算時間の大部分を占めており、量子コンピュータはこれらのシミュレーションをより効率よく計算できるだけでなく、これらのシミュレーションで計算できることを大幅に広げることも期待される。

いくつかの量子シミュレーションアルゴリズムがすでに提案されており、量子コンピュータでテストされている [28,29,30]。これらの初期アルゴリズムは、最小限のリソースを必要とするシステム向けに設計されている [31,32]。現在、有望とみられる研究の1つは、量子・古典ハイブリッド的なアプローチである。このアプローチでは、特定の計算を古典コンピュータにオフロードし(例えば、例えばハミルトニアン積分を古典コンピュータ上で事前計算する)、その結果をパラメータとして量子コンピュータに(量子アルゴリズムに)ロードする。逆に、量子コンピュータは、例えば2体の密度行列に関する情報を提供するなど、シミュレーションにおいて重要な部分を高速化することができる。基底状態の特性は、通常、変分法を用いて得られる [33,34]。これらは、1つまたは複数のパラメータに応じた初期波動関数を選択し、次いで、エネルギー期待値を最小化するようなパラメータ値を決定する反復方法である。途中で得られる波動関数は基底状態のエネルギーの上限であり、反復(例えば、勾配降下)によって、推定値を改善し続けることができる。

将来的には、リソースを最小限に抑えるという制約がなくなり、利用可能な量子ビット数や量子ゲート操作数が増加するにつれて、新しいアルゴリズムの必要性が高まることが予想される。量子コンピュータは、基底状態だけでなく、励起状態やダイナミクスの特性をシミュレートすることができると期待されている。ほとんどの古典的な第一原理計算(ab initio、すなわち、追加の前提または特別なモデルなしに基本的な自然法則だけに依拠したシミュレーション)は、基底状態の静的な特性をシミュレートすることに限定されている。 また、興味あるフェルミ統計またはボソン統計に従う粒子系を、特定のハードウェアトポロジーに制約されている物理量子ビットにマッピングする新しい変換手法も必要である [35]。

物理学でのシミュレーション以外にも、タンパク質モデリング、分子動力学、気象予測、流体力学、医薬品設計、光学計算など、関連する様々な分野での機会があるだろう。医薬品設計などの産業上重要な問題のうち古典コンピュータには扱いにくい(classically-intractable)部分に量子コンピューティングを適用することで、十分なスケールと信頼性を持つ量子コンピュータは商業的に成功する可能性さえ秘めている。

4.3 機械学習・最適化問題

機械学習に関する量子コンピュータの有用性についてはあまり知られていないが、機械学習の応用上の重要性がこれを魅力的な研究領域にしている。もし、入力データまたはその非線形関数のいずれかを含む高次元の重ね合わせ状態を生成できるのであれば、クラスタリングやPCA(主成分分析)およびその他のデータ解析タスクを量子コンピュータによって迅速に実行できることが知られている。しかし、この初期状態の準備はまだまだ課題である。有用な全体的なスピードアップを得るには、$2^{n}$次元の状態を準備するのに$2^{n}$時間よりもずっと短い時間(nの多項式時間が望ましい)で準備する必要がある(訳者注:そうでないとたとえ量子PCAアルゴリズムのスピードアップがあっても、全体としてはスピードアップしていないか、むしろ遅くなってしまう)。私たちは現在、いくつかの特殊なケースについてしかその実行方法を知らない [36]。そのため、このようなことが可能となる条件の範囲を広げることは極めて有用である。

(訳者注:量子コンピュータによるPCAの計算加速は、のちにEwin Tangによって否定された。量子アルゴリズムと同様の制約を加えると古典コンピュータでも計算が加速されることがわかった。PCAを量子コンピュータで実行した時に、どのくらい速くなるかについて、さらなる研究が必要である)

最適化問題や分類問題のための変分アルゴリズムや断熱アルゴリズムは、近い将来に利用可能な量子コンピュータ上で実行できるものだが、古典コンピュータによるシミュレーションの手の届かないところにある [37]。これらのアプローチは、量子化学や量子シミュレーション [38] で有望視されているが、よく知られている古典ベストのアルゴリズムよりも優れているという証明はまだ無い。近未来の量子コンピュータでそれらを実行することによる経験的な証拠は、長期的かつスケーラブルなアプローチのための、私たちのアルゴリズムの理解を向上させるだろう。

4.4 量子誤り訂正(QEC)

現行のNISQシステムは、量子誤り訂正(QEC)をサポートするには余りにもリソースが制約されているが、このフィールドは、長い計算シーケンスにも耐えられるほど十分に長い時間の量子ビットの状態を保持するためにQECが採用される未来(今から10年以上先)を見すえている [39]。そのため、QEC研究に携わる人たちにとっては、QEC自体が未来の量子コンピュータで実行される主なワークロードである [40,41,42]。テクノロジータイムラインの中で早期に(すなわち少ない量子ビット数でも動作する)QECが実装されるよう、効果的で資源効率の良いQECアプローチ開発を目指すさらなる研究が必要である。

4.5 量子優位性(Quantum Advantage)

量子優位性のマイルストーンでは、古典コンピュータによるシミュレーションが不可能な特定の量子計算ベンチマーク [43] を仮定している。Googleは最近、特定のサンプリング問題に対してこのようなベンチマークを提案し、シミュレーションアルゴリズムの大幅な改善を促している。副作用として、研究者らはベンチマークにシミュレーションをより簡単にしてしまうような抜け穴をいくつか見つけた。Googleが改訂したベンチマークを発表したときには、既知の抜け穴は対処されていた。一般的に、私たちは量子計算ベンチマークのなかの抜け穴の発見と対処のいたちごっこになる期間が存在するだろうと想定している。一例として、効率的なテンソルネットワーク縮約が可能なので、対角ゲートのシーケンスをベンチマークに使用するのは避けるべきである。対角ゲートの後に計算基底測定する手法も活用できる。場合によっては、これらおよび他の抜け穴は検証技術によってチェックできる特性をもつ。

4.6 CS研究機会と量子アルゴリズムのタイムライン

何百もの量子アルゴリズムが存在 [44] するが、現在またはすぐに利用可能なNISQマシンで高速化を実現するアプリケーションとアルゴリズムの本質的な要求は残ったままである。

近い将来に有望(約10~20年):
このタイムフレームでは、1000量子ビットとフォー・ナイン(99.99%)の制御精度を持つNISQマシンの登場が予想される。初歩的な量子コンピュータでさえ、古典量子ハイブリッドアーキテクチャにおける量子コ・プロセッサとして有用であるという証拠がある。 応用としては、量子化学 [45] や材料科学の変分アルゴリズム、その他の専用シミュレータなどが挙げられる。場合によっては、例えば量子近似最適化アルゴリズム(Quantum Approximate Optimization Algorithm:QAOA) [46] を介して、シミュレーション結果に厳密な誤差範囲を算出することができる。

専用量子シミュレータ:
これには、量子コンピューティングのための汎用デバイスではないものや、ユニバーサルゲートセットを利用する場合よりも、「ネイティブ」ハミルトニアンを効率よくシミュレーションできる専用デバイスが含まれる。代表例は イオントラップや中性原子・分子の系である。このような専用量子シミュレータの魅力は、ユニバーサル量子コンピュータよりも簡単で安価にデバイスを構築できることであるが、系統誤差や汎用性の欠如などの欠点もある。

既存アルゴリズムの改善・有効活用:
現在知られている量子アルゴリズムには、改善の余地がたくさんある。例えば、量子ハードウェアが古典的なデータにアクセスするためのより効率的な方法があれば、線形システムアルゴリズム [47,48] や機械学は大幅に改善されるであろう。量子探索および確率振幅の増幅は、古典アルゴリズムが量子の世界で効率的に再定式化されうることを前提として、多項式加速を提供するための一般的なテクニックである。

先述した基底状態推定のような変分アルゴリズムはNISQ時代には有望であるが、いまのところ性能限界に関する理論研究は不足している。上界や下界に関する研究は、これらのアルゴリズムから有用な出力を得るために、どのくらいの量子ビット数とゲート忠実度が必要か、といったリソース推定を可能にすると期待される [49]。

実際に存在するハードウェア上で具体的なアルゴリズムを実行することは、実用的アルゴリズムと実行不可能なアルゴリズムの違いを効率的に見つけ出す手法につながるだろう。そのためには、特定のゲートセット、接続性、制御制約に対して効率的でほぼ最適な(near-optimal)マッピング技術、スケジューリング技術を開発する必要がある。このようなアルゴリズム・デバイスのコ・デザインは、量子コンピューティングシステム開発全体を加速するだろう。

あるひとつの理論的アルゴリズムであっても、その物理的なゲート操作としての実装方法には様々な選択肢が可能である。例えば、異なる量子回路で同じユニタリ変換を達成することができる。これらの可能な量子回路のうちのいくつかは、ノイズや制御エラーに対して他のものよりも敏感となる。これまでほとんどのエラー分析はゲートレベルで行われてきたが、NISQ時代ではより高いレベルでのノイズ分析がノイズ耐性アルゴリズムにつながる研究として欠かせないだろう。

5. デバイス

QCデバイスのランドスケープは急速に変化しているため、長期的な勝者がどれなのかを現時点で明確にして賭けることは困難である。表1にこれまでの技術選択肢をまとめた。この報告書ではCSの役割に焦点を当てているので、ここではデバイスについては概観のとどめ、技術スタックにおけるデバイス実装部分での多くの重要な研究の必要性について深く詳しく述べない。

5.1 現状

古典的コンピューティングとの競争には、QCシステムは十分な数の量子ビットと十分なゲート忠実度の両方を必要とする。超伝導回路およびイオントラップ [52] における現在の技術水準は、約10〜50量子ビットおよび1ゲートあたり約1%の誤差(「ツー・ナイン」または99%精度)を有するシステムである。5〜10年以内に、ブルートフォースな努力によって、これらのシステムの規模は、誤り率が改善された100量子ビット程度まで拡大される可能性がある。 このようなシステムは、量子的優位性、すなわち、特定のタスクにおける古典的なコンピュータに勝る決定的な性能向上を示すことができる。しかし、難しい現実の問題を解くには、より多くの量子ビットとより低いエラー率が要求される。図2に示されているように、この目標はいくつかの方法で達成することが可能だろう。

  • 1)機械学習の特徴付けと応用を通じて既存システムのエラーを改善する。

  • 2)オーバヘッドを低くし閾値も下げるように誤り訂正符号を改善する。

  • 3)これまでと異なる物理系で量子技術用の新しいファブリックを開発する。 これらは、根本的に異なるアプローチ、または現在研究されているプラットフォームのハイブリッドとなる可能性がある。

技術 利点 欠点 取り組んでいる企業
マヨラナ 原理的にエラーから保護される エンジニアリングが困難 Microsoft
固体スピン(PドープSi、NVセンターなど) 小さなフットプリント 不均一、大規模化が困難 Turing, CQC2T
量子ドット 小さなフットプリント、大規模化可能な製造方法 結合性 HRL, Intel
中性原子 均一性、長距離のゲート操作 良い2量子ビットが実証されていない Atom Computing Inc.
線形光学 [50] 大規模化可能な製造方法 キーコンポーネントが不足(単一光子源) PsiCorp, Xanadu
超伝導体 実証されたプログラマビリティ、リソグラフィ的に設計可能 大きなフットプリント 10mK動作 Google, IBM, Rigetti, Intel, QCI
イオン [51] 実証されたプログラマビリティ、長いコヒーレンス、均一性 マイクロ秒のゲート速度、レーザーの利用 IonQ, Honeywell
表1

5.2 デバイス課題と機会

NISQシステムでは、ゲートエラーが重要な役割を果たし、量子コンピュータのパフォーマンスはレイヤをまたいだ最適化によって大幅に向上する。物理的ファブリックとアーキテクチャは、特定の実装ニーズにきつく制約され、ソフトウェア・フレンドリーな抽象化のために費やすことのできるリソースはほとんどまたはまったくない。スケーラビリティが向上すると、エラー耐性のある論理量子ビットが可能となり、一部のシステムでは、抽象化のための十分な信頼性とリソースが確保されるだろう。

QCハードウェアの進歩には、コンピュータサイエンスと物理学の学際的なチーム間の緊密な連携が必要である。例えば、表現力豊かで最適化可能なツールフローをハードウェアに適用し、リソース制約や非理想性を考慮するためには、言語、コンパイラ、システムの研究者が必要である。また、スケーラブルでモジュラな設計アプローチを探求するには、コンピュータアーキテクトが必要となる。機械学習や分子動力学シミュレーションなどの特定のトピックについては、問題固有のハードウェアを様々な物理プラットフォームで探索する必要がある。総じて、これらの分野横断的な研究努力は、システム性能のための最適化機会のフルスイートの開発に要求されるであろう。

6. アーキテクチャ

6.1 概要

古典コンピュータにおいてと同様に、QCコンピュータアーキテクチャの最終的な役割は、モジュール性を向上させ、設計の正確さを補完し、プログラミングを単純化し、世代間のマシン発展の間での柔軟性を向上させるように、物理リソースを構成・抽象化することである。この初期の段階では、多少のアーキテクチャ探索は現在のNISQの制約の下でうまく機能するコンピュータ構造の開発を保証している [53]。デバイス技術の急速な変化を考えると、長期的なアーキテクチャの選択肢はまだ明らかではないかもしれないが、将来の大規模量子コンピュータに目を向けると、QCアーキテクチャコンセプトの探索は今すぐにでも始めるべきである。

古典的(非量子)コンピュータアーキテクチャにおける1つの基本的な抽象化は、命令セットアーキテクチャ(ISA)であり、これは様々な方法で実装される一連のソフトウェア側から見える操作を記述する。現在のリソース不足(すなわち、量子ビット数が100以下)を考えると、計算機スタック全体で最適化することが重要である。 この時代、抽象化は意図的に避けられた; 特定のリソースに最適化すると、ISA相当のものを持つことは望ましくない。この環境は、より汎用のアーキテクチャよりも、アプリケーション志向アーキテクチャ(例えば、量子化学計算、ハミルトニアンダイナミクスシミュレーション問題、VQE(変分量子固有値ソルバ)やQAOA(量子近似最適化)などの量子・古典ハイブリッドアルゴリズムなど)を支持する。

さらに、局所性と並列性を利用する構造は、QCプログラムのパフォーマンスを向上させるために重要であり、エラーの蓄積で回答が不正確で無駄になる前に計算が完了できる可能性も高められるだろう。また、量子回路のライブラリの最適化に基づいて、よりリソース削減された量子回路を得ることもできる [54]。

将来、利用できるリソースが潤沢になると、抽象化は実現可能になり、生産性を向上できるだろう。将来の量子プログラマが、QC命令および量子ビットを完全に信頼できる正確なものとして扱うことができるようにする効果的なQEC技術は、明らかな抽象化である。つまり、十分なリソースがあれば、エラー訂正はISAとは独立に抽象化でき、マイクロアーキテクチャに隠されるだろう。同様に、代替ゲート実装は、手作業の最適化ではなく、翻訳・最適化コンパイルプロセスで処理することができる。プログラミング言語、バックエンドコード生成、動的ランタイム、潜在的な仮想化などの従来のCSトピックは、この移行をサポートする上で非常に役に立つ。

古典的回路および計算要素は、量子コンピュータアーキテクチャにおいて複数の役割を有する。特に、アーキテクトは量子回路の制御のためのアーキテクチャ(例えばパルスジェネレータ)を考慮する必要があり、古典計算と量子計算の間のインタフェースも考慮する必要がある。ハードウェア中心のもの [55] から、量子計算のためのユニバーサルISAに近いもの [56,57] まで、複数レベルのプログラム仕様が必要である。特定のハードウェア上で実行される量子アルゴリズムを特徴付けとして、将来的には、完全なエンドツーエンド(古典的入力 - >計算 - >古典的出力)の側面とパフォーマンス(計算アウトプットの質および/または所与の計算タスクに要する時間)を考慮しなければならない。短〜中期的には、そのような特徴付けには、潜在的に高性能な種類の(訳者注:HPC。スパコンを利用するような高性能の)シミュレータがすべてのレベルで関与することになるだろう。

量子コンピューティングマシンがエラー訂正を利用するのに十分なほど大規模になると、エラー訂正のサポートはアーキテクチャの重要な側面になる。特に、誤り訂正は、大容量のクリーンな補助キュビットを生成し、消費し、リサイクルすることを必要とする。さらに、誤り訂正操作(測定、訂正操作など)を実行するための制御回路は、データパス操作の支配的な要素なので、理想的には量子データパスの近くに置かれることが望ましい [58]。このことは、誤り訂正ロジックの一部が低温動作可能でかつ、かつ(古典的環境と量子環境との間の頻繁な通信を避けるために)量子ゲートに近い場所に古典的ロジックで実装されるべきであることを示唆している [59,60,61]。

さまざまなレベルでの並列性は、将来のシステムにとって重要な検討事項である。広範に定義された量子ゲートの並列実装のための適切なアーキテクチャサポートは、NISQデバイスの能力を活用するための重要な要素である [62]。異なるゲート制御プリミティブ、例えばローカル対グローバル、は量子計算能力を高めるために利用されるだろう。量子コンピュータをアクセラレータとして使用する場合、ハイブリッドシステムの部品間の並行性(concurrency)を理解し、管理する必要がある。より大きなスケールでは、分散型マルチ量子システムは新たなチャレンジをもたらすだろう。

一般に、QCアーキテクチャは、並列性対コヒーレンス時間対エラー最適化の3次元トレードオフに直面する。その選択肢は実装技術特有のものである(例えば、超伝導アプローチは並列性は好ましいがメモリエラーに苦しんでいる。一方で、イオントラップアプローチはより低いゲートカウントに有利である)。どのようなタイプのレイアウトが理にかなっているだろうか? どのようなタイプのレイアウトが、不完全なリンクやリンクのエラー率の変動に対して頑健なのだろうか?

6.2 通信

大規模な量子コンピュータの場合、通信はマルチスケールの問題となる。 量子ビット数がローカルな通信がサポートできる範囲を超えて拡大するにつれ、コンピュータアーキテクチャには、ユニットのテレポーテーションなどの通信をサポートするリソースを含む必要が生じる [63]。量子ビット自体は、さまざまな技術と帯域幅の階層的インターコネクションドメイン内のモジュールに分割される。このような構造では、モジュール内通信(多くの場合、スワップや弾性運動によって達成される)とモジュール間通信(Einstein-Podolsky-Rosen(EPR)ペアの配信ネットワークによるいわゆる量子テレポーテーションを介して達成されることが多い)の両方を考慮する必要性も出てくる。モジュール性(modularity)と効率的な通信のためのアーキテクチャ設計は、全体的なデザインの重要な側面になる。これは、パフォーマンス、信頼性、スケーラビリティ、およびコストに影響する。一例として、長距離通信の両端におけるEPRペアの生成・蒸留のための量子論理回路はアーキテクチャ最適化のために重要になるだろう。

同様に、リソースの物理的配置に関する設計上の判断もある。例えば、量子操作を管理およびシーケンスする古典制御回路のいくつかは、最新のQC技術で好まれるような低温(一桁ケルビン)環境で動作するように設計されることから、しばしば恩恵を受けるだろう。これらの局所性とホットーコールドトレードオフを評価するアーキテクチャ的および設計的な判断は、今後数年間にわたり興味深い研究の方向性をもたらすだろう。

6.3 量子ビットを超えて:制御とメモリモジュールのアーキテクチャサポート

多数の量子ビットにスケールアップするためには、どのようなタイプのマイクロアーキテクチャが必要だろうか? 多くの量子ビットに必要な命令と状態を保持でき、極低温(ケルビン〜サブケルビン)でも機能するメモリシステムを、どのように設計したらよいだろうか? これは、異なるドメインで利用可能なさまざまな電力バジェット(および熱バジェット)を鑑みて、データを慎重に管理する必要があることを意味する。制御回路は、典型的には、マイクロ波パルスおよび測定のために、100万Xハードウェアを必要とする(訳者注:1量子ビットに1つの制御・測定ハードウェアが1つ必要なので、単純に100万量子ビットのマシンには100万個の制御・測定ハードウェアが必要となる)。このように規模を大きくする方法はあるだろうか? 関連して、命令を量子データパスに送るために何らかのハードリアルタイムシステムが必要か、または単純な状態マシンで十分だろうか?

6.4 QCアーキテクチャ設計:定量的アプローチ

上記の問題の多くには、性能と信頼性を定義するための評価基盤と指標の開発が強く求められている。基礎的なメトリクスとツールが利用できるようになれば、その存在はより広範なアーキテクチャ・コミュニティにアピールするのに役立つだろう。モデルやシミュレーションは、コンポーネント、サブシステム、システムに不可欠であり、これらによりハードウェアの性能を見積もる実験や評価が可能となる。ストレージ、補助量子ビット、Tファクトリーなどのシステムリソースは、アーキテクチャ全体で考慮する必要がある。現実の実装に対して検証できるシステムレベルのメトリクスも必要となる。このようなコストメトリクスは、最適化のよいターゲットとなる。

一般に、多くのコンピュータアーキテクチャ技術は、異なるスケールの不均一性を利用することを中心に展開されており、この種の量的トレードオフは、興味深いQCアーキテクチャ研究を促進するだろう。たとえば、複数の量子ビット(およびその接続)はそれぞれ異なるエラー率を持つことが知られている。 ワーストケースの量子ビットやリンクによって制限されるのではなく、そのバラツキを利用するようなアーキテクチャを設計できるだろうか? アーキテクトは、ツールに加えて、そのようなソリューションを駆動するためのエラー率に関する特性データを必要とする。そのようなデータセットを幅広い研究者に利用できるようにすることが重要である。

7. プログラミングモデルとツールチェーン

QCにおけるコンピュータ科学者の中心的役割の1つは、プログラミングモデルとツールチェーンの研究開発である [64]。 図3に示すように、現在のQCは、アルゴリズムとデバイス開発が、"その間にある"プログラミング機能とシステムの成熟を上回るという点で、古典コンピューティングの1950年にどこか似ている。古典コンピューティングでは、50年代、60年代、70年代とかけてレイヤー戦略がとられ、今日までいくつかの面でこれらは継承されているが、QCではリソース制約が厳しいため、異なるアプローチが取られる可能性がある。

過去10年間でプログラミングとツールチェーン開発の第一歩が踏み出されたが [65, 66, 67, 68] 、その多くはNISQ機能をはるかに超える高リソースアプリケーションやアルゴリズムに注目したものであった。現在の研究開発では、現在の実装での厳しいリソース制約を鑑みた、QCアルゴリズムのニーズを明確にできる表現力をプログラマに与えるテクニックに焦点を当てる必要がある。

図3: 1950年代の古典コンピューティング、現在の古典コンピューティング、量子ツールフローのレイヤー構造

QCプログラミングおよびシステム層の現在の状態は、ある意味、1950年頃の古典的コンピューティングの状態に似ている。特に、アルゴリズムやデバイス研究が注目されている一方で、QCシステムのプログラミング、マッピング、リソース管理の最適な実装方法と最適化方法を決定するためには、その"間"の機能にもっと注意を払う必要がある。これは、今日の古典コンピュータにあるソフトウェアスタックに似ているが、現状の厳しいリソース制約のためにQCでは異なる形式をとることも十分ありえる。

リソースの許す限り、スケーラブルなシステムに一般的に必要となるモジュール化とレイヤリングのような追加作業が必要になる [69, 70]。例えば、一般的に使用される関数のライブラリは、開発と最適化を助けるだろう [71]。QECの重要な側面のモジュールも同様に重要である。究極的には、トランジスタの動作に精通したプログラマがほとんどいない今日の古典コンピューティング環境と同様に、量子ビットを深くまたは物理的に理解することなしに、どの程度まで量子コンピュータをプログラム可能になるかが重要である。

短期的には、QCシステムでは、アプリケーションやプログラムからデバイス性能に到るまでの情報やデータをフルスタックで共有する必要がある。このように、言語やソフトウェアシステムは、そのような情報を集約して共有する方法の恩恵を受ける。同様に、人間に関する側面として、会議やコミュニティを開発し、ツールチェーンのさまざまな部分で作業する人々がアプローチを共有し、幅広いアプリケーションやデバイスの専門家と対話できるようにすることも重要である。より長期的には、標準インターフェイス層によって、ツールチェーンや異なるアカデミア・産業界からのアプローチが相互運用できるようになる可能性がある。

プログラミングとコンパイルに加えて、ランタイムシステムとオペレーティングシステムも考慮する必要がある。QCシステムの制御の複雑さを考えると、重要な研究は量子ビットの較正(Calibration)と特定のシステム特性への適合のための良い方法を中心に展開されるだろう。また、プログラム実行の量子部分と古典部分との間の動的調整に関しても、さらなる研究が必要である。

8. 検証

量子アルゴリズムの複雑さから量子ゲートの信頼性に至るまで、量子コンピューティングはエラーに満ち溢れている。このことは、量子回路の生成に使用されたプログラムからハードウェア設計まで、量子計算の各段階での検証を要求する。検証された量子コンピューティングスタック(PrincetonのVerified Software Toolchain [72] に類似)は、量子コンピューティングプロセスの各レベルが仕様に対応することを保証し、最終システムの信頼性を向上させ、エラーの診断を可能にする。

8.1 高水準:量子プログラム

この検証スタックの最上位に位置するのは、量子プログラムの検証である。検証したい量子システムの特性は、軽量なものから総合的なものまで多岐にわたる。軽量側では、型システムや抽象解釈のような伝統的なプログラミング言語技術によって、ノークローニング(量子ビットはコピーできない)、または2量子ビットの分離性(量子ビットがエンタングルしているかどうか)などのプロパティを検証できる。より重量級のシステムでは、量子回路の任意の特性の検証や、その動作の完全な特徴付けには、量子プログラムは十分に理解されている(超演算子(superoperator)の観点では正確なセマンティクスを持っている)という事実を利用する。Coq Proof Assistant [74] のQWIRE回路言語 [73] のようなツールは、洗練された量子プログラマたちの検証力を向上させた。Quantum Hoare Logic [75] (Isabelle(訳者注:証明支援言語のひとつ)で実装されている)などのプログラム論理は、フルプログラム検証の作業を簡素化できる。Unruhにより提案されているQuantum Relational Hoare Logic [76] (暗号ツールEasyCrypt [77] をモデルにしている)のように、セキュリティプロトコルを実装するような特定クラスの量子プログラムを検証するためのツールも開発されている。可逆問題からなる量子プログラムのサブセットには、証明支援器(Proof Assistant)F*において検証されたF#からToffoliネットワークへのコンパイラであるReVerC [78] などのツールも用意されている。

8.2 中水準:蓄積されたエラーの検証

プログラム検証における主な疑問は、量子プログラムを通じて蓄積されたエラーをどのように追跡し、許容誤差の範囲内で計算が実行できることをどのように検証するかである。 このエラーは、コンピュータの固有のノイズ、またはアルゴリズムの確率的性質に起因する。計算における誤差の量を追跡し数値化し、その情報をユーザに報告することができる型システムなどのツールは、新しいアルゴリズムの設計に大いに役立ち、限られた量子処理時間を使用するプログラムの信頼性を高めることができる。このことは、例えば、最近のunion boundのプログラムロジック [79] や量的信頼性の検証(例:Relyプログラミング言語 [80])などapproximate/unreliableコンピューティング分野の人々やアイディアをもたらすよい機会かもしれない。

8.3 ハードウェア水準

ハードウェアアーキテクチャに量子回路を適応させるには、量子ビット配置、ゲートスケジューリング、およびパルスシーケンス生成に関する強力な最適化がいろいろ必要である。これらの最適化は、デバイスエラーに対する感受性を低下させ、既知の不良量子ビットを避けるように経路指定することさえ可能にする。QEC回路の存在は、最適化が必要な別の豊富な層を追加する。ただし、最適化の各カテゴリではバグが発生し、検証ツールの需要も増える。従来のElectronic Design Automation(EDA)では、最も簡単な検証カテゴリは回路等価性の形式チェックである。これに相当する方法は、SAT(訳者注:Boolean SATisfiability。論理式の充足可能性問題)、SMT(訳者注:Satisfiability Modulo Theories。背景理論付きSAT)ソルバ、およびBDD(訳者注:Binary Decision Diagram。二分決定図)に基づく。

ハードウェアに最適化されたモジュラ累乗(Shorのアルゴリズム用)の検証は計算上困難なままだが、これらの手法は可逆ブール回路の形式検証に適用可能である。試行 [81] はあるが、非ブールゲートのある量子回路は、SAT、SMT、およびBDDテクニックを適用しにくくする。厳密等価性と近似等価性との間には大きな差があり、後者は等価関係を意味しないため、様々な計算法を破る。近似等価性は誤差の累積もあり、回路およびシステムのエンドツーエンド評価に影響する。厳密等価性は、大量に作成することが安全なローカルな回路変換に関連する。

9. 結論

全体的に、QCは深く魅力的な変曲点に位置している。産業界と政府からの大規模な投資は、量子ビット数と忠実度のブレークスルーを目指しており、量子の優位性の実証は皆がもとめるマイルストーンである。しかしながら、長期的な実用化への道のりには、量子優位性が達成された後にもかなりのイノベーションが必要となる。QC開発への時間と資源の継続的な投資を促すためには、中規模のハードウェアで利用できる実用的QCアルゴリズムが必要になるだろう。「キラーアプリ」や少なくともこの10年間で実行可能な有用なアプリがなければ、進歩は失速するかもしれない。

さらに、このワークショップは、アルゴリズムとデバイスの間の機能性を介して、QCシステムのプログラミング、マッピング、およびリソース管理を最適に実装し、最適化する方法に関する研究が必要であることに合意した。QCシステムが小さな量子ビット数を超えて成長するにつれモジ​​ュラーな大規模設計を必要とするため、システム設計とスケーラビリティに気を配ることが重要となる。近い将来のNISQマシンでは、現在の実装での厳しいリソース制約に比べて、QCアルゴリズムのニーズを明確にするために必要な表現力をプログラマに提供する言語とコンパイル手法を作成・洗練する必要もあるだろう。

長期的には、量子リソースがいっそう豊富になると、抽象化により生産性を高めることもできるようになる(例えば、効果的なQEC技術により、将来のQCプログラマは、QC命令および量子ビットを完全に信頼性高く正確に扱うことができる)。私たちはスケーラブルなシステムに必要となるある種のモジュール化と階層化を確立する必要がある(例えば、よく使用される関数のライブラリ、開発や最適化に役立つAPIや命令セットなど)。さらに、現実の量子システムは、古典ユニットと量子ユニットのハイブリッドであり、そのような機械の「両側」を効率的にプログラム、マップする方法に関する研究が必要である。ただし、両側で保証されているアーキテクチャ的な洗練度や、それらの間のコミュニケーションの問題によって意見は異なるだろう。

現在のところ”winning technology"が何なのかは、はっきりしていない。この分野全体として、異なる物理デバイスアプローチに基づいて量子技術のためのファブリックを革新し続けてゆく必要がある。特に、実装の進歩は、デバイス物理だけでなく、コンピュータ科学者と物理学者の学際的なチーム間の緊密な連携によってQCハードウェア構造やアプローチを一体的に進めていくことに依存するだろう。例えば、確率的プログラミングやapproximate/unreliable computingなどの分野が考えられる。

共通のAPIと標準インタフェース層を準備し、異なる学術機関や業界団体からのツールチェーンやアプローチの相互運用を可能とすることで、コミュニティは様々な恩恵を受けるだろう。同様に、言語、コンパイラ、ソフトウェアシステムをオープンソース化することができれば、アプリケーションやプログラムからデバイス固有のものまで、フルスタックの進歩をサポートできるだろう。QCの成功のために想定されているすべてのニーズの中で、CS研究コミュニティの関与とQCアウェアなCS人材の教育は、必要な研究目標を達成する上で非常に重要な要素となるだろう。

10. 補遺

ワークショップ参加者

ファーストネーム ラストネーム 所属
Matthew Amy University of Waterloo
Kenneth Brown Duke University
Greg Byrd North Carolina State University
Jonathan Carter Lawrence Berkeley National Laboratory
Vipin Chaudhary National Science Foundation
Andrew Childs University of Maryland
Fred Chong University of Chicago
Almadena Chtchelkanova National Science Foundation
Dave Clader Johns Hopkins University Applied Physics Laboratory
Tom Conte Georgia Institute of Technology
Sandra Corbett Computing Research Association
Nathalie de Leon Princeton University
Khari Douglas Computing Community Consortium
Ann Drobnis Computing Community Consortium
Monisha Ghosh National Science Foundation
Markus Grassl Max Planck Institute for the Science of Light
Emily Grumbling National Academy of Sciences
Daniel Gunlycke U.S. Naval Research Laboratory
Aram Harrow Massachusetts Institute of Technology
Peter Harsha Computing Research Association
Mark Heiligman IARPA
Bettina Heim Microsoft Research
Mark Hill University of Wisconsin-Madison
Andrew Houck Princeton University
Meghan Houghton National Science Foundation
Travis Humble Oak Ridge National Laboratory
Sabrina Jacob Computing Research Association
Ali Javadi-Abhari IBM Research
Sonika Johri Intel Labs
Jamil Kawa Synopsys, Inc.
Jungsang Kim Duke University
Vadym Kliuchnikov Microsoft Research
John Kubiatowicz University of California at Berkeley
Brad Lackey University of Maryland, College Park
Yi-Kai Liu NIST and University of Maryland
Igor Markov University of Michigan
Margaret Martonosi Princeton University
Dmitri Maslov National Science Foundation
Anne Matsuura Intel Labs
Mimi McClure National Science Foundation
Michael Mislove Tulane University
Yunseong Nam IonQ
Massoud Pedram University of Southern California
Irene Qualters National Science Foundation
Moinuddin Qureshi Georgia Institute of Technology
Robert Rand University of Pennsylvania
Martin Roetteler Microsoft Research
Neil Ross Dalhousie University
Amr Sabry Indiana University
Peter Selinger Dalhousie University
Peter Shor Massachusetts Institute of Technology
Burcin Tamer Computing Research Association
Jake Taylor OSTP
Himanshu Thapliyal University of Kentucky
Jeff Thompson Princeton University
Heather Wright Computing Research Association
Helen Wright Computing Community Consortium
Xiaodi Wu University of Maryland, College Park
Jon Yard University of Waterloo
Kathy Yelick Lawrence Berkeley National Laboratory
William Zeng Rigetti Computing

ワークショップ報告書への協力者: Prakash Murali (Princeton University), Teague Tomesh (Princeton University), Yipeng Huang (Princeton University).

「量子コンピューティングの次のステップ:コンピュータサイエンスの役割」全訳
Share this