比較 Amazon Braket 模擬器 - Amazon Braket

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

比較 Amazon Braket 模擬器

本節說明一些概念、限制和使用案例,協助您選取最適合量子任務的 Amazon Braket 模擬器。

在本機模擬器和隨需模擬器之間進行選擇 (SV1、TN1、DM1)

本機模擬器的效能取決於託管本機環境的硬體,例如用於執行模擬器的 Braket 筆記本執行個體。隨需模擬器在 AWS 雲端中執行,旨在擴展到超越典型的本機環境。隨需模擬器已針對較大的電路進行最佳化,但每個量子任務或量子任務批次會增加一些延遲額外負荷。如果涉及許多量子任務,這可能表示權衡。鑑於這些一般效能特性,下列指引可協助您選擇如何執行模擬,包括有雜訊的模擬。

對於模擬

  • 使用少於 18 個 時qubits,請使用本機模擬器。

  • 使用 18–24 時qubits,請根據工作負載選擇模擬器。

  • 使用超過 24 個 時qubits,請使用隨需模擬器。

對於雜訊模擬

  • 使用少於 9 個 時qubits,請使用本機模擬器。

  • 使用 9–12 時qubits,請根據工作負載選擇模擬器。

  • 使用超過 12 個 時qubits,請使用 DM1。

什麼是狀態向量模擬器?

SV1 是通用狀態向量模擬器。它會儲存量子狀態的完整波動函數,並依序將閘道操作套用至狀態。它儲存了所有可能性,即使是非常不可能的可能性。量子任務的SV1模擬器執行時間會隨著電路中的閘道數量線性增加。

什麼是密度矩陣模擬器?

DM1 模擬具有雜訊的量子電路。它會存放系統的完整密度矩陣,並依序套用電路的閘道和雜訊操作。最終密度矩陣包含迴路執行後量子狀態的完整資訊。執行時間通常會隨操作數目線性擴展,並以 數目呈指數擴展qubits。

什麼是張量網路模擬器?

TN1 將量子電路編碼為結構化圖形。

  • 圖形的節點由量子閘道或 組成qubits。

  • 圖形的邊緣代表閘道之間的連線。

由於此結構, TN1可以找到相對大型和複雜量子電路的模擬解決方案。

TN1 需要兩個階段

一般而言, 會以兩階段方法來TN1模擬量子運算。

  • 演練階段:在此階段中, TN1 會想出一種以有效率的方式周遊圖形的方法,其中包括造訪每個節點,以便您取得所需的測量。身為客戶,您看不到此階段,因為 會為您同時TN1執行兩個階段。它會完成第一個階段,並根據實際限制,決定是否自行執行第二個階段。模擬開始後,您就沒有對該決策的輸入。

  • 收縮階段:此階段類似於傳統電腦中運算的執行階段。階段由一系列矩陣乘法組成。這些乘法的順序對運算的難度有很大的影響。因此,演練階段會先完成,以找出圖形中最有效的運算路徑。在演練階段找到收縮路徑後, 會與您電路的閘道一起TN1收縮,以產生模擬的結果。

TN1 圖形類似於映射

簡言之,您可以將基礎TN1圖形與城市的街道進行比較。在具有計劃網格的城市中,使用地圖輕鬆找到目的地的路由。在具有意外街道、重複街道名稱等的城市中,查看地圖可能很難找到通往目的地的路線。

如果 TN1 未執行演練階段,就好像在城市的街道四處走動來尋找目的地,而不是先看地圖。在行走時間上,花更多時間看地圖,可以真正獲得回報。同樣地,演練階段提供寶貴的資訊。

您可能會說 對其周遊的基礎電路結構TN1有一定的「感知」。它會在演練階段期間獲得此意識。

最適合每種模擬器的問題類型

SV1 非常適合任何主要依賴具有特定數量 qubits和 閘道的問題類別。一般而言,所需的時間會隨著閘道數量線性增長,而它不取決於 的數量shots。 SV1 通常比 TN1 28 以下的電路更快qubits。

SV1 對於較高的qubit數字,速度可能會變慢,因為它實際上模擬了所有可能性,即使非常不可能也一樣。它無法判斷哪些結果可能。因此,對於30-qubit評估, SV1 必須計算 2^30 個組態。由於記憶體和儲存限制qubits,AmazonRaket SV1 模擬器的限制為 34。您可以像這樣想:每次將 新增至 qubit 時SV1,問題會變得兩倍硬。

對於許多類別的問題, TN1可以在實際時間評估比 更大的電路SV1,因為 TN1 會利用圖形的結構。它基本上會從一開始就追蹤解決方案的演變,而且只會保留有助於有效周遊的組態。換句話說,它會儲存組態,以建立矩陣乘法的排序,進而產生更簡單的評估程序。

對於 TN1, qubits和 閘道的數量很重要,但圖形的結構更重要。例如, TN1 非常善於評估閘道為短距離的電路 (圖形) (亦即,每個閘道僅qubit連接到其最近的鄰近 qubits),以及連線 (或閘道) 具有類似範圍的電路 (圖形)。的典型範圍TN1是只與 5 qubits 個qubits以外的其他 進行每個qubit通話。如果大多數結構可以分解為更簡單的關係,例如這些關係,可以用更多更小更統一的矩陣表示,則 會有效率地TN1執行評估。

的限制 TN1

TN1 速度可能比SV1圖形的結構複雜度慢。對於某些圖形, 會在演練階段後TN1終止模擬,並顯示狀態為 FAILED,因為下列兩種原因之一:

  • 找不到路徑 - 如果圖形太複雜,則很難找到良好的周遊路徑,且模擬器放棄運算。 TN1無法執行收縮。您可能會看到類似以下的錯誤訊息: No viable contraction path found.

  • 收縮階段太困難 – 在某些圖形中, TN1可以找到周遊路徑,但評估非常長且非常耗時。在這種情況下,收縮非常昂貴,成本會過高,而是在演練階段之後TN1退出。您可能會看到類似以下的錯誤訊息: Predicted runtime based on best contraction path found exceeds TN1 limit.

注意

即使未執行收縮且您看到 FAILED 狀態,TN1仍會向您收取 的演練階段費用。

預測的執行時間也取決於shot計數。在最壞的情況下,TN1收縮時間會線性取決於shot計數。電路可能可以與較少的 簽訂合約shots。例如,您可以提交具有 100 個 的量子任務shots,該任務TN1判定為不可收縮,但如果您只以 10 個重新提交,則收縮會繼續進行。在這種情況下,若要取得 100 個範例,您可以shots為相同電路提交 10 個量子任務 10 個量子任務,並在結尾合併結果。

最佳實務是,建議您一律使用幾個 shots(例如 10) 測試您的電路或電路類別,以了解您的電路對 的硬度TN1,然後再繼續執行更多數量的 shots。

注意

形成收縮階段的乘法系列以小型 NxN 矩陣開頭。例如,2-qubit閘道需要 4x4 矩陣。在經判定為太困難的收縮期間所需的中繼矩陣是巨大的。這種運算需要數天才能完成。因此 Amazon Braket 不會嘗試非常複雜的收縮。

並行數量

所有 Braket 模擬器都可讓您同時執行多個電路。並行限制因模擬器和區域而異。如需並行限制的詳細資訊,請參閱配額頁面。