本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon Braket 混合任務
Amazon Braket Hybrid Jobs 可讓您執行混合量子傳統演算法,同時需要傳統 AWS 資源和量子處理單元 (QPUs)。混合任務旨在啟動請求的傳統資源、執行演算法,並在完成後釋放執行個體,因此您只需支付使用的費用。
混合任務非常適合使用傳統運算資源和量子運算資源的長時間執行、反覆運算演算法。透過混合任務,在提交演算法以執行之後,Raket 會在可擴展的容器化環境中執行您的演算法。演算法完成後,您就可以擷取結果。
此外,從混合任務建立的量子任務受益於目標 QPU 裝置的較高優先順序佇列。此優先順序可確保在佇列中等待的其他任務之前處理和執行您的量子運算。這對疊代混合演算法特別有利,其中一個量子任務的結果取決於先前量子任務的結果。此類演算法的範例包括量子近似最佳化演算法 (QAOA)
您可以使用下列方式存取 Braket 中的混合式任務:
-
Amazon Braket API。
在本節中:
何時使用 Amazon Braket 混合任務
Amazon Braket 混合任務可讓您執行混合式量子傳統演算法,例如變量量子 Eigensolver (VQE) 和量子近似最佳化演算法 (QAOA),將傳統運算資源與量子運算裝置結合,以最佳化現今量子系統的效能。Amazon Braket Hybrid Jobs 提供三個主要優點:
-
效能:Amazon Braket Hybrid Jobs 的效能優於從您自己的環境執行混合演算法。當您的任務執行時,它會優先存取選取的目標 QPU。任務在裝置上排入佇列的其他任務之前執行。這會導致混合演算法的執行時間較短且更可預測。Amazon Braket Hybrid Jobs 也支援參數編譯。您可以使用免費參數提交電路,而 Braket 會編譯一次電路,而不需要重新編譯以對相同電路進行後續參數更新,進而加快執行時間。
-
便利性:Amazon Braket 混合任務可簡化設定和管理運算環境,並在混合演算法執行時保持執行狀態。您只需提供演算法指令碼,然後選取要在其中執行的量子裝置 (量子處理單元或模擬器)。Amazon Braket 會等待目標裝置變成可用、啟動傳統資源、在預先建置的容器環境中執行工作負載、將結果傳回 Amazon Simple Storage Service (Amazon S3),並釋出運算資源。
-
指標:Amazon Braket Hybrid Jobs 提供on-the-fly洞見,並近乎即時地將可自訂的演算法指標交付給 Amazon CloudWatch 和 Amazon Braket 主控台,讓您可以追蹤演算法的進度。
使用 Amazon Braket 混合任務執行混合任務
若要使用 Amazon Braket 混合任務執行混合任務,您必須先定義演算法。您可以編寫演算法指令碼,也可以選擇使用 Amazon Braket Python SDK
在任一情況下,接下來您使用 Amazon Braket 建立混合任務API,並在其中提供演算法指令碼或容器,選取混合任務要使用的目標量子裝置,然後從各種選用設定中選擇。這些選用設定的預設值適用於大多數使用案例。若要讓目標裝置執行混合任務,您可以選擇 QPU、隨需模擬器 (例如 SV1DM1或 TN1) 或傳統混合任務執行個體本身。透過隨需模擬器或 QPU,您的混合任務容器會對遠端裝置進行 API 呼叫。使用內嵌模擬器時,模擬器會內嵌在與演算法指令碼相同的容器中。PennyLane 的閃電模擬器
如果您的目標裝置是隨需或內嵌模擬器,Amazon Braket 會立即開始執行混合任務。它會啟動混合任務執行個體 (您可以在API呼叫中自訂執行個體類型)、執行演算法、將結果寫入 Amazon S3,以及釋出資源。此資源版本可確保您只需支付使用量的費用。
每個量子處理單元 (QPU) 的並行混合任務總數受到限制。目前,任何指定時間只能有一個混合任務在 QPU 上執行。佇列用於控制允許執行的混合任務數量,以免超過允許的限制。如果您的目標裝置是 QPU,您的混合任務會先進入所選 QPU 的任務佇列。Amazon Braket 會啟動所需的混合任務執行個體,並在裝置上執行您的混合任務。在演算法期間,您的混合任務具有優先順序存取,這表示混合任務中的量子任務在裝置上排入佇列的其他 Braket 量子任務之前執行,前提是任務量子任務每隔幾分鐘提交一次至 QPU。一旦混合任務完成,就會釋出資源,這表示您只需支付使用量的費用。
注意
裝置是區域性的,您的混合任務在 AWS 區域 與主要裝置相同的 中執行。
在模擬器和 QPU 目標案例中,您可以選擇定義自訂演算法指標,例如 Hamiltonian 的能量,作為演算法的一部分。這些指標會自動回報給 Amazon CloudWatch,並從那裡,在 Amazon Braket 主控台中以近乎即時的方式顯示。
注意
如果您想要使用 GPU 型執行個體,請務必使用其中一個 GPU 型模擬器搭配 Braket 上的內嵌模擬器 (例如 lightning.gpu)。如果您選擇其中一個 CPU 型內嵌模擬器 (例如 lightning.qubit或 braket:default-simulator),則不會使用 GPU,而且可能會產生不必要的成本。