量子コンピューターは、個々の量子ビットが環境条件の変化に非常に敏感であるため、ノイズやエラーが発生しやすくなります。 フォールトトレラントな量子コンピューティングには、量子誤り訂正(QEC)コードを用いるアルゴリズムが必要です。 これらのコードは、個々の物理量子ビットのコレクションから論理量子ビットを構築して使用します。 論理量子ビットは、プログラムが量子コンピューター上で実行されている間にエラーを修正し、量子計算が信頼性の高い結果を提供できるようにします。
Microsoft Quantum リソース推定器は、フォールト トレラントな量子コンピューターで量子プログラムを実行するために必要なリソースを推定できる、Microsoft Quantum Development Kit (QDK) ライブラリのPython ツールです。 エラー修正コードは、量子アルゴリズムの物理量子ビット数と実行時間を増やします。 リソース推定器は、特定のエラー修正スキームを使用して、特定のハードウェアで量子アプリケーションを実行するために必要な物理量子ビットの数と時間を決定します。
量子リソース推定器を使用すると、量子ビット テクノロジ、量子エラー修正スキーム、ハードウェア テクノロジを比較して、量子プログラムの実行に必要なリソースへの影響を把握できます。
量子リソース推定機能のしくみ
リソース推定器は、柔軟で構成可能な階層モデリング アプローチを中心に設計されています。 アプリケーション、ハードウェア、およびエラー修正スキームのモデルを構築します。 また、これらのモデルの対話方法も指定します。 すべてのモデルと命令は互いに独立しているため、さまざまなモデルの組み合わせを組み合わせて比較できます。
リソース推定器は、中間表現を使用してレイヤーを接続します。 これらの表現は推定器の実装の一部であり、一般的な使用には必要ありません。 標準のプログラミング言語と高度な構成モデルを使用して、リソース推定機能と対話します。
量子リソース推定器には、次の 4 つの入力が必要です。
- 量子計算を記述するアプリケーション モデル (Q# プログラムなど)
- 特定のゲート時間とエラー レートを持つゲートベースの超電導量子ビットなど、 target 量子ハードウェアを記述するアーキテクチャ モデル
- ハードウェア アーキテクチャ モデルに対応するエラー修正およびファクトリ蒸留モデル
- 論理量子ビットに対する操作で許容される最大エラー レートであるエラー予算
アプリケーション モデルから、リソース推定器によって 1 つ以上のアプリケーション トレースが生成されます。 これらのトレースは、量子ビットに適用される命令シーケンスのコンパクトな表現です。 アーキテクチャ モデルとエラー修正モデルから、リソース推定器は、操作時間、量子ビット コスト、およびエラー レートを指定する物理命令セット (ISA) を派生させます。
アプリケーション レイヤーとアーキテクチャ レイヤーの両方が、構成可能な変換に変換されます。 アプリケーション層からのトレース変換には、ゲート分解とレイアウト ルーチンが含まれます。 アーキテクチャ レイヤーからの ISA 変換には、アーキテクチャの物理プリミティブからより忠実な論理命令セットを構築するための量子エラー修正コードとマジックステート ファクトリが含まれます。
リソース推定器は、各レイヤーに多くの有効な設計選択肢があるため、大規模な組み合わせ設計空間を探索します。 たとえば、QEC コードの距離、ファクトリ プロトコル、分解パラメーターが異なります。 リソース推定器は、アプリケーション トレースとアーキテクチャ ISA のすべての組み合わせを調べて、各組み合わせの物理量子ビット数、実行時間、累積エラー率を評価します。 結果はパレート最適フロンティアに絞り込まれます。これは、指定されたエラー予算の範囲内で、量子ビット数と実行時間の両方において同時にこれより優れた他の結果が存在しない構成から成る最適な集合です。
アプリケーション言語のサポート
リソース推定器は、次のプログラミング言語と中間形式のいくつかの量子アプリケーションを受け入れます。
- Q#
- Cirq
- OpenQASM
- QIR
- 論理カウント
- カスタム アプリケーション
QIR とカスタム アプリケーションを作成する機能により、リソース推定機能は言語に依存せず、幅広い量子プログラミング ツールをサポートします。 異なるフレームワーク内のアプリケーションは、同じ推定パイプラインを使用して分析されます。 また、サポートされているこれらのフレームワークの外部でカスタム アプリケーションをビルドすることもできます。
アーキテクチャ ハードウェアのサポート
リソースの見積もりは、 target ハードウェアに関する前提と、論理操作をエラーから保護するエラー修正コードによって異なります。 リソース推定には、一般的なアーキテクチャとエラー修正スキームの組み込みモデルが含まれています。 また、独自のカスタム ハードウェアおよびエラー修正モデルを定義して、架空のアーキテクチャを調査したり、新しいテクノロジを評価したり、物理パラメーターの変更がプログラムを実行するためのリソース要件に与える影響を調査したりすることもできます。
見積もりを比較して結果を視覚化する
リソース推定ツールを使用すると、 target アーキテクチャ モデルのさまざまな構成に対して同じ量子アルゴリズムを実行するために必要なリソースを見積もることができます。 各構成の結果をプロットして、結果を比較できます。 見積もりを比較すると、量子ビット アーキテクチャ、QEC スキーム、およびその他のハードウェア パラメーターが、プログラムの実行に必要な全体的なリソースにどのように影響するかを理解できます。
リソース推定機能の使用を開始する
開始するには、「Microsoft Quantum リソース推定器をインストールして使用する方法」を参照してください。
詳細とコード サンプルについては、GitHubの QDK リポジトリの量子リソース推定サンプルを参照してください。