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

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

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

若要使用 Amazon Braket 混合任務執行混合任務,您首先需要定義演算法。您可以透過撰寫演算法指令碼和選擇性地使用 Amazon Braket Python SDKPennyLane其他相依性檔案來定義它。如果您想使用其他(開源或專有)庫,則可以使用 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以內嵌模擬器為基礎 (例如lightning.qubit、或braket:default-simulator),GPU將不會使用,而且可能會產生不必要的費用。