使用 Amazon Braket 混合式任務執行混合任務 - Amazon Braket

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

使用 Amazon Braket 混合式任務執行混合任務

若要使用 Amazon Braket 混合式工作執行混合作業,您首先需要定義演算法。您可以透過撰寫演算法指令碼和選擇性地使用 Amazon Braket Python 開發套件或PennyLane其他相依性檔案來定義它。如果您想使用其他(開源或專有)庫,則可以使用 Docker(包括這些庫)定義自己的自定義容器映像。如需詳細資訊,請參閱攜帶您自己的容器 (BYOC)。

在任何一種情況下,接下來都要使用 Amazon Braket API 建立混合任務 (提供演算法指令碼或容器),選取混合任務要使用的目標量子裝置,然後從各種選用設定中進行選擇。為這些可選設定提供的預設值適用於大多數使用案例。若要讓目標裝置執行您的混合式 Job,您可以選擇 QPU、隨選模擬器 (例如SV1、DM1或TN1) 或傳統混合式作業執行個體本身。使用隨選模擬器或 QPU,您的混合式任務容器會對遠端裝置進行 API 呼叫。使用嵌入式模擬器,模擬器嵌入到與算法腳本相同的容器中。來自 PennyLane 的閃電模擬器嵌入了默認的預構建混合作業容器供您使用。如果您使用內嵌 PennyLane 模擬器或自訂模擬器執行程式碼,您可以指定執行個體類型以及要使用的執行個體數目。請參閱 Amazon 網頁定價頁面,瞭解與每個選項相關的費用。

流程圖顯示使用者與 Amazon Braket 元件、API、任務執行個體以及混合式、QPU、隨需和嵌入式任務的模擬器互動。結果存儲在 Amazon 簡單存儲服務存儲桶中,並使用 Amazon Braket 控制台 CloudWatch 上的亞馬遜進行分析。

如果您的目標裝置是隨選或嵌入式模擬器,Amazon Braket 會立即開始執行混合任務。它會啟動混合任務執行個體 (您可以在API呼叫中自訂執行個體類型)、執行演算法、將結果寫入 Amazon S3,然後釋放資源。此版本的資源可確保您只需按使用量付費。

每個量子處理單元 (QPU) 同時混合作業的總數受到限制。現在,只有一個混合式工作可以在任何給定的時間在 QPU 上執行。佇列是用來控制允許執行的混合式作業數目,以免超過允許的限制。如果您的目標裝置是 QPU,則混合任務會先進入所選 QPU 的作業佇列。Amazon Braket 會啟動所需的混合式任務執行個體,並在裝置上執行您的混合任務。在演算法期間,您的混合任務具有優先權存取,這意味著您混合任務中的量子任務會在裝置上排入佇列的其他 Braket 量子任務之前執行,前提是工作量子任務每隔幾分鐘提交到 QPU 一次。一旦您的混合工作完成,資源就會釋放,這意味著您只需按使用量付費。

注意

裝置是區域性的,而您的混合任務則與您 AWS 區域 的主要裝置相同。

在模擬器和 QPU 目標案例中,您可以選擇定義自訂演算法度量,例如哈密頓的能量,做為演算法的一部分。這些指標會自動報告給亞馬遜, CloudWatch 並從那裡以近乎即時的方式顯示在 Amazon Braket 主控台中。

注意

如果您想要使用以 GPU 為基礎的執行個體,請務必使用 Braket 上嵌入式模擬器提供的其中一種 GPU 模擬器 (例如)。lightning.gpu如果您選擇其中一個以 CPU 為基礎的嵌入式模擬器 (例如、或braket:default-simulator)lightning.qubit,將不會使用 GPU,而且可能會產生不必要的費用。