本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
成本追蹤和儲存
提示
了解量子運算的基礎 AWS!註冊 Amazon Braket 數位學習計劃
使用 Amazon Braket,您可以隨需存取量子運算資源,而無需預先承諾。您僅需按實際用量付費。若要進一步了解定價,請造訪我們的定價頁面
近乎即時的成本追蹤
Braket SDK可讓您選擇將近乎即時的成本追蹤新增至您的量子工作負載。我們每個範例筆記本都包含成本追蹤碼,以提供您 Braket 量子處理單位 (QPUs) 和隨需模擬器的最高成本預估。最高成本估算將顯示在 中USD,不包含任何抵用金或折扣。
注意
顯示的費用是根據 Amazon Braket 模擬器和量子處理單元 (QPU) 任務用量估算。顯示的預估費用可能與您的實際費用不同。預估費用不會計入任何折扣或額度,而且您可能會因為使用 Amazon Elastic Compute Cloud (Amazon) 等其他服務而產生額外費用EC2。
的成本追蹤 SV1
為了示範如何使用成本追蹤函數,我們將建構 Bell State SV1 電路並在模擬器上執行。首先匯入 Braket SDK模組、定義 Bell 狀態,並將 Tracker()
函數新增至我們的電路:
#import any required modules from braket.aws import AwsDevice from braket.circuits import Circuit from braket.tracking import Tracker #create our bell circuit circ = Circuit().h(0).cnot(0,1) device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1") with Tracker() as tracker: task = device.run(circ, shots=1000).result() #Your results print(task.measurement_counts)
Counter({'00': 500, '11': 500})
當您執行筆記本時,您可以預期 Bell 狀態模擬的輸出如下。追蹤器函數會顯示傳送的鏡頭數量、完成的量子任務、執行持續時間、計費執行持續時間,以及您在 中的最高成本USD。每個模擬的執行時間可能有所不同。
import datetime tracker.quantum_tasks_statistics() {'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 1000, 'tasks': {'COMPLETED': 1}, 'execution_duration': datetime.timedelta(microseconds=4000), 'billed_execution_duration': datetime.timedelta(seconds=3)}} tracker.simulator_tasks_cost()
Decimal('0.0037500000')
使用成本追蹤器設定最高成本
您可以使用成本追蹤器來設定程式的最高成本。對於您想要在指定程式上花費多少,可能會有最大閾值。如此一來,您可以使用成本追蹤器在執行程式碼中建置成本控制邏輯。下列範例在 上採用相同的電路 Rigetti QPU 和 會將成本限制為 1 USD。在我們的程式碼中執行一次電路反覆運算的成本為 0.48USD。我們已將邏輯設定為重複反覆運算,直到總成本超過 1USD;因此,程式碼片段會執行三次,直到下一次反覆運算超過 1USD。一般而言,程式會繼續反覆運算,直到達到所需的最高成本為止,在這種情況下 - 三次反覆運算。
device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2") with Tracker() as tracker: while tracker.qpu_tasks_cost() < 1: result = device.run(circ, shots=200).result() print(tracker.quantum_tasks_statistics()) print(tracker.qpu_tasks_cost(), "USD")
{'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2': {'shots': 600, 'tasks': {'COMPLETED': 3}}} 1.4400000000 USD
注意
成本追蹤器不會追蹤失敗的持續時間 TN1 量子任務。在 期間 TN1 模擬,如果您的演練完成,但收縮步驟失敗,您的演練費用將不會顯示在成本追蹤器中。
節省成本的最佳實務
請考慮下列使用 Amazon Braket 的最佳實務。節省時間、將成本降至最低,並避免常見的錯誤。
使用模擬器驗證
-
在 上執行電路之前,請先使用模擬器驗證電路QPU,如此您就能微調電路,而不會產生QPU使用費。
-
雖然在模擬器上執行電路的結果可能與在 上執行電路的結果不同QPU,但您可以使用模擬器識別編碼錯誤或組態問題。
限制使用者存取特定裝置
-
您可以設定限制,防止未經授權的使用者在特定裝置上提交量子任務。限制存取的建議方法是使用 AWS IAM。如需如何執行此操作的詳細資訊,請參閱限制存取。
-
我們建議您不要使用管理員帳戶作為提供或限制使用者存取 Amazon Braket 裝置的方式。
設定帳單警示
-
您可以設定帳單警示,以在帳單達到預設限制時通知您。設定警示的建議方法是透過 AWS Budgets。您可以設定自訂預算,並在成本或用量可能超過預算金額時收到提醒。如需相關資訊,請參閱 AWS Budgets
。
測試 TN1 拍攝計數低的量子任務
-
模擬器的成本低於 QHPs,但如果量子任務以高擷取計數執行,則某些模擬器可能會很昂貴。我們建議您測試您的 TN1 低 的任務 shot 計數。Shot 計數不會影響 的成本 SV1 和本機模擬器任務。
檢查所有區域是否有量子任務
-
主控台只會顯示您目前 的量子任務 AWS 區域。尋找已提交的計費量子任務時,請務必檢查所有區域。
-
您可以在支援的裝置文件頁面上檢視裝置及其相關區域的清單。