作者:張晏瑞 / 臺灣大學IBM量子電腦中心研究助理
世界各國都已經積極的投入量子科技的研發,全球的量子競賽早已開始,學習使用量子電腦來處理當今古典電腦無法處理的部分複雜運算是重要課題。想成為一個量子計算探險家嗎?本文章將是您進入量子計算世界重要的第一份地圖。
量子科技的簡介
量子電腦泛指使用量子力學的量子疊加(Superposition)和量子糾纏(Entanglement)以及不確定性(Uncertainty)特性來處理邏輯運算的運算機器,由於量子疊加與糾纏態使得可計算能力隨著量子位元(Qubits)增加而呈現指數成長,其可能對社會及產業帶來的巨大衝擊和根本性質變,對於在當今最複雜的超級計算機上也難以解決。我們有充分的理由相信,量子有一天可以在模擬複雜分子、解決機器學習問題等方面提供計算優勢。但我們身邊沒有充斥量子電腦的原因,是製造出可操作的量子位元是非常困難的,它們必須控制的量子效應非常敏感,雜散熱量或雜訊都很容易破壞量子狀態。
為首先達到量子霸權,各國政府和科技巨擘近來大量投入量子資訊及相關量子技術的研發。量子技術發展不斷推陳出新,技術發展迅速,不僅操作及量測的精密度提高,而且能夠透過操縱原子直接模擬量子系統。 Google、IBM、英特爾、微軟等國際企業紛紛擴大量子計算上的研發。其中關鍵硬體技術量子位元的發展也是百花齊放:超導體、離子阱(ion trap)、冷原子、鑽石的氮晶格空缺 (nitrogen-vacancy)中心、量子點(quantum dot)、矽基量子位元(Si-based qubit)、拓撲量子位元(topological qubit)、光量子集成電路(photonic integrated circuit)、核磁共振(NMR)等量子位元都以不同形式應用於量子電腦中。
Google在2019年利用Sycamore 53量子位元在200秒內取樣1個量子電路100萬次,計算速度遠遠超過古典電腦,進而宣稱達到量子霸權(quantum supremacy)。IBM則是首先在2016年5月,IBM Cloud將首台由5個超導量子位元所組成的量子處理器作為Quantum Experience服務的硬體設備,免費提供給全世界的使用者進行量子計算,現發展到127位元的處理器「IBM Quantum Eagle」,今年年底預計推出433位元的處理器「IBM Quantum Osprey」,2023年推出1121位元的處理器「IBM Quantum Condor」。並和金融、高科技、航太、生技等領域建立合作夥伴關係,致力發展量子電腦的應用與潛力。
IBM Qiskit系統的使用架構及講解
Qiskit是一個IBM開發的量子電腦開源框架,提供便利模組讓參與者使用量子電腦。其提供了用來創建和操作量子應用程式的環境,使量子程式可以在IBM的量子設備,或是本地端模擬器上運作。由於Qiskit遵循通用量子運算的電路模型,因此可以支援遵循該模型的量子硬體,故並不只可用於 IBM 量子電腦,目前IonQ、Rigetti和AQT等也可使用Qiskit來進行量子計算。
Qiskit自2017年第一次發布以來已經發展並更新了很多。核心模組已經演化成多個專業功能化模組,無論是新加入用戶還是經驗豐富的開發人員,都能快速上手,加速學習和簡化量子開發過程。以下為Qiskit結構的概述:
圖1:Qiskit量子生態系統示意圖(資料來源:IBM)
上圖為目前整個Qiskit量子生態系統的示意圖,帶有“Qiskit”這個名稱的項目是量子開源領域的重要組成部分。此處列出的套件包涵蓋最穩定和最常使用的大項目,可以將這些視為Qiskit“大城市”的主要建築,而將其他項目視為較小的房屋,而且這個模塊架構本身可能會隨著時間的推移而發生變化。
- 核心模組-Qiskit Terra
Qiskit Terra是構成Qiskit核心功能模組,也是Qiskit生態系統中最廣泛的使用的量子計算工具套件,許多其他模組都與之交互使用。自從開始學習構建量子電路,這可能是您最先接觸到的模組。這模組由以下數個部分構成:
- 量子電路(circuit):用於初始化和設定暫存器、電路、指令、量子邏輯閘、參數和控制流程。該模塊包含一個電路庫(qiskit.circuit.library),是基於電路的量子計算的關鍵基石,其中包含大量電路、指令和量子邏輯閘。
- 算法(algorithms):建置了常用的量子演算法,包括幅度放大器(Amplitude Amplifier)、幅度估計器(Amplitude estimator)、特徵求解器(Eigensolver)、最小特徵求解器(Minimum Eigensolvers, 例如 VQE、QAOA)、因數分解器(Factorizers)和相位估計器(Phase estimators)。
- 運算符(opflow):電路和算法之間的關鍵模塊,功能在使用函數和運算符創建和實現理論量子電路的基本元件。
- 脈衝(pulse):用於在較底層的脈衝指令上基礎的量子開發,使用戶能夠指定實驗的精確時間動態。
- Primitives(primitives):用於實現由量子電腦和模擬器的原始操作。
- Quantum Information(quantum_info):使用精確計算(無採樣噪聲)處理量子狀態和運算符的工具模組。
- Transpiler(transpiler):用於調整量子電路以適應特定的設備幾何結構或優化在嘈雜的量子系統上的執行。
- 可視化(visualization):視覺化來自量子電路模擬和實驗結果的數據處理的工具模組。
- 高階應用模組
此類別由四個單獨的模組組成,專注於量子計算有可能對現實世界產生影響的不同領域。
- Qiskit Nature:
此模組主要處理自然界常見的量子模擬的問題,例如:尋找分子的基態和激發態及蛋白質折疊等問題。當提供分子組態時,將這資料轉換成是用量子化學計算的形式。
- Qiskit Finance:
這模組專注在支持專業人員致力於解決金融問題的量子解決方案,涵蓋兩個主要領域:
- 優化:包括投資組合優化和多樣化
- 估計:包括歐式看漲期權和固定收益定價
包含了一個電路資料庫(qiskit_finance.circuit.library),提供金融相關應用的基礎量子電路。
- Qiskit Optimization:
此模組提供了優化工具,用於研究量子算法在Max Cut和Traveling Salesman等優化問題中的應用,包含處理二次最佳化問題的基礎工具。
- 底層應用
底層應用主要設計用於更接近和瞭解真實量子設備的研究。
- Qiskit Experiments:
此模組主要用於開發要在真實量子電腦上運行的實驗。Experiments提供了一個實驗性質的驗證空間,用於特徵化、校準和驗證,用於了解真正的量子設備。
- Qiskit Metal:
此模組目的在研發硬體原型設計和分析來緩解設計量子設備的一些痛點。
- Qiskit Dynamics:
這是Qiskit生態系統中相對較新的模組,目的在提供構建和數值求解量子系統模型的工具,包括用於在這些模型上自動執行常見數學轉換的工具,自動化常由手工完成的程序。
- 模擬器-Qiskit Aer
它提供了具有真實噪聲模型的高性能量子計算模擬器。Aer目前提供兩個模擬器後端,通過Aer Provider模組(qiskit.providers.aer)提供:噪聲量子電路的模擬器(AerSimulator)及脈衝時間表的模擬器後端(PulseSimulator)
最後大家覺得:“Qiskit是什麼?”。簡而言之,Qiskit是可以簡單直觀地執行量子電路的工具,是一個進入量子計算簡單的入口。這工具由一個複雜的開源軟件生態系統構成,藉由使用Qiskit可以幫助量子計算設計者加速塑造未來。想成為量子設計師嗎?請進入IBM Quantum Computing,註冊加入量子元宇宙。
參考資料
- https://qiskit.org/
- https://medium.com/qiskit/what-is-qiskit-your-guide-to-navigating-the-qiskit-cosmos-in-2022-7cc415426f31