量子電腦容易產生雜訊和錯誤,因為個別量子位元對環境條件變化高度敏感。 容錯量子運算需要使用量子錯誤更正(QEC)程式碼的演算法。 這些程式碼從多個實體量子位元集合中建立並使用邏輯量子位元。 邏輯量子位元在程式運行於量子電腦上時修正錯誤,使量子計算能提供可靠的結果。
Microsoft Quantum 資源估計器是 Microsoft Quantum Development Kit(QDK)Python套件中的一個開源工具,讓你能估算在容錯量子電腦上執行量子程式所需的資源。 錯誤更正碼增加了量子演算法的物理量子位元數量與執行時間。 資源估計器可估算在給定的錯誤更正方案下,量子應用程式在特定硬體上執行所需的物理量子位元數量和執行時間。
透過量子資源估計器,你可以比較量子位元技術、量子錯誤更正方案與硬體技術,以了解執行量子程式所需資源的影響。
量子資源估計器是如何運作的?
資源估計器設計為分層建模方法,具備彈性與可組合性。 你會為應用程式、硬體和錯誤更正方案建立模型。 你也說明了這些模型是如何互動的。 所有模型和說明彼此獨立,因此你可以組合並比較不同的模型組合。
資源估計器使用中間表示來連接各層。 這些表示是估計器實作的一部分,並非典型使用所必需。 你透過標準程式語言和高階配置模型與資源估計器互動。
量子資源估計器需要四個輸入:
- 描述量子運算的應用模型,例如 Q# 程式
- 一種描述量子硬體的 target 架構模型,例如具有特定閘時間與錯誤率的閘極超導量子位元
- 對應於硬體架構模型的錯誤修正與工廠蒸餾模型
- 錯誤預算,指邏輯量子位元操作的最大允許錯誤率
根據應用模型,資源估計器會產生一個或多個應用程式的痕跡。 這些痕跡是對應用於量子位元的指令序列的緊湊表示。 根據架構模型與錯誤更正模型,資源估計器推導出一個物理指令集(ISA),指定操作時間、量子位元成本及錯誤率。
應用層與架構層皆轉換為可配置的轉換。 來自應用層的追蹤變換包括閘分解與布局常式。 來自架構層的 ISA 轉換包含量子錯誤校正碼與魔術態工廠,用以從架構的物理基本操作建構出更高保真度的邏輯指令集。
資源估計器探索了龐大的組合設計空間,因為每一層都有許多有效的設計選擇。 例如,不同的 QEC 碼距離、不同的工廠協議,以及不同的分解參數。 資源估計器會探索應用追蹤與架構指令集的各種組合,以評估每種組合的物理量子位元計數、執行時間及累積錯誤率。 結果會被篩選為帕累托最優前緣,亦即一組最優配置集合:在指定的錯誤預算範圍內,不存在其他結果能同時在量子位元數和執行時間兩方面表現更佳。
應用程式語言支援
資源估計器接受以下多種程式語言及中介格式的量子應用:
- Q#
- Cirq
- OpenQASM
- QIR
- 邏輯計數
- 自訂應用程式
有了 QIR 及建立自訂應用程式的能力,資源估計器具備語言無關性,並支援廣泛的量子程式設計工具。 不同框架下的應用會使用相同的估計管線進行分析。 你也可以在這些支援框架之外建立自訂應用程式。
架構硬體支援
資源估計依賴於對 target 硬體及保護邏輯操作免於錯誤的錯誤修正碼的假設。 資源估計器包含內建的通用架構模型及錯誤更正方案。 你也可以自訂硬體與錯誤修正模型,探索假設架構、評估新興技術,或研究物理參數變化如何影響執行程式所需的資源需求。
比較估算並視覺化結果
資源估計器讓你能估算執行相同量子演算法對不同架構模型配置 target 所需的資源。 你可以繪製每種配置的結果來比較。 當你比較估算時,可以了解量子位架構、QEC 方案及其他硬體參數如何影響執行程式所需的整體資源。
開始使用資源估算器
欲開始,請參閱「如何安裝與使用Microsoft Quantum資源估算器」。
欲了解更多資訊與程式碼範例,請參閱 GitHub 上 QDK 倉庫中的量子資源估計器範例。