Pelacakan biaya dan penghematan - Amazon Braket

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pelacakan biaya dan penghematan

Tip

Pelajari dasar-dasar komputasi kuantum dengan AWS! Daftar di Amazon Braket Digital Learning Plan dan dapatkan lencana Digital Anda sendiri setelah menyelesaikan serangkaian kursus pembelajaran dan penilaian digital.

Dengan Amazon Braket, Anda memiliki akses ke sumber daya komputasi kuantum sesuai permintaan tanpa komitmen di muka. Pembayaran dilakukan sesuai penggunaan. Untuk mempelajari lebih lanjut tentang harga, kunjungi halaman harga kami.

Menetapkan batas pengeluaran untuk Amazon Braket QPUs

Batas pengeluaran Amazon Braket memberikan kontrol biaya per perangkat opsional untuk unit pemrosesan kuantum (). QPUs

Cara kerja batas pengeluaran: Amazon Braket melacak pengeluaran kumulatif Anda dan memvalidasi setiap permintaan pembuatan tugas terhadap batas yang dikonfigurasi. Jika perkiraan biaya tugas melebihi batas pengeluaran Anda yang tersisa, Amazon Braket langsung menolak tugas dengan kesalahan validasi. Anda dapat secara opsional mengonfigurasi periode waktu untuk batas pengeluaran Anda. Dengan mengonfigurasi periode waktu, Anda dapat memastikan tugas hanya dapat dikirimkan dalam periode yang ditentukan. Tugas yang diajukan di luar periode waktu akan ditolak.

Desain opt-in: Alur kerja yang ada akan tetap tidak terpengaruh kecuali Anda secara eksplisit mengaktifkan kontrol. Anda dapat menghapus semua batasan dengan menghapus batas pengeluaran.

catatan

Batas pengeluaran hanya berlaku untuk tugas QPU pekerjaan sesuai permintaan dan hibrida. Mereka mengecualikan simulator, notebook terkelola, biaya instans Hybrid Job EC2, dan reservasi Braket Direct. Untuk manajemen biaya yang komprehensif di semua layanan AWS, terus gunakan AWS Budgets.

Daftar tindakan batas pengeluaran

Cari

Dengan perintah AWS CLI berikut, Anda dapat mencari dan mencantumkan batas pengeluaran di wilayah AWS tertentu dan untuk perangkat Braket tertentu.

aws --region {device_region} braket search-spending-limits --filters name=deviceArn,operator=EQUAL,values={device_arn}
Buat

Dengan perintah AWS CLI berikut, Anda dapat membuat batas pengeluaran baru untuk perangkat kuantum tertentu di wilayah tertentu. Permintaan ditolak jika batas pengeluaran sudah ada untuk perangkat.

aws --region {device_region} braket create-spending-limit --device-arn {device_arn} --spending-limit {max_spend}
Perbarui

Dengan perintah AWS CLI berikut, Anda dapat memperbarui batas pengeluaran yang ada ke nilai pengeluaran maksimum yang baru. Permintaan ditolak jika jumlah pengeluaran saat ini dan pengeluaran antrian sudah lebih tinggi dari pengeluaran maksimum baru yang diminta.

aws --region {device_region} braket update-spending-limit --spending-limit-arn {spending_limit_arn} --spending-limit {new_max_spend}

Anda dapat memberikan jangka waktu alih-alih, atau sebagai tambahan, pengeluaran maksimum baru, seperti pada contoh di atas.

Hapus

Dengan perintah AWS CLI berikut, Anda dapat menghapus batas pengeluaran yang ada.

aws --region {device_region} braket delete-spending-limit --spending-limit-arn {spending_limit_arn}

Anda dapat memberikan jangka waktu alih-alih, atau sebagai tambahan, pengeluaran maksimum baru, seperti pada contoh di atas.

Meskipun opsional, selalu tentukan parameter wilayah sebagai praktik terbaik. Perintah yang dijalankan di wilayah yang berbeda dari perangkat akan gagal atau, dalam kasusSearchSpendingLimits, mengembalikan hasil yang salah.

Untuk contoh selengkapnya tentang cara menggunakan batas pengeluaran, lihat contoh buku catatan.

Cara kerja validasi tugas

Saat akun AWS mengirimkan CreateQuantumTask permintaan yang valid, akun tersebut tunduk pada perilaku gating berikut. Catatan: Sisa anggaran adalah perbedaan antara batas pengeluaran dan jumlah pengeluaran antrian dan saat ini. (Lihat bagian selanjutnya)

  • Kasus 1: Tidak ada batasan pengeluaran untuk perangkat tugas: Tugas dibuat.

  • Kasus 2: Ada batas pengeluaran untuk perangkat target, dan waktu saat ini berada dalam periode waktu batas pengeluaran:

    • Jika perkiraan biaya tugas lebih rendah atau sama dengan anggaran yang tersisa: CreateQuantumTask berhasil, tugas dibuat.

    • Jika perkiraan biaya lebih besar dari anggaran yang tersisa: CreateQuantumTask gagal, dan tidak ada tugas yang dibuat.

  • Kasus 3: Ada batas pengeluaran untuk perangkat target, dan waktu saat ini berada di luar periode waktu batas pengeluaran: CreateQuantumTask gagal, dan tidak ada tugas yang dibuat.

Bagaimana anggaran yang tersisa dihitung

Anggaran yang tersisa adalah perbedaan antara batas pengeluaran dan jumlah pengeluaran saat ini dan pengeluaran antrian.

Ketika tugas dibuat untuk perangkat dengan batas pengeluaran, pengeluaran antrian dinaikkan oleh perkiraan biaya tugas. Acara ini tercantum di baris pertama dari tabel berikut. Tabel berikut menunjukkan apa yang terjadi pada pengeluaran antrian dan pengeluaran saat ini, tergantung pada perkembangan tugas.

Status tugas kuantum lama

Status tugas kuantum baru

Ubah ke pengeluaran antrian

Ubah ke pengeluaran saat ini

-

CREATED

Meningkat dengan perkiraan biaya

Tidak ada perubahan

CREATED

DIANTREKAN

Tidak ada perubahan

Tidak ada perubahan

Setiap

BERJALAN

Tidak ada perubahan

Tidak ada perubahan

Setiap

MEMBATALKAN

Tidak ada perubahan

Tidak ada perubahan

MEMBATALKAN

DIBATALKAN

Dikurangi dengan perkiraan biaya

Tidak ada chnage

Setiap

FAILED

Dikurangi dengan perkiraan biaya

Tidak ada perubahan

BERJALAN

DISELESAIKAN

Dikurangi dengan perkiraan biaya

Ditingkatkan dengan perkiraan biaya (disesuaikan untuk tugas yang diselesaikan sebagian)

Kasus tepi

T: Saat membuat batas pengeluaran, apakah tugas yang sudah ada dalam antrian dihitung terhadap pengeluaran yang diantrian?

A: Tidak. Tugas yang sudah dibuat, diantrian, atau sedang dalam proses tidak diperhitungkan dalam pengeluaran antrian dari batas pengeluaran yang baru dibuat.

T: Apakah menurunkan batas pengeluaran, dengan memperbaruinya, menyebabkan penghentian dini tugas kuantum yang dibuat, antrian, atau sedang berlangsung?

A: Tidak.

T: Apakah mencapai waktu akhir dari batas pengeluaran menyebabkan penghentian dini tugas kuantum yang dibuat, antrian, atau sedang berlangsung?

A: Tidak. Tugas yang dibuat, diantrian, dan dalam proses diizinkan untuk diselesaikan secara independen dari status batas pengeluaran.

T: Bagaimana kurangnya batas pengeluaran berbeda dari batas pengeluaran nol dolar?

J: Tidak ada batas pengeluaran yang memungkinkan pembuatan tugas kuantum tanpa batasan. Batas pengeluaran dengan nol dolar memblokir semua tugas kuantum.

T: Apakah batas pengeluaran nol di masa lalu atau future memblokir semua pembuatan tugas kuantum?

J: Ya.

T: Saat membuat batas pengeluaran, akankah perkiraan biaya tugas yang sudah ada dalam antrian dihitung terhadap pengeluaran saat ini setelah tugas tersebut selesai?

A: Tidak. Hanya tugas yang diajukan saat batas pengeluaran aktif dihitung terhadap akumulasi pengeluaran.

Pelacakan biaya mendekati waktu nyata

Braket SDK menawarkan opsi untuk menambahkan pelacakan biaya mendekati waktu nyata ke beban kerja kuantum Anda. Setiap contoh notebook kami menyertakan kode pelacakan biaya untuk memberi Anda perkiraan biaya maksimum pada unit pemrosesan kuantum (QPUs) Braket dan simulator sesuai permintaan. Perkiraan biaya maksimum akan ditampilkan dalam USD dan tidak termasuk kredit atau diskon apa pun.

catatan

Biaya yang ditampilkan adalah perkiraan berdasarkan simulator Amazon Braket dan penggunaan tugas unit pemrosesan kuantum (QPU) Anda. Perkiraan biaya yang ditampilkan mungkin berbeda dari biaya aktual Anda. Perkiraan biaya tidak memperhitungkan diskon atau kredit apa pun dan Anda mungkin mengalami biaya tambahan berdasarkan penggunaan layanan lain seperti Amazon Elastic Compute Cloud (Amazon EC2).

Pelacakan biaya untuk SV1

Untuk menunjukkan bagaimana fungsi pelacakan biaya dapat digunakan, kami akan membangun sirkuit Bell State dan menjalankannya di SV1 simulator kami. Mulailah dengan mengimpor modul Braket SDK, mendefinisikan Bell State dan menambahkan Tracker() fungsi ke sirkuit kami:

#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})

Saat menjalankan Notebook, Anda dapat mengharapkan output berikut untuk simulasi Bell State. Fungsi pelacak akan menunjukkan jumlah bidikan yang dikirim, tugas kuantum yang diselesaikan, durasi eksekusi, durasi eksekusi yang ditagih, dan biaya maksimum Anda dalam USD. Waktu eksekusi Anda dapat bervariasi untuk setiap simulasi.

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')

Menggunakan pelacak biaya untuk mengatur biaya maksimum

Anda dapat menggunakan pelacak biaya untuk menetapkan biaya maksimum pada suatu program. Anda mungkin memiliki ambang batas maksimum untuk berapa banyak yang ingin Anda belanjakan untuk program tertentu. Dengan cara ini, Anda dapat menggunakan pelacak biaya untuk membangun logika kontrol biaya dalam kode eksekusi Anda. Contoh berikut mengambil sirkuit yang sama pada Rigetti QPU dan membatasi biaya hingga 1 USD. Biaya untuk menjalankan satu iterasi sirkuit dalam kode kami adalah 0,30 USD. Kami telah menetapkan logika untuk mengulangi iterasi sampai total biaya melebihi 1 USD; karenanya, cuplikan kode akan berjalan tiga kali sampai iterasi berikutnya melebihi 1 USD. Umumnya, sebuah program akan terus iterasi hingga mencapai biaya maksimum yang Anda inginkan, dalam hal ini - tiga iterasi.

device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-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/Ankaa-3': {'shots': 600, 'tasks': {'COMPLETED': 3}}} 1.4400000000 USD
catatan

Pelacak biaya tidak akan melacak durasi untuk tugas TN1 kuantum yang gagal. Selama TN1 simulasi, jika latihan Anda selesai, tetapi langkah kontraksi gagal, biaya latihan Anda tidak akan ditampilkan di pelacak biaya.

Praktik terbaik untuk menghemat biaya

Pertimbangkan praktik terbaik berikut untuk menggunakan Amazon Braket. Hemat waktu, minimalkan biaya, dan hindari kesalahan umum.

Verifikasi dengan simulator

  • Verifikasi sirkuit Anda menggunakan simulator sebelum Anda menjalankannya pada QPU, sehingga Anda dapat menyetel sirkuit Anda tanpa mengeluarkan biaya untuk penggunaan QPU.

  • Meskipun hasil dari menjalankan sirkuit pada simulator mungkin tidak identik dengan hasil dari menjalankan sirkuit pada QPU, Anda dapat mengidentifikasi kesalahan coding atau masalah konfigurasi menggunakan simulator.

Batasi akses pengguna ke perangkat tertentu

  • Anda dapat mengatur pembatasan yang mencegah pengguna yang tidak sah mengirimkan tugas kuantum pada perangkat tertentu. Metode yang disarankan untuk membatasi akses adalah dengan AWS IAM. Untuk informasi lebih lanjut tentang cara melakukannya, lihat Batasi Akses.

  • Kami menyarankan agar Anda tidak menggunakan akun admin Anda sebagai cara untuk memberikan atau membatasi akses pengguna ke perangkat Amazon Braket.

Atur alarm penagihan

  • Anda dapat mengatur alarm penagihan untuk memberi tahu Anda ketika tagihan mencapai batas preset. Cara yang disarankan untuk mengatur alarm adalah melalui AWS Budgets. Anda dapat mengatur anggaran khusus dan menerima peringatan ketika biaya atau penggunaan Anda mungkin melebihi jumlah yang dianggarkan. Informasi tersedia di AWS Budgets.

Uji tugas TN1 kuantum dengan jumlah tembakan rendah

  • Simulator harganya lebih murah daripada QPUs, tetapi simulator tertentu bisa mahal jika tugas kuantum dijalankan dengan jumlah tembakan tinggi. Kami menyarankan Anda menguji TN1 tugas Anda dengan shot hitungan rendah. Shothitungan tidak mempengaruhi biaya untuk SV1 dan tugas simulator lokal.

Periksa semua Wilayah untuk tugas kuantum

  • Konsol menampilkan tugas kuantum hanya untuk Anda saat ini Wilayah AWS. Saat mencari tugas kuantum yang dapat ditagih yang telah dikirimkan, pastikan untuk memeriksa semua Wilayah.

  • Anda dapat melihat daftar perangkat dan Wilayah terkaitnya di laman dokumentasi Perangkat yang didukung.