什麼是 Azure Quantum?
Azure Quantum 是 Azure 雲端量子運算服務,具有各式各樣的量子解決方案和技術組合。 Azure Quantum 可確保量子運算的開放、彈性和未來證明路徑,可適應您的工作方式、加速您的進度,以及保護您的技術投資。
Azure Quantum 提供最佳的開發環境,一次為多個平臺建立量子演算法,同時保留針對特定系統調整相同演算法的彈性。 您只要撰寫一次程式碼,幾乎不用變更,就可以對同系列的多個目標執行,讓您專注程式設計的演算法層級。
- 開放的生態系統讓您可以存取來自 Microsoft 及其合作夥伴的各種量子軟體、硬體和解決方案。 您可以從量副程式設計語言中挑選,例如 Qiskit、Cirq 和 Q#,並在多個量子系統上執行您的演算法。
- 現今的量子影響,可讓您同時探索現今的量子系統,並準備好在未來調整的量子系統,以及針對傳統和加速計算資源執行的預先建置解決方案, (也稱為優化解決方案) 。
提示
如果您沒有 Azure 帳戶,請 免費 註冊並註冊 隨用隨付訂用帳戶。 如果您是學生,您可以利用 免費的 Azure 帳戶供學生使用。
- Azure Quantum 的組件
- 如何開始使用 Azure Quantum?
- 量子運算中的資源估計
- Q# 和 Quantum 開發套件是什麼?
- 量子軟體開發的工作流程
- Azure Quantum 上提供的提供者
Azure Quantum 的組件
透過 Azure Quantum,您可以利用現今在完整堆疊開放雲端生態系統中運用量子運算的優點,並存取軟體、硬體和預先建置的解決方案。 Azure Quantum 提供兩種類型的量子解決方案:量子運算和優化。
量子運算
如果您的目標是模擬量子力學問題 (例如化學反應、生物反應或材質構成),則量子電腦的效果特別好,因為其在計算中使用了量子現象。 量子電腦也有助於加速需要大量計算之各種不同領域的進展,例如金融服務、機器學習服務及非結構化資料搜尋等。
使用 Azure Quantum,研究人員和企業就可以使用量子運算來建立風險管理、網路安全性、網路分析、資料搜尋、疫苗開發或材料科學等複雜案例的模型。 若要深入了解如何使用量子計算和量子演算法,請參閱了解量子運算。
Optimization
數十年來,在傳統電腦上模擬量子效果,導致開發名為 量子啟發式優化的新量子解決方案類型。 最佳化是指在指定其所需結果和條件約束的情況下找出問題最佳解決方案的過程。 各產業都有複雜的最佳化問題:車輛行駛路線、供應鏈管理、工作排程、組合最佳化、電網管理等。 解決這些實際問題會產生高價值的優點,例如降低成本、加速流程或降低風險。
量子啟發式優化演算法會利用傳統硬體上量子運算的一些優點,進而加快傳統方法的速度。
Azure Quantum 可讓您存取 Microsoft 與合作夥伴開發的許多最先進量子啟發式最佳化演算法。 若要深入了解 Azure Quantum 中的最佳化解決方案,請參閱何謂最佳化。
如何開始使用 Azure Quantum?
提示
第一次使用者會自動取得免費 $500 (USD) Azure Quantum 點數,以便與每個參與的量子硬體提供者搭配使用。 如果您已使用所有點數,但還需要更多,可以申請 Azure Quantum 點數方案。
開始使用 Azure Quantum 非常簡單且免費的新使用者。 若要將量副程式和優化解決方案提交至 Azure Quantum,您只需要兩件事:
- Azure 帳戶:如果您沒有 Azure 帳戶,請免費註冊並註冊 隨用隨付訂用帳戶。
- Azure Quantum 工作區:Azure Quantum 工作區是與執行量子或優化應用程式相關聯的資產集合。 若要建立 Azure Quantum 工作區,請移至Azure 入口網站,選取 [快速建立],並自動建立工作區並新增預設提供者。 或選取 [進階建立],然後輸入工作區的詳細資料,然後選擇提供者。
如需詳細資訊,請參閱建立 Azure Quantum 工作區。
量子運算中的資源估計
在量子運算中,資源估計是瞭解資源的能力,也就是量子位數目、量子閘道數目、處理時間等,這是給定演算法所需的資源數目,假設 (或採用作為特定硬體特性) 的參數。 瞭解量子解決方案所需的量子位數目,以及量子位技術之間的差異,可讓專家準備和精簡其量子解決方案,以在未來調整的量子機器上執行,最終加速其量子影響。
Azure Quantum 提供第一方資源估計目標,可計算及輸出程式的時鐘執行時間和實體資源估計值,假設它是在容錯錯誤更正的量子電腦上執行。 Azure Quantum Resource 估算器 專為調整量子 (NISQ 後、容錯系統) 而設計,可讓您評估架構決策、比較量子位技術,以及判斷執行指定量子演算法所需的資源。 您可以選擇預先定義的容錯通訊協定,並指定基礎實體量子位模型的假設。
Azure Quantum 資源估算器會藉由假設量子位參數、量子錯誤修正 (QEC) 代碼,以及將錯誤預算納入考慮,來計算配置後實體資源估計。 它採用 Quantum Intermediate Representation (QIR) 程式作為輸入,因此支援任何翻譯為 QIR 的語言,例如,您可以使用 Azure Quantum Resource Estimator 搭配熱門的量子 SDK 和語言,例如 Q# 和 Qiskit。
Azure Quantum Resource 估算器會採用一組輸入,其中包含預先定義的值,讓您輕鬆開始使用:
- 實體量子位參數
- 量子錯誤修正 (QEC) 配置
- 錯誤預算
如需詳細資訊,請參閱 Azure Quantum Resource Estimator 參考頁面。
Q# 和 Quantum 開發套件是什麼?
Microsoft Quantum 開發工具組 (QDK) 是適用于 Azure Quantum的開放原始碼開發工具組。 其內建至 Azure Quantum 入口網站,您可以在其中使用託管的 Jupyter Notebook 來開發程式。 您也可以將 QDK 安裝到您自己的本機環境,並同時在線上與 Azure Quantum 服務和離線運作。 QDK 包括量子程式設計語言 Q#,這種高階程式設計語言可讓您專心於演算法和應用層級的工作,以建立量子程式。
Quantum Development Kit
QDK 提供的工具集合可協助您進行量子軟體發展程序:
- 現成可用的程式庫,可協助您保留高階程式碼,包括可實作許多量子演算法通用模式的「標準」程式庫,以及化學和機器學習等領域特定的程式庫。
- 模擬目前和未來量子機器的本機和雲端式 量子運算模擬器 ,讓您可以執行和偵錯以 Q# 撰寫的量子演算法。
- 雜訊模擬器,可讓您模擬 Q# 程式受雜訊影響和使用穩定器時的行為。
- Visual Studio 2022和Visual Studio Code擴充功能,並與Jupyter Notebook 整合。
- 與 Python和其他.NET 語言的互通性) ,以及與Qiskit和Cirq整合,因此已在其他開發語言中工作的量子開發人員也可以在 Azure Quantum 上執行其線路。
注意
Azure Quantum 是彈性的生態系統。 您可以在 Azure Quantum 上執行 Python 程式碼,而不需明確呼叫任何 Q# 程式碼,例如提交 Qiskit 或 Cirq 線路,或提交 優化問題。 若要使用這些功能,您必須安裝azure-quantum Python 套件。
量子程式設計語言 Q#
為什麼要使用量子程式設計語言? 簡單來說,因為您想要撰寫演算法,而不是線路。
量副程式可視為一組特定的傳統副程式,在呼叫時,透過與量子系統互動來執行計算;以 Q# 撰寫的程式不會直接建立量子狀態的模型,而是描述傳統控制項電腦如何與 量子位互動。 這甚至讓您完全無從驗證每一部目標電腦上的量子狀態為何,根據電腦而定,其可能會有不同的解釋。 您可以撰寫程式碼一次,而且幾乎不需要變更,即可針對相同系列中的多個目標執行程式碼,讓您專注于演算法層級的程式設計。
您可以使用 Jupyter Notebook 在 Azure Quantum 入口網站中使用 Q# 或 Python 開發量副程式,或使用您最愛的 IDE 在本機環境中開發。 任一環境都可讓您透過 Azure Quantum 服務將作業提交至量子硬體,或使用雲端式或本機量子模擬器。 如需詳細資訊,請參閱 執行 Q# 程式的不同方式。
量子軟體開發的工作流程
Azure Quantum 提供最佳的開發環境,一次為多個平臺建立量子演算法,同時保留針對特定系統調整相同演算法的彈性。 您可以從量副程式設計語言中挑選,例如 Qiskit、Cirq 和 Q#,並在多個量子系統上執行您的演算法。 透過 Azure Quantum,您可以輕鬆地同時探索現今的量子系統,並準備好在未來調整的量子系統。
下圖顯示量子程式從概念到在 Azure Quantum 完成實作的全部階段,以及 QDK 在每個階段提供的工具。
撰寫量子程式碼。 您可以使用 Azure Quantum 工作區中提供的託管 Jupyter Notebook 來 撰寫 Q# 程式。 如果您想要本機開發環境,您可以使用適用于 Visual Studio、Visual Studio Code或 Jupyter Notebook 的 QDK 擴充功能來建立 Q# 程式。
使用程式庫以保留高階程式碼。 量子程式庫可協助您保留高階程式碼,為您執行許多繁重困難的工作,讓您可以專注於演算法邏輯。
與傳統軟體相整合。 Quantum 開發套件可讓您整合 Q# 程式與 Python 和 .NET,讓量子軟體開發人員得以利用傳統運算在過去 70 年中所做的許多進展。 您也可以重複使用並提交現有的 Qiskit 和 Cirq 原始程式碼,幾乎不需要變更。
在模擬中執行量子程式碼。 撰寫程式之後,您會想要使用量子模擬器此模擬量子系統行為的傳統程式,如此您即可以執行程式的小型執行個體,並查看未實際存取硬體時會如何。
估算資源。 在量子硬體上執行之前,您必須先了解您的程式是否可以在現有硬體上執行。 您可以使用 Azure Quantum Resource Estimateor 來告訴您所需的實體資源估計值,以及程式需要多少時間。
在量子硬體上執行程式碼。 最後一個步驟是使用 Azure Quantum 在量子硬體上執行程式!
注意
工作流程的所有步驟都使用相同的 Q# 程式碼。 在短期內,您可能必須要考慮目前的硬體限制來調整部分程式碼。 但長期來看,您可以在不同的模擬器與硬體提供者之間切換,而不需要修改任何程式碼。
Azure Quantum 上可用的提供者
Azure Quantum 提供目前業界領袖所提供一些最吸引人的多樣化量子資源。 Azure Quantum 目前與下列提供者合作,讓您可以在實際的硬體上執行 Q# 量子程式,以及選擇是否在模擬的量子電腦上測試程式碼。
量子運算提供者
選擇最適合您問題特性及符合您需求的提供者。
- Quantinuum:具有高精確度、完全連接的量子位、低誤差率、量子位重複使用,以及執行中間電路測量的能力。
- IonQ:可動態重新設定離子阱量子電腦提供最多可有 11 個完全連線的量子位元,讓您在任何配對間執行雙量子位元閘道。
- Rigetti:使用 Quantum Intermediate Representation (QIR) 的閘道型超導處理器,以啟用低延遲和平行執行。
- Pasqal:以中性 Atom 為基礎的量子處理器在室內溫度運作,並具有很長的一致性時間和令人讚歎的量子位連線能力。 您可以立即預先註冊 Azure Quantum 的 Pasqal 私人預覽 版。
- Quantum Circuits, Inc:全堆疊超導線路,具有即時回饋,可啟用錯誤修正、編碼無關的糾纏閘道。 您可以立即預先註冊 Azure Quantum 的 QCI 私人預覽 版。
如需每個提供者規格的詳細資訊,請參閱完整的 Quantum 運算目標清單。
最佳化提供者
如需最佳化解決方案,以下為可供選擇的可用提供者:
- 1QBit:使用搜尋技巧解決 QUBO 問題的反覆式啟發演算法。
- Microsoft QIO:由數十年量子研究所啟發,可改寫最佳化問題的多目標集合。
- Toshiba SQBM+:Toshiba模擬量子 Bifurcation 機器是 GPU 支援的 ISING 機器,可透過高速解決大規模的合併優化問題。
如需每個提供者規格的詳細資訊,請參閱完整的 優化目標清單。
後續步驟
開始使用 Azure Quantum: