本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
成本追蹤與節省
提示
透過以下方式瞭解量子運算的基礎 AWS! 註冊 Amazon Braket 數位學習計劃
使用 Amazon Braket,您可以隨需存取量子運算資源,而無需前期承諾。您僅需按實際用量付費。要了解有關定價的更多信息,請訪問我們的定價頁面
近乎即時的成本追蹤
Braket 可SDK讓您選擇將近乎即時的成本追蹤功能新增至量子工作負載。我們的每個範例筆記型電腦都包含成本追蹤程式碼,可為您提供 Braket 量子處理單元 (QPUs) 和隨選模擬器的最高成本估算。最高預估費用將顯示在中USD,不包括任何積分或折扣。
注意
顯示的費用是根據您的 Amazon Braket 模擬器和量子處理單元 (QPU) 任務使用量估算而定。顯示的估計費用可能與您的實際費用有所不同。預估費用不計入任何折扣或積分,您可能會因使用 Amazon 彈性運算雲端 (AmazonEC2) 等其他服務而產生額外費用。
成本追蹤 SV1
為了演示如何使用成本跟踪功能,我們將構建一個 Bell State 電路並在我們的SV1模擬器上運行它。首先導入 Braket SDK 模塊,定義貝爾狀態並將該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)
當您執行筆記本時,您可以預期下列輸出可用於您的貝爾狀態模擬。跟踪器功能將顯示發送的鏡頭數量,完成的量子任務,執行持續時間,計費的執行持續時間以及您的最大成本USD。每個模擬的執行時間可能會有所不同。
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() $0.00375
使用成本追蹤器設定最高成本
您可以使用成本跟踪器來設置程序的最高成本。您可能有要花多少給定程序的最大閾值。如此一來,您就可以使用成本追蹤器,在執行程式碼中建立成本控制邏輯。下面的例子採用相同的電路 Rigetti QPU並將成本限制為 1 USD。在我們的代碼中運行電路的一次迭代的成本為 0.37 USD。我們已經設置了重複迭代的邏輯,直到總成本超過 1USD; 因此,代碼片段將運行三次,直到下一次迭代超過 1 USD。通常,程序將繼續迭代,直到達到所需的最大成本,在這種情況下-三次迭代。
device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3") 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/Aspen-M-3': {'shots': 600, 'tasks': {'COMPLETED': 3}}} 1.11 USD
注意
成本跟踪器不會跟踪失敗的持續時間 TN1 量子任務。在一個 TN1 模擬,如果您的排練完成,但收縮步驟失敗,您的排練費用將不會顯示在成本跟踪器中。
節省成本的最佳做法
請考慮下列使用 Amazon Braket 網頁的最佳實務。節省時間,將成本降至最低,並避免常見錯誤。
使用模擬器驗證
-
在模擬器上執行電路之前,請先使用模擬器驗證電路QPU,以便您可以微調電路,而不會產生使用費用QPU。
-
雖然在模擬器上執行電路所產生的結果可能與在上執行電路所產生的結果不相同QPU,但您可以使用模擬器識別編碼錯誤或組態問題。
限制使用者存取特定裝置
-
您可以設定限制,防止未經授權的使用者在特定裝置上提交量子工作。限制訪問的建議方法是 AWS IAM。有關如何執行此操作的詳細資訊,請參閱限制存取。
-
我們建議您不要使用管理員帳戶來授予或限制使用者對 Amazon Braket 裝置的存取權。
設定帳單警示
-
您可以設定帳單警示,在帳單達到預設限制時通知您。建議設定鬧鐘的方法是 AWS Budgets。 您可以設定自訂預算,並在成本或用量可能超過預算金額時接收警示。有關資料可於 AWS Budgets
.
測試 TN1 具有低射擊計數的量子任務
-
模擬器的成本低於QHPs,但是如果量子任務以高射擊計數運行,則某些模擬器可能會很昂貴。我們建議您測試 TN1 低任務 shot 計數。Shot 計數不影響成本 SV1 和本地模擬器任務。
檢查所有區域是否有量子任務
-
控制台僅顯示您當前的量子任務 AWS 區域。 尋找已提交的可計費量子任務時,請務必檢查所有區域。
-
您可以在支援的裝置說明文件頁面上檢視裝置及其關聯區域的清單。