IonQ 的量子電腦會利用雷射操作鏷離子的超精細能量狀態來執行計算。 Atom 是自然的量子位, 每個量子位在程式內和之間都相同。 邏輯作業也可以在任何任意組量子位上執行,讓複雜的量子程式不受實體連線的影響。 想要深入了解? 閱讀 IonQ 的 被困離子量子計算機技術概觀。
- 發行者: IonQ
- 提供者識別碼:
ionq
下列 targets 可從此供應商取得:
| 目標名稱 | 目標標識碼 | 量子位數目 | 描述 |
|---|---|---|---|
| 量子模擬器 | ionq.simulator | 29 個量子位 | IonQ 的雲端式理想化模擬器。 免費。 |
| IonQ 詠嘆調 1 | ionq.qpu.aria-1 | 25 個量子位 | IonQ 的 Aria 1 捕獲離子量子計算機。 |
| IonQ Forte 1 | ionq.qpu.forte-1 | 36 個量子位元 | IonQ 的 Forte 1 捕獲離子量子計算機。 |
| IonQ Forte 企業版 1 | ionq.qpu.forte-enterprise-1 | 36 個量子位元 | IonQ 的 Forte Enterprise 1 捕獲離子量子計算機。 |
IonQ 的 targets 對應至 QIR Base 配置檔。 如需此 target 配置檔及其限制的詳細資訊,請參閱 瞭解 target Azure Quantum 中的配置檔類型。
量子模擬器
支援最多 29 個量子位元的 GPU 加速理想模擬器,使用 IonQ 提供的相同一套量子閘,這是實際將作業運行在量子計算機之前預先測試的絕佳工具。
- 工作類型:
Simulation - 資料格式:
ionq.circuit.v1 - 目標標識碼:
ionq.simulator - 目標執行配置檔:QIR Base
IonQ Aria 量子計算機
IonQ Aria 是 IonQ 的捕獲離子量子計算機的旗艦產品,擁有 25 個量子位的動態可重組系統。 如需詳細資訊,請參閱 IonQ Aria (ionq.com)。
重要
依預設,Aria 系統會啟用去偏差,且提交的工作會受到以去偏差為基礎的定價。 如需有關減少偏差以及如何停用/啟用服務的詳細資訊,請參閱 錯誤緩解。
- 工作類型:
Quantum Program - 資料格式:
ionq.circuit.v1 - 目標標識碼:
ionq.qpu.aria-1 - 目標執行配置檔:QIR Base
| 參數名稱 | 類型 | 必要 | 描述 |
|---|---|---|---|
shots |
整數 | 不 | 實驗性拍攝次數。 |
系統計時
| 量值 | 平均持續時間 |
|---|---|
| T1 | 10-100 秒 |
| T2 | 1 秒 |
| 單一量子位網關 | 135 微秒 |
| 雙量子位網關 | 600 微秒 |
系統忠實度
| 作業 | 平均忠實度 |
|---|---|
| 單一量子位網關 | 99.95% (已更正垃圾郵件) |
| 雙量子位網關 | 99.6%(未經過濾垃圾郵件狀態) |
| 垃圾郵件* | 99.61% |
* 狀態準備與測量(SPAM):此測量評估量子計算機能夠多準確地將量子位設置至其初始狀態,並在最後測量結果的準確性。
IonQ Aria 可通過即用即付計劃獲得。 如需詳細資訊,請參閱 Azure Quantum 定價。
IonQ Forte 量子計算機
IonQ Forte 是 IonQ 最高效、商業上可用的捕獲離子量子電腦。 具有 36 量子比特的可由軟體配置的系統。 如需詳細資訊,請參閱 IonQ Forte (ionq.com)。
重要
預設情況下,Forte 系統會啟用消除偏差功能,提交的工作會受到基於消除偏差定價機制的影響。 如需有關減少偏差以及如何停用/啟用服務的詳細資訊,請參閱 錯誤緩解。
- 工作類型:
Quantum Program - 資料格式:
ionq.circuit.v1 - 目標標識碼:
ionq.qpu.forte-1 - 目標執行配置檔:QIR Base
| 參數名稱 | 類型 | 必要 | 描述 |
|---|---|---|---|
shots |
整數 | 不 | 實驗性拍攝次數。 |
IonQ Forte Enterprise 量子電腦
IonQ Forte Enterprise 是 IonQ 性能最高、商用的捕獲離子量子計算機。 具有 36 量子比特的可由軟體配置的系統。 如需詳細資訊,請參閱 IonQ Forte Enterprise (ionq.com)。
Forte Enterprise 是 Forte 級系統的一個版本,經過調整和加固,可在標準數據中心環境中部署,使其更適合企業級、面向生產的任務。 基礎量子運算硬體和效能相同。 IonQ Forte 和 IonQ Forte Enterprise 之間的主要區別在於它們的部署和預期用例,而不是它們的核心性能規格。 雖然這兩個系統都擁有相同的高性能指標,但 Forte Enterprise 專為集成到數據中心環境中而設計。
重要
根據預設,Forte Enterprise 系統會啟用去偏差,且提交的工作會受到基於去偏差的定價的約束。 如需有關減少偏差以及如何停用/啟用服務的詳細資訊,請參閱 錯誤緩解。
- 工作類型:
Quantum Program - 資料格式:
ionq.circuit.v1 - 目標標識碼:
ionq.qpu.forte-enterprise-1 - 目標執行配置檔:QIR Base
| 參數名稱 | 類型 | 必要 | 描述 |
|---|---|---|---|
shots |
整數 | 不 | 實驗性拍攝次數。 |
輸入格式
在 Q# 中,量子測量的輸出是 類型的 Result值,它只能接受 值 Zero 和 One。 當您定義 Q# 作業時,只有在傳回類型是 s 的集合 Result時,才能將它提交至 IonQ 硬體,也就是說,如果作業的輸出是量子測量的結果。 這是因為 IonQ 會從傳回的值建置直方圖,因此它會限制傳回類型以 Result 簡化建立此直方圖。
IonQ 的 targets 對應至 QIR Base profile。 此配置檔無法執行需要使用量子位測量結果來控制程式流程的量子作業。
輸出格式
當您將量子程式提交至 IonQ 模擬器時,它會傳回測量所建立的直方圖。 IonQ 模擬器不會取樣量子程式所建立的機率分佈,而是傳回縮放至拍攝次數的分佈。 當您提交單次拍攝線路時,這是最明顯的。 您會在直方圖中看到一次拍攝的多個測量結果。 此行為固有於 IonQ 模擬器,而 IonQ QPU 實際上會執行程式並匯總結果。
其他功能
IonQ 硬體支援的其他功能列在這裡。
| 能力 | 描述 |
|---|---|
| 錯誤風險降低 | 使用去偏技術將雜訊降到最低,並在 IonQ 硬體上最大化演算法效能 |
| 原生閘道支援 | 直接在 IonQ 硬體原生閘道上定義和執行線路 |
| 雜訊模型模擬 | 模擬線路在不同的 IonQ 硬體上執行時會遇到的雜訊配置。 |
用戶可以透過 Azure Quantum Q# 和 Qiskit 提供者中的傳遞參數,利用這些額外的功能。
錯誤風險降低
IonQ 提供選項,可在您將工作提交至 IonQ 硬體時啟用量子錯誤緩解。 錯誤緩解是一個在編譯程式層級運行和執行電路多個對稱變化的過程,然後匯總結果,同時減輕硬體錯誤和量子位元退相干的影響。 與量子糾錯技術不同,錯誤緩解不需要大量額外的閘和量子位負擔。
去偏置是使用不同的量子位元指派、閘極分解和脈衝解決方案等技術,在理想的無雜訊機器上創建給定電路的細微變化的過程,然後執行這些變化。
銳化和平均是彙總變化結果的選項。 平均值同樣以所有變化結果為基礎,而 Sharpening 會篩選掉錯誤的結果,而且針對特定類型的演算法更可靠。
如需詳細資訊,請參閱 減偏與銳化。 如需錯誤風險降低定價,請參閱 IonQ 定價。
啟用錯誤緩解
注意
在 Aria 和 Forte 系統中,預設會啟用去偏功能。
在 Azure Quantum 上,針對使用 Q# 或 Qiskit 提交的作業,可以啟用或停用錯誤風險降低功能。
若要啟用錯誤降低功能,請為 target 電腦新增選擇性參數:
option_params = {
"error-mitigation": {
"debias": True
}
}
若要停用錯誤緩和,請將 參數設定為 False:
option_params = {
"error-mitigation": {
"debias": False
}
}
注意
如果您也使用 IonQ 的雜訊模型模擬,您可以在這裡包含這些參數,例如:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "aria-1",
"seed": 100
}
}
如需詳細資訊,請參閱 雜訊模型模擬。
在 Azure Quantum 上執行作業並降低錯誤
這個範例會使用簡單的隨機數產生器。
首先,匯入必要的套件並啟動基底設定檔:
from qdk import qsharp
from qdk.azure import Workspace
qsharp.init(target_profile=qsharp.TargetProfile.Base)
接下來,定義函式。
%%qsharp
import Std.Measurement.*;
import Std.Arrays.*;
import Std.Convert.*;
operation GenerateRandomBit() : Result {
use target = Qubit();
// Apply an H-gate and measure.
H(target);
return M(target);
}
and compile the operation:
```python
MyProgram = qsharp.compile("GenerateRandomBit()")
線上到 Azure Quantum、選取 target 機器,然後設定模擬器的雜訊參數:
MyWorkspace = Workspace(
resource_id = "",
location = ""
)
MyTarget = MyWorkspace.get_targets("ionq.qpu.aria-1")
指定error-mitigation 設定
option_params = {
"error-mitigation": {
"debias": True
}
}
提交作業時傳入錯誤緩解配置:
job = MyTarget.submit(MyProgram, "Experiment with error mitigation", shots = 10, input_params = option_params)
job.get_results()
在 Qiskit 中,您會將選擇性參數傳遞至 target 機器組態,再提交作業:
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
注意
如果您未傳入參數 error-mitigation ,則 target 機器會使用其預設設定,該設定已針對 Aria 和 Forte 系統啟用。
原生閘道支援和使用方式
根據預設,IonQ 可讓您使用稱為 的抽象量子網關集來指定量子電路, qis這可讓您在撰寫演算法時彈性和可移植性,而不必擔心硬體的優化。
不過,在某些進階使用案例中,您可能會想要直接在原生閘道上定義線路,以便更接近硬體並略過優化。 原生閘集是量子處理器中實際執行的一組量子閘,它們在執行過程中將量子電路對應到這些閘。
如需詳細資訊,請參閱原生門的入門指南(ionq.com)。
若要在將 Qiskit 作業提交至 Azure Quantum 時使用原生閘道集,您可以在初始化後端時指定 gateset 參數,如下列範例所示:
# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu.aria-1", gateset="native")
| 參數名稱 | 類型 | 必要 | 描述 |
|---|---|---|---|
gateset |
字串 | 不 | 指定將用來定義線路的閘道集合。 的值 qis 會對應至抽象網關(預設行為)和 nativeIonQ 硬體原生閘道。 |
如需 Qiskit 作業的詳細資訊,請參閱 使用 Qiskit 提交電路。
雜訊模型模擬
即使是當今最好的量子硬體也有固有的雜訊。 了解系統的雜訊特性 target 可以幫助您完善演算法,並在實際硬體上運行電路時獲得更真實的結果預測。 IonQ 提供雜訊模型模擬,使用特定於硬體的「雜訊指紋」 target 將雜訊引入電路。 如需詳細資訊,請參閱 開始使用硬體雜訊模型模擬。
雜訊模型參數
| 參數名稱 | 價值觀 | 描述 |
|---|---|---|
noise |
model、seed |
啟用雜訊模型模擬 |
model |
ideal、aria-1 |
指定 target 硬體的雜訊模型。
|
seed |
介於 1 到 $2^{31}$ 之間的整數 (2,147,483,648) | 可讓您指定偽隨機雜訊和點樣本的種子值,以生成可重現的噪點結果。 如果未指定 參數,則會建立隨機 seed 值。 |
攝影感知
噪聲模型模擬是鏡頭感知的;也就是說,它會根據提供的拍攝次數從輸出狀態中取樣測量值。 在 Azure Quantum 中 shots ,參數會隨著作業一起提交,而且對於 aria-1 雜訊模型而言是必要的。
shot如果未指定任何值,則會使用的預設值1000。 如果使用ideal雜訊模型,則會忽略shots參數。
量子位容量
ideal雖然雜訊模型可讓您使用 IonQ 量子模擬器模擬最多 29 個量子位,但硬體特定的雜訊模型僅限於硬體的實際量子位容量target,這是雜訊模型的 25 個量子位aria-1。
啟用雜訊模型模擬
在 Azure Quantum 上,針對使用 Q# 或 Qiskit 提交的作業,可以啟用或停用雜訊模型模擬。
若要啟用雜訊模型模擬,請為機器新增選擇性參數 target ,例如:
option_params = {
"noise": {
"model": "aria-1", # targets the Aria quantum computer
"seed" : 1000 # If seed isn't specified, a random value is used
}
}
注意
如果您也使用 IonQ 的錯誤緩解,可在此包含這些參數,例如:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "aria-1",
"seed": 1000
}
}
如需詳細資訊,請參閱 錯誤風險降低。
使用雜訊模型模擬執行工作
您可以使用先前在錯誤風險降低中所示的相同範例程式,並在 中option_params新增或取代雜訊模型組態。
option_params = {
"error-mitigation": {
"debias": True
},
"noise": {
"model": "aria",
"seed": 1000
}
}
然後在提交作業時傳遞選擇性參數:
job = MyTarget.submit(MyProgram, "Experiment with noise model simulation", shots = 10, input_params = option_params)
job.get_results()
在 Qiskit 中,您會將選擇性參數傳遞至 target 機器組態,再提交作業:
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
定價
若要查看 IonQ 計費方案,請流覽 Azure Quantum 定價。
限制和配額
IonQ 配額是根據 QPU 使用單位進行追蹤,也就是量子位閘射擊 (QGS)。 資源使用量會計入您的帳戶。
每個量子程式都由包含一或多個量子位元的 $N$ 個量子邏輯閘組成,並針對特定次數的運行執行。 閘口拍攝次數是由下列公式計算:
$$ QGS = N ·C $$
其中:
- $N$ 是提交的一或兩個量子位閘的數目
- $C$ 是所要求的執行次數數目
IonQ 狀態
如需 IonQ QPU 作業處理延遲的相關信息,請參閱 IonQ 狀態頁面。
IonQ 最佳做法和連線圖表
若要查看 IonQ QPU 的建議最佳做法,請參閱 IonQ 最佳做法 (ionq.com)。